Tipos de escalamiento: vertical y horizontal

3/17
Recursos

Aportes 4

Preguntas 0

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Escalamiento vertical: Aumentar la potencia de servidor
Escalamiento horizontal: Aumenta el numero de servidores

AUTOSCALING ANIDADO

Es un poco complejo implementar el escalado, ya que en mi caso requerí de mucha información y parametrización para poder implementar lo que le llamamos escalado horizontal anidado.

Teníamos una aplicación corriendo en Kubernetes y que tenía mínimo 1 pod y máximo 3 corriendo. Todo bien, después con el tiempo nos dimos cuenta de que la usabilidad de la aplicación iba creciendo exponencialmente y al no estar preparados la aplicación comenzó a experimentar fallos (a pesar de usar kubernetes en AWS).

Que decidimos hacer?

  • medimos las horas pico de usabilidad
  • medimos la cantidad de recursos que se utilizan en esas horas
  • con base a ello se parametriz√≥ de manera m√°s eficiente la cantidad de pods que se utilizar√°n y los disparadores que crear√°n estos pods.

Pero la legión del mal atacó nuevamente. Sin embargo esta vez el servidor que servía como worker node estaba saturado por lo que teníamos que tomar una decisión:
¬ŅLe incrementamos en recursos?
Sabíamos que incrementar en recursos no era muy eficiente, puesto que solo se utilizaría en cierta cantidad de tiempo. Por otro lado el hecho de incrementarle recursos implicaba apagar la máquina virtual así como tratar de parametrizar la hora más eficiente para subir los recursos

¬ŅQu√© decidimos hacer??

  • volver a medir, medir y medir.
  • separamos el plano de datos (media) que viv√≠an en el servidor (worker node) y lo implementamos via EFS con el fin de evitar inconsistencias de datos.
  • implementamos crecimiento horizontal de los worker nodes con el uso de autoscaling groups.
  • voila (como dicen en Espa√Īa ese servicio no lo tumba ni Dios)

Un ejemplo de DB:

  • MySQL (escalamiento vertical)
  • MongoDB (escalamiento horizontal)

Escala verticalmente cuando las tareas que se realizaran sean pesdas y horizontalmente cuando las tereas sean muy concurrentes.
ahora si la tarea es pesda y muy concurrente, reviza tu app y sino se puede hacer mas, escala de ambas formas, pero para no gastar demaciodos recursos, escala solamente en las hroas pico cuando tu app este mas saturada.