¿Qué es Auto Scaling?

Auto scaling es un método asociado a la computación en la nube que aumenta o disminuye automáticamente la cantidad de recursos que tiene en su aplicación, en cualquier momento según sus necesidades. Antes de usar la computación en la nube, era muy difícil escalar automáticamente una instalación de servidor. En un entorno de alojamiento físico, sus recursos de hardware son limitados, por lo que experimentaremos una degradación del rendimiento en la aplicación o nuestra aplicación se bloqueará.

Hoy en día, la computación en la nube permite crear una configuración de servidor escalable. Si la aplicación necesita más potencia de procesamiento, el escalado automático proporciona a los usuarios la capacidad de usar y terminar recursos adicionales según sea necesario. El escalado automático proporciona una forma eficaz de usar recursos solo cuando sea necesario, garantiza que la aplicación tenga la capacidad cuando la demanda aumenta/disminuye y, lo que es más importante, le ahorra potencialmente pagar por más de lo que su organización necesita. Vamos a profundizar en el escalado automático, cómo funciona y los beneficios que ofrece a las organizaciones.

 

Por qué Auto Scaling es necesario

El escalado automático es muy funcional cuando la aplicación necesita recursos de servidor adicionales para acomodar el número de solicitudes de página o representación. Le ofrece una capacidad escalable para escalar o reducir automáticamente para satisfacer sus necesidades. El escalado automático ofrece las siguientes ventajas:

  • El escalado automático permite que algunos servidores entren en modo de suspensión durante los tiempos de carga bajos, lo que reduce los costos.
  • Mayor tiempo de actividad y mayor disponibilidad cuando las cargas de trabajo varían.
  • En el sitio front-end, proporciona la capacidad de escalar en función del número de solicitudes entrantes.
  • En el back-end, proporciona escala en función del número de trabajos y cuánto tiempo han estado los trabajos en la cola de la cola.

 

Uso de LoadView para garantizar que Auto Scaling funciona correctamente

LoadView es una solución de prueba de carga basada en web que puede probar todo, desde API y páginas web, hasta escenarios de usuario complejos dentro de aplicaciones web internas / externas. Loadview comparte con las pruebas que ejecuta informes que ayudan a encontrar problemas y fallos que ralentizan o retrasan nuestro sistema. Al realizar pruebas de carga de páginas web, por ejemplo, puede probar una página específica con cientos o miles de usuarios simultáneos para ver cómo funciona la página en niveles de carga específicos.

Al probar rutas de usuario, LoadView, junto con EveryStep Web Recorder, convierte la pantalla en un script para probar interacciones en tiempo real con aplicaciones, capturar todas las acciones realizadas y reproducirse bajo carga.

 

Configuración de LoadView

Para nuestro ejemplo, probaremos una aplicación interna. Al probar aplicaciones internas, las direcciones IP deben incluirse en la lista blanca antes de realizar pruebas de carga en aplicaciones internas. A través de los inyectores de carga, podemos incluir IPs en la lista blanca y realizar pruebas contra numerosos usuarios simultáneos.

Se abre la página principal de LoadView y verá varias opciones diferentes, como Aplicaciones web, API, Páginas web, Transmisión de medios, etc. Seleccionaremos la opción Página Web.

Web Page Test

 

Se abre una nueva página donde podemos añadir el tiempo deseado para ejecutar la prueba de carga, añadir el nombre de host de nuestra web interna, nuestro navegador, etc. Después de introducir sus datos, haga clic en el botón Crear dispositivo.

Prueba de carga de aplicaciones internas

 

Después de crear correctamente un dispositivo, verá la pantalla Escenario de prueba donde puede establecer y definir el tipo de carga, cargar ubicaciones de inyectores, etc. A continuación, seleccionaremos la opción Cargar curva de paso.

Curvas de carga de carga de aplicaciones internas

 

LoadView comenzará a comprobar si tiene acceso a la aplicación interna. Seleccione Proxy estático e incluya sus direcciones IP de la lista blanca y seleccione Agregar zonas para elegir las regiones en las que queremos el tráfico generado. De hecho, la plataforma LoadView puede ayudar a probar aplicaciones web, páginas web, API y otros servicios web que residen solo dentro de su red, detrás del firewall.

Los usuarios de LoadView tienen algunas opciones para elegir, como incluir direcciones IP en la lista blanca o instalar un agente local si las organizaciones no pueden abrir su red al tráfico entrante por razones de seguridad. Para obtener más información sobre las pruebas de carga desde detrás de un firewall,visite nuestra Base de conocimiento.

 

Proxy estático

 

Cuando haya terminado, seleccione Iniciar prueba. Necesitamos encontrar IP estáticas en la parte Lista de agentes de esta pantalla; Cargue creadores para acceder a aplicaciones internas que deben llevarse a la lista blanca. Puede encontrar las direcciones IP estáticas en la lista de agentes en esta pantalla para acceder a las aplicaciones internas que deben llevarse a la lista blanca.

Resumen de la prueba de carga de aplicaciones internas

 

Mientras se ejecuta la prueba, los inyectores recuperan nuevas direcciones IP únicas de la lista blanca cada vez. Podemos ver el rendimiento a través de paneles y gráficos de las pruebas que hemos creado en nuestra aplicación tomando las IPs estáticas en la lista blanca. A continuación se muestra un ejemplo.

Promedio de tiempo medio de respuesta de los usuarios

