¡Deja de adivinar la capacidad de cómputo en tu centro de datos!

¿Has comprado servidores en tu centro de datos para darte cuenta muy pronto que necesitabas más capacidad?

Que tal si te has dado cuenta de que necesitabas menos capacidad y estas desperdiciando tu hardware por haber cometido algún error en el cálculo del aprovisionamiento de infraestructura. 

Hoy en día estos problemas se resuelven fácilmente al tener tu infraestructura en la nube de Amazon Web Services y aprovechar las funcionalidades de AWS EC2 Auto Scaling. EC2 es el servicio para aprovisionar instancias en AWS (capacidad de cómputo, comúnmente conocidas en los centros de datos como máquinas virtuales), y AWS EC2 Auto Scaling te permite crear una configuración para aprovisionar automáticamente más instancias EC2 basadas en la misma imagen cuando ciertas métricas disparen un evento de escalamiento. De igual forma, puedes configurar eventos que reduzcan el número de instancias para reducir costos. 

¿Mis aplicaciones podrán utilizar AWS EC2 Auto Scaling? 

Es importante mencionar el aspecto arquitectónico de una aplicación que correrá en una instancia de EC2. Cuando hablamos de AWS EC2 Auto Scaling, estamos hablando de que el servicio creará instancias basadas en la misma imagen (AMI), es decir, estas instancias pertenecerán a un grupo AWS EC2 Auto Scaling que serán creadas a partir de la misma imagen. 

Debes de considerar que tu instancia EC2 es reemplazable y puede ser seleccionada para terminación si se cumplen los parámetros de configuración del grupo AWS EC2 Auto Scaling. Es decir, tu grupo puede empezar teniendo 2 instancias EC2, después crecer a 4 instancias, y después ser reducido a 2 instancias. En este ejemplo, 2 instancias fueron removidas o terminadas, por lo cual debes de considerar si tu aplicación puede soportar la terminación de dichas instancias. 

Hazte las siguientes preguntas: 

  • ¿Mi aplicación guarda información valiosa en el almacenamiento local que no es replicada en un lugar central? 
  • ¿Hay una base de datos en la imagen que usaran mis instancias en el grupo de Auto Scaling? 
  • ¿Mi aplicación guarda sesiones de usuario en la instancia? 

Si contestaste que si a alguna de estas preguntas tienes que revisar la arquitectura de tu aplicación en un ambiente de múltiples instancias EC2 para asegurarte que tu aplicación no tendrá ningún problema si hay varias “copias” de la misma imagen de tu máquina virtual corriendo en EC2. 

¿Cómo funciona el proceso de auto escalado de instancias EC2? 

Hay diferentes formas por las que tu grupo de instancias puede cambiar de tamaño: 

  1. Basado en la demanda. Esta es la opción tradicional de utilizar AWS EC2 Auto 

Scaling. Puedes monitorear una métrica de tus instancias EC2 y establecer reglas de escalamiento para cambiar el tamaño de tu grupo de instancias. Por ejemplo, puedes establecer una regla de escalamiento cada vez que la utilización de CPU es mayor a 75% y aprovisionar una instancia adicional. Puedes crear una regla para reducir la capacidad cuando la utilización de CPU sea menor a 25%. Es importante mencionar que estas reglas no agregaran o terminaran instancias fuera de los límites configurados del tamaño del grupo auto escalable, es decir, si tu grupo tiene un mínimo de 1 instancia y máximo 2, nunca tendrás 3 instancias, aunque la utilización de CPU supere 75% como en el ejemplo anterior. 

  1. Basado en un horario programado. Puedes definir cuántas instancias quieres tener a cierta hora del día. Esta opción es recomendable cuando sabes de antemano cuándo será tu hora pico y provisionar más instancias antes de este tiempo para manejar el tráfico previsto. De igual forma, puedes programar reducir la capacidad después de la hora pico para regresar al tamaño original. 
  2. Basado en políticas de escalado de seguimiento de destino. Esta es una buena opción si quieres asegurar siempre que la utilización de tus instancias sea uniforme sin importar si hay poco o mucho tráfico. Es decir, puedes establecer una política de seguimiento de 40% de utilización de CPU y el servicio se encargará de monitorear las métricas para mantener la utilización del CPU muy cerca del 40%. 

Como puedes ver es muy fácil utilizar AWS EC2 Auto Scaling, solo debes recordar que tu aplicación estará corriendo dentro de tus instancias debe de estar preparada para correr en un ambiente de múltiples instancias y que este tipo de instancias son consideradas efímeras y no deben de almacenar información valiosa que no quieras perder, debes de almacenar tu información en un lugar central fuera de tus instancias. 

Viniza te puede ayudar a crear una solución de auto escalado para tus aplicaciones, contáctanos para ayudarte a diseñar una solución AWS EC2 Auto Scaling en tu ambiente AWS.

Suscríbete a nuestro newsletter

Explora nuestras entradas de blog.

Migración
Angel Soto

Estrategias de migración a la nube

Dentro del proceso de migración a la nube puedes encontrarte con distintos caminos los cuales te llevarán a situaciones y resultados que seguramente funcionarán, lo

Read More »
Amazon Web Services
Angel Soto

AWS y Viniza para PyMEs

En esta entrada de blog vamos a explicar la mayor cantidad de beneficios que puede tener una empresa pequeña y mediana en la nube de

Read More »