Descripción general del escalado automático en AWS
El escalado automático, también deletreado como escalado automático o, a veces, escalado automático, es una técnica en la computación en la nube, donde la cantidad de recursos necesarios para que una granja de servidores funcione de manera eficiente, generalmente se mide a medida que el número de servidores activos aumenta o disminuye según sea necesario. en la carga en toda la granja de servidores. Podemos relacionar esto estrechamente con el equilibrio de carga. Por lo general, el autoescalado es un tipo de automatización para un proceso manual. Tomemos un escenario en el que tenga un sitio web de comercio electrónico que esté funcionando y sirviendo a los clientes de manera eficiente, ninguno de sus clientes se queje por el retraso del sitio ni pierda usuarios debido al rendimiento del sitio. A medida que el negocio crecía, usted hizo marketing y la gente se hizo más consciente de su sitio web día a día, el tráfico en el sitio web aumentaba. Por un lado, estaba contento de ver el aumento en los negocios, pero también debe ver que el sitio web debería servir a todos los clientes y no retrasarse. Supongamos que actualmente puede atender a 100 clientes a la vez, lo que significa que si 100 usuarios inician sesión en su sitio, todos pueden navegar sin problemas y comprar, y todo esto se ejecuta en una configuración fija de la supuesta instancia t2.micro de AWS. Ahora que un sitio web se está volviendo popular, espera alrededor de 250 a 300 usuarios a la vez, claramente necesita 2 servidores más donde pueda dividir el tráfico y luego todos puedan navegar correctamente.
El trabajo manual que consiste en calcular cuántos recursos necesitaría para atender a sus clientes y escalar el sistema en función de la carga sobre su granja de servidores y dividir el tráfico se realiza manualmente para el escenario anterior. Podemos decir que esto es en realidad una escala, pero no una escala automática porque se realizó manualmente, pero puede usar el servicio de Escalado automático con un equilibrador de carga en AWS que automatizará la tarea anterior y eso es lo que usted llama Escala automática o escala automática en términos de nube informática.
¿Cómo funciona el escalado automático en AWS?
En AWS hay varias entidades involucradas en el proceso de Autoescalado, que es: - Load Balancer y AMI son dos componentes principales involucrados en este proceso. Primero, necesita crear AMI de su servidor actual, en términos más simples, podemos decir que una plantilla de su configuración actual consiste en toda la configuración del sistema y el sitio web actual. Esto puede hacerlo en la sección AMI de AWS. Si vamos de acuerdo con nuestro escenario anterior y usted ha configurado la escala automática para que su sistema esté preparado para el tráfico futuro.
Cuando el tráfico comience a aumentar, el servicio de escalado automático de AWS iniciará automáticamente el lanzamiento de otra instancia con la misma configuración de su servidor actual con la ayuda de AMI de su servidor.
Luego viene la siguiente parte donde necesitamos dividir o enrutar nuestro tráfico equitativamente entre las instancias que se lanzan recientemente, esto sería atendido por el equilibrador de carga en AWS. El equilibrador de carga divide el tráfico en función de la carga sobre un sistema en particular, realizan un proceso interno para decidir dónde enrutar el tráfico.
La creación de una nueva instancia depende únicamente de un conjunto de reglas definidas por el usuario que está configurando el escalado automático. Las reglas pueden ser tan simples como la utilización de la CPU, por ejemplo, puede configurar el autoescalado cuando la utilización de la CPU alcanza el 70-80% y luego desea iniciar una nueva instancia para manejar el tráfico. Puede haber reglas para reducir también.
Componentes de autoescalado en AWS
Hay muchos componentes involucrados en el proceso de autoescalado, algunos de los cuales ya hemos nombrado anteriormente como AMI, balanceadores de carga y otros también.
Componentes involucrados en el escalado automático: -
- AMI (imagen de la máquina de Amazon)
- Equilibrador de carga
- Instantánea
- Instancia EC2
- Grupos de autoescalado
Puede haber más componentes, pero puede decir que la mayoría de los componentes que se pueden escalar pueden formar parte de Autoescaling.
1. AMI
Una AMI es una imagen ejecutable de su instancia EC2 que puede usar para crear nuevas instancias. Para escalar sus recursos, necesita que su nuevo servidor tenga toda la configuración de sus sitios web y esté listo para lanzarse. En AWS puede lograr esto con AMI, que no es más que una imagen ejecutable idéntica de un sistema que puede usar para crear nuevas imágenes y AWS usaría lo mismo en caso de autoescalado para lanzar nuevas instancias.
2. Balanceador de carga
Crear una instancia es solo una parte de la escala automática, también necesita dividir su tráfico entre las nuevas instancias y ese trabajo es manejado por Load Balancer. Un equilibrador de carga puede identificar automáticamente el tráfico a través de los sistemas a los que está conectado y puede redirigir las solicitudes según las reglas o de manera clásica a la instancia con menos carga. El proceso de dividir el tráfico entre las instancias lo llamamos equilibrio de carga. Los equilibradores de carga se utilizan para aumentar la confiabilidad de una aplicación y la eficiencia para manejar usuarios concurrentes.
Un equilibrador de carga tiene un papel muy importante en el autoescalado. Por lo general, los equilibradores de carga pueden ser de dos tipos: -
- Balanceador de carga clásico.
- Aplicación Load Balancer.
Classic Load Balancer: - Classic Load Balancer sigue un enfoque muy simple: solo distribuirá el tráfico por igual a todas las instancias. Es muy básico y hoy en día nadie usa un equilibrador de carga clásico. Podría ser una buena opción para un sitio web de página html estática simple, pero en los escenarios actuales, hay aplicaciones híbridas, o componentes múltiples y aplicaciones de alta computación que tienen numerosos componentes dedicados a un trabajo en particular.
Balanceador de carga de aplicaciones
- El tipo de equilibrador de carga más utilizado en el que el tráfico se redirige sobre la base de ciertas reglas simples o complejas que pueden basarse en "ruta" o "host" o según lo definido por el usuario.
- Sería mejor si tomamos un escenario de una aplicación de procesamiento de documentos.
- Supongamos que tiene una aplicación basada en arquitectura de microservicio o monolítica y la ruta "/ documento" es específica para un servicio de procesamiento de documentos y otras rutas "/ informes" que solo muestran los informes de los documentos que se procesan y las estadísticas sobre los datos procesados. Podemos tener un grupo de escalado automático para un servidor que es responsable de procesar los documentos y otro solo para mostrar los informes.
- En el equilibrador de carga de la aplicación, puede configurar y establecer una regla de acuerdo con una ruta que, si la ruta coincide con "/ documento", redirige a un grupo de escalado automático para el servidor 1 o si coincide con la ruta "/ informes" y luego lo redirige a un grupo de escalado automático para servidor 2. Internamente, un grupo puede tener varias instancias y la carga se distribuirá en forma clásica, por igual, entre las instancias.
3. Instantánea
La copia de los datos que tiene en su disco duro suele ser una imagen de su almacenamiento. La diferencia típica entre instantánea y AMI es una imagen ejecutable que se puede usar para crear una nueva instancia, pero la instantánea es solo una copia de los datos que tiene en su instancia. Si tiene una instantánea incremental de su instancia EC2, la instantánea sería una copia de esos bloques que se han modificado desde la instantánea anterior.
4. Instancia EC2 (Elastic Compute Cloud)
Una instancia EC2 es un servidor virtual en Elastic Compute Cloud (EC2) de Amazon que se usa para implementar sus aplicaciones en la infraestructura de Amazon Web Services (AWS). El servicio EC2 le permite conectarse a un servidor virtual con una clave de autenticación a través de una conexión SSH y le permite instalar diferentes componentes de su aplicación junto con su aplicación.
5. Grupo de autoescalado
Es un grupo de instancias EC2 y el núcleo de Amazon EC2 AutoScaling. Cuando crea un grupo de AutoScaling, debe proporcionar información sobre las subredes y un número inicial de instancias con las que desea comenzar.
Conclusión
Del contenido anterior, tenemos una buena idea de lo que es el autoescalado y lo importante que es en el mundo de hoy.
- Si vemos que la tecnología y las demandas de los usuarios aumentan día a día y también sus expectativas de una aplicación rápida y eficiente.
- Una gran aplicación es rápida, le brinda una buena experiencia de usuario y hace las cosas para las cuales está construida, y para lograr esto necesita un back-end y una pila de tecnología muy robustos.
- Después de que esté en el negocio y sea un éxito, es muy probable que su base de usuarios aumente y habrá situaciones para manejar usuarios concurrentes en el momento en que necesite escalar automáticamente para escalar y reducir según las situaciones para brindar a sus usuarios una experiencia perfecta.
Desde mi punto de vista, el escalado es un aspecto muy importante en el mundo de hoy y hoy o mañana necesitamos hacerlo, así que vaya con el escalado automático de AWS y amplíe sus productos.
Artículos recomendados
Esta es una guía de ¿Qué es AutoScaling en AWS? Aquí hemos discutido su definición, funcionamiento y diferentes componentes de autoescalado en AWS. También puede consultar el siguiente artículo para obtener más información:
- ¿Qué es AWS RedShift?
- ¿Qué es StringBuilder en C #?
- Guía completa de pruebas funcionales
- ¿Qué es el desarrollador de back end?
- Servicios de almacenamiento de AWS