Alta disponibilidad: Introducción

Esta entrada es la primera de varias que escribiré sobre sistemas en alta disponibilidad, siendo esta una introducción a los conceptos básicos necesarios para comprender qué es y para qué sirve. Los artículos se centrarán en la alta disponibilidad de programas informáticos (o software).

La entrada servirá tanto a usuarios nóveles o personas que gestionan servicios informáticos y que no son técnicos como a introducidos en la materia que quieran refrescar su memoria o corregirme en aquello que crean conveniente.

Según avancen las entradas, estas serán mas técnicas y requerirán de un mayor conocimiento. El uso de la consola en una distribución Linux, la instalación de software y la edición de ficheros en ella serán requisitos indispensables.

A lo largo de ellas se configuraran algunos servicios en alta disponibilidad, como servidores web o servidores de bases de datos, de forma que puedan plasmarse los conceptos de estas entradas en algo tangible y que pueda llevarse a la práctica teniendo un componente teórico.

Tras esta introducción, comencemos.

Un mundo de servicios informáticos

La informática de hoy en día no puede concebirse sin eso que llamamos “servicios”. Los servicios son una mezcla de programas de ordenador y aparatos que están funcionando el 100% del tiempo, permanentemente conectados a una red informática y cuya misión es la transformación y transmisión de información.

Si alguno de esos programas o aparatos no se encuentran en funcionamiento, entonces no podrá utilizarse el servicio y no podremos obtener o transformar la información que queremos.

Un servicio puede ser tan simple como un único programa en un único servidor (o PC doméstico) o muy complejo como para estar formado por múltiples programas y aparatos. Sitios tan populares como Google o Facebook ejecutan muchos programas en miles de servidores y aparatos para prestar sus servicios de búsqueda, mapas, fotografías, red social, etc.

Cuando hablamos de servicio nos referimos a todas las cosas necesarias (programas, aparatos, etc.) que lo componen para que pueda ser utilizado.

Algunos programas que prestan servicios pueden ser “Apache HTTPD Server” que permite servir páginas web con un único programa, o Postfix que sirve correo electrónico y utiliza múltiples programas para ello. Ambos pueden ejecutarse en un único servidor o PC doméstico.

¿Qué es la disponibilidad?

Antes de poder responder a qué es la alta disponibilidad, hemos de saber que es la disponibilidad.

Este término, en el mundo informático, hace referencia a que un servicio existente sea accesible. Un servicio típico puede ser un servidor web, donde hay páginas alojadas que son accedidas desde navegadores web, como este blog.

Cuando un usuario a través de su navegador web intenta visitar una página existente -la hemos escrito correctamente- y esta no carga, decimos que “no está disponible” o que “está caída” y no podemos visualizarla.

Por tanto, “disponibilidad” es aquello que permite que un servicio existente pueda ser accedido y utilizado sin inconveniente.

Tiempo de disponibilidad

La disponibilidad se puede medir en un porcentaje de tiempo anual, en minutos. De 0% (0 minutos) a 100% (525600 minutos, aproximadamente). Un 1% corresponde a 5256 minutos u 87,6 horas o 3,65 días.

A este porcentaje lo llamamos “tiempo de disponibilidad” o “(service) uptime”. Y al tiempo en el cual el servicio no ha estado disponible lo llamamos “tiempo de indisponibilidad”, “tiempo de caída” o “downtime”.

En algunos servicios se calcula desde el primer día del año y en otros se calcula en periodos anuales desde el día su activación.

¿Qué es la alta disponibilidad?

Podemos definir la alta disponibilidad como la técnica utilizada para prestar un servicio de forma ininterrumpida, permitiendo que uno o más elementos (programas, servidores, aparatos de red, etc.) de ese servicio se encuentren en estado de fallo sin que ello repercuta en el funcionamiento o no sea perceptible para el usuario final.

