AWS: ¿Podemos considerar tener varias instancias EC2 y RDS para un solo producto como escalamiento horizontal?

AWS: ¿Podemos considerar tener varias instancias EC2 y RDS para un solo producto como escalamiento horizontal?

Lo que leí en Stack Overflow y otros blogs.

https://stackoverflow.com/questions/11707879/difference-between-scaling-horizontally-and-vertical-for-databases/11715598#11715598

http://ht.ly/cAhY6

https://hackernoon.com/database-scaling-horizontal-and-vertical-scaling-85edd2fd9944

https://stackoverflow.com/questions/27157227/can-relational-database-scale-horizontalmente

Concepto: aplicación web multiinquilino (CRM)

Después de resumir todos los blogs mencionados anteriormente, me confundí. Tengo el siguiente escenario

  • Tener varias instancias EC2 e instancias RDS para un solo producto: aquí planeamos que una instancia EC2 tenga un RDS y planes de conmutación por error. Veamos la figura: se manejarán 25 solicitudes de inquilinos en una instancia EC2 y los datos se administrarán en el RDS correspondiente. Se administrará otra instancia EC2 y RDS para otro conjunto de 25 inquilinos. Cada instancia EC2 tendrá la misma base de código.

¿Podemos decir: es escala horizontal? En caso contrario, ¿qué se debe hacer para obtener la escala horizontal exacta?

Respuesta1

Escalado horizontalNormalmente significa que tienes una flota deservidores indiferenciadosdonde cada servidor puede servircualquierpedido. Y puede aumentar o reducir la capacidad agregando o eliminando más servidores iguales.

Conescalado verticalsimplemente actualizaría su único servidor a una capacidad mayor, por ejemplo, una instancia más grande con más CPU y más memoria.

Para el escalado horizontal en AWS normalmente tendría:

  • flota deservidores sin estadoque están todos configurados de la misma manera y no almacenan ningúndatos del usuarioy se puede agregar automáticamente sin configuración adicional y eliminar en cualquier momento sin pérdida de datos.
  • datos del usuario almacenados en unbase de datos(por ejemplo, RDS), en unsistema de archivos compartido(por ejemplo, EFS) o en unalmacenamiento de objetos(por ejemplo, S3), no en los servidores reales.
  • equilibrador de cargadistribuir la carga aproximadamente por igual entre los servidores (por ejemplo, instancias EC2, contenedores Fargate, etc.)
  • automáticoescalamiento de capacidades decir, agregar y eliminar servidores según la carga real.

Las definiciones pueden variar, pero yo no llamaría a su configuración escalada horizontalmente, ya que simplemente agregó otra instancia para admitir unacarga de trabajo independiente(su otro conjunto de inquilinos) y no agregó más capacidad para soportar la misma carga de trabajo que el primer nodo.

Espero que ayude :)

información relacionada