La disponibilidad de la aplicación es la cantidad de tiempo que la 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 Load Balancing?
Algoritmos de equilibrio de carga
Conmutación por error del servidor
Suscríbete a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar el enlace del artículo
La disponibilidad de la aplicación mide la cantidad de tiempo que una aplicación está en funcionamiento. Una aplicación está disponible cuando funciona como se espera y satisface las solicitudes de los usuarios; una aplicación no está disponible si no funciona o los usuarios finales no pueden acceder a esta.
Para las aplicaciones web, maximizar la disponibilidad es un aspecto importante del desarrollo. La disponibilidad de las aplicaciones se puede mejorar si se optimizan y combinan la infraestructura de backend y frontend, y la mitigación de ataques.
Los usuarios tienen expectativas elevadas 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 apertura" de una tienda: si está cerrada a horas inusuales, los clientes se irán a otra parte. Del mismo modo, los usuarios que no pueden 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), que se expresa como un porcentaje del tiempo que se espera que la aplicación esté en funcionamiento. En estos casos, los desarrolladores de aplicaciones tienen la obligación contractual de ofrecer 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 API. Se mide como porcentaje: una aplicación que está inactiva durante 36 segundos por hora tiene una disponibilidad del 99 %.
La fiabilidad hace referencia a la capacidad de un sistema o aplicación para prestar los servicios previstos, sin errores, durante un periodo de tiempo. Una aplicación puede estar disponible y seguir siendo poco fiable, si funciona lentamente o produce resultados inesperados o incorrectos. Si volvemos a la analogía anterior, una tienda no disponible está cerrada; una tienda poco confiable está abierta, pero los artículos de las estanterías pueden estar en los lugares equivocados.
La medición de la disponibilidad de las aplicaciones suele calcularse en el transcurso de un año calendario. 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 durante varios períodos diferentes o todo al mismo tiempo).
Disponibilidad | Total de tiempo de inactividad por año |
---|---|
95 % | 18 días y 6 horas |
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 % ("cinco nueves") | 5 minutos y 15 segundos |
El tiempo de actividad es cuando una aplicación se ejecuta de la manera prevista. El tiempo de inactividad es cuando un dispositivo o servicio no está operativo. En muchos contextos, el tiempo de actividad y la disponibilidad son sinónimos.
Internet es complejo, y muchos factores diferentes pueden afectar la disponibilidad y el rendimiento de una aplicación web. Algunos de los factores están bajo el control de los desarrolladores de aplicaciones, pero otros no. Pero se pueden seguir varios pasos para mitigar los factores que afectan la disponibilidad.
La alta disponibilidad es un nivel élite de disponibilidad constante que se logra con copias de seguridad y evitando los puntos únicos de falla. 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 sobrecargado 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 siempre, 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 redundancia en su arquitectura. Estas aplicaciones pueden revertirse a una copia de seguridad de los datos de una aplicación en caso de un ataque de ransomware o en el caso 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 la funcionalidad de la aplicación.
Los elementos estáticos de una aplicación web pueden ser atendidos por una red de distribución de contenido (CDN) incluso si la infraestructura subyacente ha fallado. Es posible que una versión almacenada en caché de una aplicación web no tenga todas las funciones, pero puede estar técnicamente disponible hasta que se restablezca el servicio completo. (Obtén 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 no encuentra la dirección IP correcta, los usuarios no pueden cargar la aplicación. El uso de un proveedor de DNS confiable con alcance global y la capacidad de detener los ataques DDoS centrados en el DNS puede garantizar que el DNS no afecte la disponibilidad.
El uso de una herramienta externa de monitoreo de disponibilidad de aplicaciones ayuda a los proveedores de servicios a hacer un seguimiento de la disponibilidad y a 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 permanezcan operativos de forma continua. El objetivo de la disponibilidad continua es una disponibilidad del 100 %, lo que puede no ser posible en 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 brindar el mejor servicio posible a los usuarios.
Cuanto más disponibilidad tenga 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 costosa. Los desarrolladores deben decidir cuánto tiempo de inactividad tolerarán ellos o sus clientes, y crear de acuerdo a esto.
Afortunadamente, Cloudflare permite que la arquitectura de alta disponibilidad sea mucho más factible para los desarrolladores de aplicaciones. Cloudflare en su servicio incluye equilibrio de carga, almacenamiento en caché, stream delivery, mitigación de ataques DDoS y gestión de bot integrados de forma nativa. Cloudflare incluso ofrece 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 .