En la anterior entrada sobre qué es una plataforma web, mencionaba al final la escalabilidad y la disponibilidad como requisitos a tener en cuenta.
Pero ¿qué son estos conceptos y por qué son importantes?
Pero ¿qué son estos conceptos y por qué son importantes?
La escalabilidad debe formar parte del proceso de diseño de cualquier aplicación web y también de la plataforma donde se ejecute. Es muy importante tenerla en cuenta desde el primer momento en la fase de inicio porque no es una característica que se pueda agregar después.
La escalabilidad es la capacidad de mejorar recursos para ofrecer una mejora lineal en la capacidad de servicio: una aplicación escalable sólo requiere recursos adicionales (ej: más disco duro, más procesador, más RAM...) en lugar de una modificación extensiva de la aplicación en sí (este tipo de escalado se denomina vertical y es más caro y rápido).
La disponibilidad es un protocolo asociado al diseño del sistema y su implementación asegura un cierto grado de continuidad durante un determinado período de medición. La disponibilidad es la capacidad de un grupo usuarios para acceder al sistema o plataforma. El término tiempo de inactividad (en inglés downtime) es usado para definir cuándo el sistema no está disponible.
La disponibilidad suele representarse como un porcentaje del tiempo de funcionamiento en un año dado. En un año dado, el número de minutos de tiempo de inactividad no planeado es registrado para un sistema, el tiempo de inactividad no planificado agregado es dividido por el número total de minutos en un año (aproximadamente 525.600) produciendo un porcentaje de tiempo de inactividad; el complemento es el porcentaje de tiempo de funcionamiento el cual es lo que denominamos como disponibilidad del sistema. Valores comunes de disponibilidad, típicamente enunciado como número de "nueves" para sistemas altamente disponibles son:
99,9% = 43.8 minutos/mes u 8,76 horas/año
99,99% = 4.38 minutos/mes o 52.6 minutos/año
99,999% = 0.44 minutos/mes o 5.26 minutos/año