Resumen
Estos son algunos de los puntos clave que se han presentado en este módulo sobre la elasticidad:
- Las máquinas virtuales y otros recursos en la nube rara vez experimentan cargas constantes. En su lugar, experimentan cargas variables, que en ocasiones varían en un orden de magnitud o más con el paso del tiempo.
- El ajuste de la capacidad de proceso para adaptarse a las cargas máximas garantiza la calidad del servicio (QoS), pero conlleva un aumento de los costes y del consumo de energía.
- La elasticidad se refiere a la capacidad de agregar recursos para administrar cargas superiores y quitar recursos cuando la carga se reduce.
- La elasticidad se logra en la nube mediante el escalado de los recursos, como las máquinas virtuales y las bases de datos.
- Con la reducción y el escalado horizontales (escalado horizontal) se aumenta y se disminuye el número de recursos dedicados a una tarea (por ejemplo, se incrementa de 10 a 15 del número de máquinas virtuales que atienden a los usuarios del sitio web).
- Con el escalado y la reducción verticales (escalado vertical) se reemplazan recursos existentes por otros más o menos potentes (por ejemplo, se sustituye una máquina virtual de servidor web que contiene dos núcleos y 4 GB de RAM por una que contiene cuatro núcleos y 8 GB de RAM).
- El escalado de los recursos para satisfacer la demanda mantiene relativamente constante el uso de los recursos, reduce los costes y mejora el consumo de energía.
- El escalado automático permite que el escalado se realice en función de las reglas o las directivas que ha establecido un administrador de la nube. Las reglas o directivas pueden basarse en tiempos, en métricas o en ambos. Un ejemplo de escalado automático basado en métricas consiste en poner en línea instancias adicionales cuando el uso promedio de la CPU alcanza un umbral predeterminado, como el 70 %.
- El escalado automático basado en tiempos, conocido también como escalado automático programado, es más adecuado cuando las cargas son cíclicas y predecibles.
- El escalado automático basado en métricas puede controlar tanto las cargas predecibles como las impredecibles.
- Para implementar servicios en la nube escalables, es fundamental un equilibrio de carga eficaz.
- Los equilibradores de carga usan diferentes tipos de algoritmos para distribuir la carga, incluidos algoritmos round robin y basados en hash.
- Algunos equilibradores de carga intentan enviar solicitudes de manera más inteligente mediante el uso de métricas, como el tiempo de ejecución de solicitudes y el uso de CPU en cada nodo.
- Los equilibradores de carga también aumentan la disponibilidad al supervisar el mantenimiento de los recursos de back-end y reconocer cuándo no están disponibles estos recursos.
- Dado que un único equilibrador de carga representa un único punto de error, los equilibradores de carga se suelen implementar por parejas.
- La informática sin servidor ofrece diversas ventajas, entre las que se incluyen precios basados en el consumo, escalabilidad automática y costes administrativos reducidos.
- Un ejemplo de informática sin servidor son las funciones sin servidor, que permiten cargar código en la nube y definir cuándo se ejecuta.
- Otro ejemplo son los flujos de trabajo sin servidor, que permiten definir flujos de trabajo empresariales (por lo general, mediante diseñadores gráficos y sin necesidad de escribir código) y especificar cuándo se ejecutan.
- La informática sin servidor también se extiende a las bases de datos, que se escalan para satisfacer la demanda que se les aplica.