Paralelo Número promedio de usuarios con gráfico de tiempo de respuesta promedio.

 

 

Supervise recursos adicionales en AWS a medida que aumenta la carga

 

Métricas de CloudWatch

Con CloudWatch, podemos obtener estadísticas sobre los datos. Utilizamos métricas para comprobar que nuestro sistema funciona según lo esperado. Puede crear una alarma de CloudWatch para realizar un seguimiento de una métrica específica y recibir notificaciones de alarma en su correo. El equilibrio de carga solo notifica datos a CloudWatch cuando las solicitudes pasan por el balanceador de carga y mide las métricas de Elastic Load Balancing cada minuto y las envía a CloudWatch.

 

Métricas de CloudWatch

 

Vea las métricas de CloudWatch en su Load Balancer

Puede ver las métricas de CloudWatch de los balanceadores de carga mediante la consola de EC2. Si el equilibrador de carga está habilitado y recibe solicitudes, podemos ver los puntos de datos.

 

Registros de acceso

A través de los registros de acceso, podemos analizar el tráfico y utilizarlos para solucionar nuestros problemas. También podemos almacenar las solicitudes que realizamos a nuestro balanceador de carga en Amazon S3 como archivos de registro.

 

Seguimiento de solicitudes

El equilibrador de carga agrega un identificador de seguimiento para cada solicitud que recibe, por lo que puede supervisar las solicitudes HTTP.

 

Registros de CloudTrail

Con CloudTrail, se pueden seguir los registros de transacciones realizadas por las cuentas de todos los usuarios. De este modo, puede gestionar las solicitudes de autorización y acceso.

 

Garantizar que no se des degrada la experiencia del usuario con Auto Scaling

CloudWatch Synthetics le permite supervisar el rendimiento del usuario. Proporciona una mejor visión general del rendimiento y la facilidad de uso, para que pueda detectar problemas antes y responder más rápido, aumentando así el placer del cliente y asegurándose de que su aplicación pueda responder mejor a las solicitudes. Los canarios se utilizan para dejarnos con la alerta temprana. Para el uso de Canary, hacemos clic en Canarios en la consola de CloudWatch donde podemos observar el estado de todos los canarios en una sola pantalla.

 

CloudWatch Canaries

 

Examinemos el rendimiento de los canarios en los datos. Para ello, cuando examinamos puntos de datos individuales en la sección de ejecución de Canary, puede ver que cada punto de referencia es la suma de los estudios realizados para un canario.

En la captura de pantalla siguiente, puede ver que hay un asunto TimeoutError durante 24 horas. También podemos ver capturas de pantalla obtenidas con archivos y registros HAR. Dentro de cada registro HAR vemos los tiempos transcurridos para las respuestas y solicitudes y solicitudes HTTP realizadas para Canary.

 

Archivo HAR de CloudWatch

 

Las tareas canarias se realizan mediante funciones lambda. Desde la pestaña Métricas puede acceder a las métricas de ejecución de la función.

 

Sombreado de un canario

Para crear un canario, presionamos el canario para crearlo. Podemos seleccionar en las casillas de verificación, cargar el script existente o importar desde Amazon S3.

CloudWatch Crear Canario

 

Como resultado de los métodos que creamos, se crea la ejecución del script una vez o la ejecución periódica. Podemos usar los métodos GET o PUT, encabezados HTTP solicitados al crear canarios para puntos de conexión de API. También podemos crear nuestro proceso de construcción canaria a través de GUI. Podemos dar fácilmente nuestras características canarias. Los scripts canary utilizan el tiempo de operación syn-1.0. Puede ver el script de ejemplo a continuación.

Canary Script

 

Dentro de los scripts, podemos ver los resultados y errores correctos como excepciones. Creamos el período de retención de datos para el script. Elegimos el cubo S3 para las estructuras que se formarán después de cada trabajo de nuestro canario. Durante la creación de nuestro canary, también podemos establecer algunas de las instalaciones, como el rol IAM (Identity and Access Management), CloudWatch Alarms, VPC (Virtual Private Cloud) Settings y Tags.

 

Conclusión: Pruebas de Auto Scaling en AWS

Con el fin de evitar que nuestros usuarios se vean afectados negativamente debido a la degradación, podemos utilizar Canary para detectar los posibles problemas antes de los usuarios, registrarlos e intervenir en la etapa anterior y responderlos más rápido. Además, gracias a las alarmas proporcionadas en nuestros canarios podemos aumentar las fuentes cuando sea necesario, lo que también evita que los usuarios se vean afectados negativamente.

Aún más, con el fin de maximizar la satisfacción del cliente y asegurarse de que sus aplicaciones pueden responder mejor a las solicitudes, CloudWatch Synthetics, combinado con la plataforma LoadView, puede ayudarle a obtener una mejor visión general del rendimiento y la facilidad de uso y garantizar que el escalado automático funcione según lo previsto durante las pruebas de carga.

Regístrese para la prueba gratuita de LoadView y comience a probar el rendimiento de todas sus páginas web, aplicaciones y API hoy mismo.

O si desea ver la solución LoadView en acción primero, regístrese y cualquier otra persona de su equipo, para una demostración privada con uno de nuestros ingenieros de rendimiento. Proporcionarán una demostración completa, que abarcará todo, desde la creación y edición de scripts de pruebas de carga, hasta la configuración y ejecución de los escenarios de prueba de carga y el análisis de informes. Programe su demostración.