La escalabilidad se refiere a la capacidad de una solución de software para administrar cargas de trabajo crecientes. En términos simples, es la capacidad de un sistema para agregar fácilmente recursos de procesamiento adicionales para manejar el aumento de las cargas.
Escalar Amazon EC2 significa que comienza con los recursos que necesita al momento de iniciar su servicio y crea su arquitectura para escalar hacia adentro o hacia afuera automáticamente, en respuesta a la demanda cambiante. Como resultado, solo paga por los recursos que realmente utiliza. No tiene que preocuparse por quedarse sin poder de cómputo para satisfacer la demanda de su consumidor.
Veamos un ejemplo. Supongamos que intenta acceder a un sitio web y funciona perfectamente sin latencia. Ahora, en las horas pico, el mismo sitio web no se carga o se agota con frecuencia. Esto se debe al hecho de que el sitio web comenzó a recibir más requests de las que podía gestionar.
Ese es el punto en el que Amazon EC2 Autoscaling entra en escena. Puede utilizar Amazon EC2 Auto Scaling para agregar o eliminar instancias de Amazon EC2 con respecto a los cambios en la demanda de su aplicación. Puede mantener una mayor sensación de disponibilidad de la aplicación escalando dinámicamente sus instancias hacia adentro y hacia afuera según sea necesario.
Puede utilizar tres técnicas de escalado dentro de Amazon EC2 Auto Scaling, es decir, Dynamic Scaling, Predictive Scaling y Scheduled Scaling. Se explican en detalle a continuación:
1. Dynamic Scaling se adapta a entornos cambiantes y responde con las instancias EC2 según la demanda. Ayuda al usuario a seguir la curva de demanda de la aplicación, lo que finalmente ayuda al mantenedor/usuario a escalar las instancias con anticipación. Las políticas de escalado de seguimiento de objetivos, por ejemplo, se pueden usar para elegir una estadística cargada para su aplicación, como el uso de la CPU. Como alternativa, puede usar la nueva medida «Recuento de requests por destino» de Application Load Balancer, que es una opción de equilibrio de carga para el servicio Elastic Load Balancing. Después de eso, Amazon EC2 Auto Scaling modificará la cantidad de instancias EC2 según sea necesario para mantenerlo al día.
2. El escalado predictivo lo ayuda a programar la cantidad correcta de instancias EC2 en función de la demanda prevista. Puede usar enfoques de escalado dinámico y predictivo juntos para escalar más rápido la aplicación. Predictive Scaling pronostica el tráfico futuro y asigna la cantidad adecuada de instancias EC2 con anticipación. Los algoritmos de aprendizaje automático en Predictive Scaling identifican cambios en patrones diarios y semanales y actualizan automáticamente las proyecciones. De esta forma, se elimina la necesidad de escalar manualmente las instancias en días particulares.
3. Escalado programado , como sugiere el nombre, le permite escalar su aplicación en función del tiempo programado que establezca. Por ejemplo, el propietario de una cafetería puede contratar a más baristas los fines de semana debido al aumento de la demanda y los deja libres los días de semana debido a la reducción de la demanda.
La potencia informática es un recurso programado en la nube, por lo que puede adoptar un enfoque más flexible para escalar sus aplicaciones. Cuando agrega Amazon EC2 Auto Scaling a una aplicación, puede crear nuevas instancias según sea necesario y cancelarlas cuando ya no estén en uso. De esta forma, solo paga por las instancias que utiliza, cuando están en uso.
Beneficios de Auto Scaling EC2:
El escalado, como se mencionó, debe implementarse en una instancia EC2, para lograr una mayor flexibilidad si aumenta la demanda de aplicaciones. Analicemos cuáles son los beneficios detallados de Auto Scaling en EC2.
Un método para aprovechar al máximo la nube de AWS es incorporar Amazon EC2 Auto Scaling en el diseño de su aplicación. Las aplicaciones se benefician de lo siguiente cuando utiliza Amazon EC2 Auto Scaling:
- Amazon EC2 Auto Scaling garantiza que su aplicación tenga suficiente capacidad para manejar la demanda de tráfico actual en todo momento. Esto significa que su aplicación puede agregar o eliminar instancias nuevas y antiguas, respectivamente, con respecto a la demanda de la aplicación. La característica de agregar y terminar automáticamente las instancias según la demanda se denomina Mejor disponibilidad de la aplicación.
- Supongamos que una instancia se vuelve inestable por el momento y está en uso a pesar de este hecho. Las posibilidades de que se estrelle aumentan. Aquí viene otro caso de uso de Auto Scaling EC2. Reconocerá qué instancia no está en buen estado o, en términos técnicos, qué instancia es lenta, poco eficiente, etc., y automáticamente terminará la instancia y la reemplazará con una nueva instancia. Además, un usuario puede emplear varias zonas de disponibilidad con Amazon EC2 Auto Scaling. Si una zona deja de funcionar o falla, EC2 Auto Scaling lo compensa lanzando instancias en otras zonas. De esta manera, el tráfico se puede migrar a la otra zona en la que se agregan nuevas instancias para administrar el tráfico hasta que la zona bloqueada se recupere.
- Auto Scaling es muy rentable y debe emplearse si no está seguro del tráfico que recibirá su aplicación. Según la necesidad, Amazon EC2 Auto Scaling puede aumentar y reducir la capacidad dinámicamente. El usuario puede ahorrar dinero con esto, ya que solo de acuerdo con la demanda, se crearán nuevas instancias y se cobrarán. Tan pronto como el tráfico a la aplicación se reduce, algunas instancias se terminan y, de esta manera, usa y paga por la instancia que realmente necesita.
¿Cómo funciona el ajuste de escala automático de EC2?
Amazon EC2 Autoscaling brinda la libertad de escalar automáticamente las instancias según la demanda. Incluso si se detectan algunos problemas, el modelo reemplaza las instancias en mal estado por otras que son completamente funcionales. Para automatizar la administración de flotas para instancias EC2, Amazon EC2 Auto Scaling realizará tres funciones principales:
- Equilibrar las capacidades en diferentes zonas de disponibilidad: si su aplicación tiene tres zonas de disponibilidad, Amazon EC2 Autoscaling puede ayudarlo a equilibrar la cantidad de instancias en las tres zonas. Como resultado, cada zona recibe ni más ni menos instancias que las demás, lo que da como resultado una distribución equilibrada del tráfico y la carga.
- Reemplazo y reparación de instancias en mal estado: si las instancias no pasan la verificación de estado, el ajuste de escala automático las reemplaza con instancias en buen estado. Como resultado, se reduce el problema de las fallas de las instancias y no tendrá que verificar manualmente su estado o reemplazarlas si se determina que no están en buen estado.
- Supervisión del estado de las instancias: mientras las instancias se ejecutan, Amazon EC2 Auto Scaling garantiza que estén en buen estado y que el tráfico se asigne uniformemente entre ellas. Realiza verificaciones de estado en las instancias de forma regular para ver si están experimentando algún problema.
Publicación traducida automáticamente
Artículo escrito por itsnitish22 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA