¿Qué es la disponibilidad de las aplicaciones?

La disponibilidad de la aplicación es la cantidad de tiempo que la aplicación está en funcionamiento.

Metas de aprendizaje

Después de leer este artículo podrás:

  • Describir el concepto de disponibilidad de la aplicación y compararla con la fiabilidad
  • Entender el concepto de tiempo de actividad, tiempo de inactividad y niveles de disponibilidad
  • Explicar los componentes de la arquitectura de alta disponibilidad

Contenido relacionado


¿Quieres saber más?

Suscríbete a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.

Revisa la política de privacidad de Cloudflare para saber más sobre cómo Cloudflare gestiona tus datos personales.

Copiar el enlace del artículo

¿Qué es la disponibilidad de las aplicaciones?

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.

Fiabilidad de las aplicaciones vs. disponibilidad

"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.

Cálculo de los niveles de disponibilidad de las aplicaciones

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

¿Qué es el tiempo de actividad? ¿Qué es el tiempo de inactividad?

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.

¿Qué afecta a la disponibilidad de las aplicaciones web?

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.

  • Ataques: los ataques de denegación de servicio distribuido (DDoS) o los ataques de bot pueden sobrecargar una aplicación y hacer que sus servicios no estén disponibles para otros usuarios, ya sea ocupando todo el ancho de banda y la potencia informática disponibles o bloqueando la aplicación por completo. Los ataques que ponen en riesgo una aplicación desde el interior, como ataques de ransomware o ataques de inyección de código SQL, también pueden hacer que una aplicación deje de funcionar.
  • Fallas de infraestructura: los servidores de alojamiento que se ralentizan o se bloquean pueden hacer que una aplicación deje de estar disponible. El rendimiento del servidor puede deteriorarse por una variedad de razones, desde fallas de hardware hasta errores de software y picos repentinos en las solicitudes. Si las solicitudes continúan dirigiéndose a servidores que funcionan lentamente o fallan, es posible que no se respondan.
  • Tráfico o uso intensivos: una aplicación puede sobrecargarse si demasiados usuarios la utilizan al mismo tiempo. Las plataformas de comercio electrónico, por ejemplo, experimentan picos de uso durante lanzamientos de productos, descuentos o temporadas de compras. Este problema puede verse agravado por el tráfico de bots.
  • Errores: los errores en el software de la aplicación pueden causar bloqueos que hagan que una aplicación no esté disponible.
  • Problemas del lado del cliente: un código ineficiente en la interfaz puede bloquear el dispositivo o el navegador de un usuario, o causar problemas de compatibilidad.

¿Qué es la alta 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.

¿Cuáles son los componentes de una arquitectura de aplicaciones de alta disponibilidad?

Load Balancing

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.

Comprobaciones de estado

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.

Redundancia y copias de seguridad

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.

Almacenaje en caché

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).

DNS confiable

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.

Supervisión de la disponibilidad de las aplicaciones

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.

¿Qué es la disponibilidad continua?

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.

¿Qué nivel de disponibilidad necesita una aplicación web ?

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 .