Blog

Optimización de costes en AWS con Autoscaling EC2

Dentro de las tareas que desempeñamos en STR, está la optimización de costes de las plataformas de nuestros clientes. Hoy te vamos a mostrar un ejemplo de uno de nuestros clientes utilizando datos ficticios por la privacidad del mismo.

La empresa actualmente tiene una plataforma dimensionada para afrontar su mayor pico conocido de actividad. Esto, entre otras cosas, le genera unos costes muy elevados, ya que, en la mayor parte del tiempo la actividad en la plataforma es bastante baja en comparación con los picos de tráfico que debe gestionar.

Nos centramos en las instancias que contienen la parte frontend de la aplicación,  ya que es donde se localiza la mayor parte del coste donde tienen desplegadas 20 instancias de tipo m5.2xlarge en la región de Irlanda. Teniendo en cuenta que el coste de las instancias en esta región es de 0,428 $/hora y suponiendo que un mes tiene 30 días, el coste de las instancias es de 6163,20$.

Nº de instancias Horas uso por instancia Coste $ hora por instancia Días de uso Total $
20 24 0,428 30 6163,20

Después de analizar junto con el cliente el comportamiento y requisitos de su aplicativo y revisar la actividad de la plataforma, llegamos al siguiente planteamiento en los tramos de actividad que la aplicación debía gestionar:

  • Tramos con diferentes tráficos de forma recurrente entre semana:
    • Primer tramo de actividad de 9:00 a 11:00.
    • Segundo tramo de actividad de 11:00 a 18:00.
    • Tercer tramo de actividad de 18:00 a 21:00.
    • Cuarto tramo de 21:00 a 9:00.
  • Los fines de semana la actividad es similar al cuarto tramo que sucede entre semana.

Teniendo en cuenta la información, planteamos a la empresa empezar a utilizar el servicio de Autoscaling para la parte frontend de su aplicación. De esta forma le permitirá reducir considerablemente los costes, ya que solo tendrá desplegadas las instancias que necesite en cada momento. En este caso concreto nos vamos a centrar en los Autoscaling de tipo EC2.

En este caso de ejemplo, damos por sentado que se conoce el funcionamiento y las configuraciones para poner en marcha un grupo de autoscaling con EC2 y nos vamos a centrar en la planificación y configuraciones enfocadas a la reducción/aumento de instancias de forma planificada o de forma dinámica.

Por tanto, con toda la información recopilada, el planteamiento es el siguiente:

  • La plataforma para funcionar en los momentos de menor tráfico necesita de 5 instancias. Estos momentos son los fines de semana y el tramo de 21:00 a 9:00.
  • En el tramo de 9:00 a 11:00 son necesarias 20 instancias para el correcto funcionamiento del aplicativo.
  • En el tramo de 11:00 a 18:00 son necesarias 13 instancias.
  • En el tramo de 18:00 a 21:00 son necesarias 9 instancias.

tramos_actividad_autoscaling.png

Si suponemos que un mes tiene 30 días de los cuales 22 son laborables y 8 corresponden a fines de semana, el planteamiento queda de la siguiente forma:

  Nº de instancias Horas uso por instancia Coste $ hora por instancia Días de uso Total $ Notas
  20 2 0,428 22 376,64 Tramo de 9:00 a 11:00
  13 7 0,428 22 856,86 Tramo de 11:00 a 18:00
  9 3 0,428 22 254,96 Tramo de 18:00 a 21:00
  5 12 0,428 22 564,96 Tramo de 21:00 a 9:00 (entre semana)
  5 24 0,428 8 410,88 Tramo fin de semana
Total         2463,57  

Teniendo en cuenta que inicialmente estaba pagando 6163,20$ y ha pasado a pagar 2463,57$, hemos conseguido un ahorro del 60% aproximadamente. A las programaciones anteriormente indicadas, se puede añadir políticas de autoscaling dinámicas basadas en métricas para ajustar las cargas con un grano más fino en base al uso real de la plataforma.

Este es un punto de partida enfocado a un supuesto caso de donde se puede ir trabajando en mejorar y reducir los costes utilizando diferentes servicios de los que dispone AWS, o incluso haciendo uso de Saving Plans, instancias reservadas o en algunos casos instancias de tipo spot.

Si necesitas que gestionemos tu plataforma y analicemos las posibilidades de reducir los costes de los mismos, escríbenos.

 

Newsletter de STR Sistemas

Suscríbete a nuestra newsletter para recibir contenido interesante del mundo DevOps y artículos escritos por nuestros técnicos

¡Usamos cookies propias y de terceros para mejorar tu experiencia en esta web! Si sigues navegando, consientes y aceptas estas cookies en tu ordenador, móvil o tablet.

Más información sobre las cookies y cómo cambiar su configuración en tu navegador aquí.

x