La alta disponibilidad se consigue a través de la redundancia de los elementos que conforman el servicio: aparatos de red (switches, routers), servidores y componentes de servidor (dos o más discos duros, dos o más módulos de memoria RAM del tipo ECC, dos o más procesadores, dos o más fuentes de alimentación) conectados a dos o más tomas eléctricas en dos o más regletas -cada una de un proveedor eléctrico independiente-, etc.). Y lo mas importante: que los programas que prestan el servicio estén listos en toda esa infraestructura redundada para funcionar.

En Wikipedia hay también un artículo dedicado a la alta disponibilidad.

¿Para qué sirve la alta disponibilidad?

Desde un punto de vista de usuario, gracias a los servicios en alta disponibilidad podemos acceder a un servicio en cualquier momento y darle uso.

Para un profesional o empresa, la alta disponibilidad se traduce en una mejor imagen profesional. ¿Qué ocurriría si nuestros usuarios no pudieran acceder a nuestra página web? No podrían visualizarla. Y, ¿qué ocurriría si, además, somos proveedores de alojamiento y dejamos a muchos usuarios sin sus páginas web accesibles? Muchos usuarios que han depositado su confianza en nuestra empresa verán como durante un intervalo de tiempo sus páginas no serán accesibles con los perjuicios que eso podría provocarles; y a la empresa, si debe compensar económicamente por la indisponibilidad.

Podría ser mas trágico: Imaginemos que un servicio de un banco que se encarga de mover dinero de una entidad a otra deja de funcionar; o el servicio que abona las nóminas a los empleados; o el servicio de intercambio de información entre consultas médicas.

La alta disponibilidad permite que los servicios siempre estén disponibles. A un usuario le permite disfrutar de ellos, y a un profesional o empresa asegurarse de que sus servicios siempre puedan ser disfrutados el máximo tiempo posible, intentando que sea muy cercano al 100%.

 

¡Tengo un blog! (una vez más)

Ha llovido mucho desde el 26 de Septiembre de 2007. Aquél día fue el último que escribí en mi antiguo blog, salvo algún escarceo en Marzo de 2009.

Llevo dándole vueltas a retomar un blog desde poco después. O a tomarlo, porque en varios intentos lo mas próximo que estuve fue durante aquel 2007. Utilicé blogger, bitácoras.com, mi propio dominio (blog.daijo.org) con DrupalWordPress  y al final por una razón u otra: nada.

8 años después es un buen momento para ello. Uno ya pasa la treintena y se plantea que debe hacer lo que quiere hacer y no hace sin razón justificada más que su propio yo luchando contra sí mismo para ponerse o no a ello.

Hoy, 19 de Julio de 2016, con 40ºC de agradable temperatura en Ciudad Real, retomo mi blog. No tengo marcado ningún ritmo de publicación, cada entrada aparecerá cuando considere que está lista para ser publicada y comentada.

Antaño el blog tuvo como título (o subtitulo, según la época) “El Caldero de Temas”. Al igual que por entonces, mezclaré temáticas variadas: informática técnica, puntos de vista y opiniones personales, gestión de equipos, algo de como deberían ser las empresas de hoy en día del mundo informático “según yo”, etc. Soy un clásico mezclando churras con merinas.

En esta ocasión intentaré que las entradas aparezcan tanto en Español como en Inglés, según me permita el tiempo y para lo que utilizaré el complemento WPML. Tengo como objetivo mejorar mi inglés escrito y el uso de expresiones de forma correcta y agradeceré que en las traducciones todo aquel que encuentre fallos de expresión o escritura me lo indique.

Estuve tentado de reinsertar las entradas viejas de los blogs que tuve en blog.daijo.org, sin embargo, estas están indexadas gracias a la máquina del tiempo de archive.org. Los enlaces son los siguientes:

– Entre Diciembre de 2005hasta mayo de 2006 (utilizando Drupal).

– Entre Diciembre de 2006 y Octubre de 2007 (utilizando WordPress)

No debo olvidarme de que para cumplir con la legislación Española, he adaptado la plantilla de “Aviso Legal y Política de Privacidad” que ofrece la web “Ciudadano 2.0” en su zona de descargas gratuitas para sus lectores. Gracias a su autora, Raquel Rubín, por compartirla.