La disponibilidad de la aplicación es la cantidad de tiempo que una aplicación está en funcionamiento.
Después de leer este artículo podrás:
Contenido relacionado
Cómo evitar el tiempo de inactividad
¿Qué es la latencia?
¿Qué es el equilibrio de carga?
Algoritmos de equilibrio de carga
Conmutación por error del servidor
Suscríbase a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar enlace del artículo
La disponibilidad de las aplicaciones mide el tiempo que una aplicación está operativa. Una aplicación está disponible cuando funciona como se espera, atendiendo las solicitudes de los usuarios; una aplicación no está disponible si no funciona o no es accesible para los usuarios finales.
Para las aplicaciones web, maximizar la disponibilidad es una parte importante del desarrollo. La disponibilidad de las aplicaciones se puede mejorar mediante una combinación de optimización de la infraestructura de backend, optimización de frontend y mitigación de ataques.
Los usuarios tienen grandes expectativas en cuanto a la disponibilidad de las aplicaciones web. El tiempo de inactividad puede tener un gran impacto tanto en los ingresos como en la reputación. Pensemos en el horario de "abierto" de una tienda: si una tienda cierra a horas inesperadas, los clientes se irán a otra parte. Del mismo modo, los usuarios que no puedan obtener el servicio que necesitan de una aplicación de software dejarán de utilizar esa aplicación, lo que se traducirá en menos clientes y pérdida de ingresos.
Para las aplicaciones de empresa a empresa (B2B), la disponibilidad suele incluirse como parte de un acuerdo de nivel de servicio (SLA), expresado como un porcentaje de tiempo que se espera que la aplicación esté en funcionamiento. En estos casos, los desarrolladores de aplicaciones tienen la obligación contractual de proporcionar un determinado nivel de disponibilidad a sus clientes.
"Disponibilidad" es un concepto que se aplica a sistemas y servicios de todo tipo, desde servidores hasta aplicaciones y APIs. Se mide como un porcentaje: una aplicación que está inactiva durante 36 segundos cada hora tiene un 99% de disponibilidad.
La fiabilidad hace referencia a la capacidad de un sistema o aplicación para prestar los servicios previstos, sin errores, durante un período de tiempo. Una aplicación puede estar disponible y seguir siendo poco fiable si funciona lentamente o produce resultados inesperados o incorrectos. Volviendo a la analogía anterior, una tienda no disponible está cerrada; una tienda poco fiable está abierta, pero las estanterías pueden tener artículos en lugares equivocados.
La medición de la disponibilidad de las aplicaciones suele calcularse en el transcurso de un año natural. Esta tabla muestra cuánto tiempo de inactividad tendrá una aplicación con varios niveles de disponibilidad en un periodo de 365 días (el tiempo de inactividad es acumulativo y puede ocurrir en varios períodos diferentes, o en todos a la vez).
Disponibilidad | Tiempo de inactividad total al año |
---|---|
95 % | 18 días y 6 horas |
El 99 % | 3 días, 15 horas y 36 minutos |
99,9% | 8 horas, 45 minutos y 36 segundos |
99,99% | 52 minutos y 34 segundos |
99,999% ("los cinco nueves") | 5 minutos y 15 segundos |
El tiempo activo es cuando una aplicación se ejecuta según lo esperado. El tiempo de inactividad es cuando un dispositivo o servicio no está operativo. En muchos contextos, el tiempo activo y la disponibilidad son sinónimos.
Internet es complejo, y existen muchos factores diferentes que pueden afectar a la disponibilidad y al rendimiento de una aplicación web. Algunos de los factores están bajo el control de los desarrolladores de aplicaciones, y otros no. Sin embargo, hay varias medidas que los desarrolladores pueden adoptar para tener en cuenta y mitigar los factores que afectan a la disponibilidad.
La alta disponibilidad es un nivel de élite de disponibilidad coherente que se consigue con copias de seguridad y evitando puntos únicos de fallo. En una arquitectura de alta disponibilidad, ninguna caída de un servidor, puerta de enlace o servicio provoca una falta de disponibilidad. Una arquitectura de alta disponibilidad también debe evitar los ciberataques.
El equilibrio de carga distribuye las cargas informáticas y el tráfico de red de manera uniforme entre los grupos de servidores. Esto garantiza que ningún servidor o grupo de servidores se vea desbordado con más tráfico del que puede manejar de manera eficiente.
Hay una variedad de algoritmos de equilibrio de carga: algunos equilibradores de carga distribuyen las cargas de trabajo de manera uniforme pase lo que pase, mientras que otros utilizan algoritmos dinámicos para responder a las condiciones de la red en tiempo real y al estado del servidor.
Los servidores web inevitablemente se caen de vez en cuando. Una comprobación de estado es un servicio que supervisa si un servidor de origen está en línea o no. Las comprobaciones de estado permiten que los equilibradores de carga respondan al estado del servidor para que las solicitudes no se dirijan a un servidor que se haya desconectado.
Las aplicaciones de alta disponibilidad incorporan la redundancia en su arquitectura. Estas aplicaciones pueden volver a ser una copia de seguridad de los datos de una aplicación en caso de un ataque de ransomware o de que una base de datos deje de estar disponible por algún otro motivo. Los servicios redundantes y los grupos de servidores garantizan que el bloqueo de un servidor o de una API no afecte a la funcionalidad de la aplicación.
Los elementos estáticos de una aplicación web pueden ser servidos por una red de entrega de contenido (CDN) incluso si la infraestructura subyacente ha fallado. Una versión almacenada en caché de una aplicación web puede no tener todas las funciones, pero puede estar técnicamente disponible hasta que se restablezca el servicio completo. (Más información sobre el servicio Always Online de Cloudflare).
El Sistema de nombres de dominio (DNS) es lo que permite a los usuarios llegar a los servidores de aplicaciones a través de una red. Si el DNS deja de funcionar o deja de ser capaz de encontrar la dirección IP correcta, los usuarios no pueden cargar la aplicación. El uso de un proveedor de DNS fiable con alcance global y la capacidad de detener los ataques DDoS centrados en el DNS puede garantizar que el DNS no afecte a la disponibilidad.
El uso de una herramienta externa de supervisión de la disponibilidad de las aplicaciones puede ayudar a los proveedores de servicios a realizar un seguimiento de la disponibilidad y responder lo más rápido posible cuando sus aplicaciones dejan de funcionar.
La disponibilidad continua es un enfoque del diseño de la infraestructura informática que garantiza que una aplicación o sistema permanezca operativo de forma continua. El objetivo de la disponibilidad continua es el 100% de disponibilidad, lo que puede no ser posible a la práctica. Internet se diseñó para resistir una guerra nuclear, pero a veces el servicio de Internet sigue sin funcionar para los usuarios. No obstante, la disponibilidad continua es un objetivo valioso que ayuda a proporcionar el mejor servicio posible a los usuarios.
Cuanto más disponible esté una aplicación, mayores serán los recursos que se deben gastar en su soporte. En otras palabras, una disponibilidad del 99,999% puede resultar cara. Los desarrolladores deben decidir cuánto tiempo de inactividad tolerarán ellos o sus clientes, y desarrollar en consecuencia.
Afortunadamente, Cloudflare hace que la arquitectura de alta disponibilidad sea mucho más viable para los desarrolladores de aplicaciones. Cloudflare incluye equilibrio de carga, almacenamiento en caché, Stream Delivery, mitigación de ataques DDoS y gestión de bot integrados de forma nativa en su servicio. Cloudflare ofrece incluso una plataforma para desarrolladores que les permite crear nuevas funciones o aplicaciones completamente nuevas que se ejecutan en una red global con presencia en 330 ciudades de todo el mundo.
Descubre cómo Cloudflare puede mantener la disponibilidad de las aplicaciones.