En estos días de Elastic Cloud Computing, ¿cómo se pueden configurar los sitios web para que no se bloqueen por sobretensiones repentinas en el tráfico?

Divulgación completa: – Trabajo en Microsoft como Azure Architect.

Tom

Muy buena pregunta Puede usar AWS / Azure para crear un sitio súper resistente que pueda manejar una carga de usuario muy alta. En el escenario que mencionó, no sé todos los detalles de lo que sale mal. Pero me gusta compartir con ustedes un patrón de arquitectura que generalmente se sigue para construir un sistema altamente resistente.

Todo se remonta a cómo la solución dada está diseñada. En el caso de que los sitios tengan mucha actividad de usuario simultánea, en este 20K / usuario que intenta iniciar sesión al mismo tiempo, puede escalar automáticamente los servidores front-end (Escalado horizontal – Agregar más cuadros de front-end web). Luego, posteriormente, aumenta la capacidad en la capa del servidor de aplicaciones para manejar la carga. Una arquitectura aproximada se vería así.

La arquitectura anterior se puede implementar en AWS o Azure.

Para abordar situaciones como las que mencionó, tenemos Azure Webapps (Servicio de aplicaciones web | Microsoft Azure). Webapps te ayuda a construir masivamente escalable.

También adjunto un estudio de caso sobre un caso de uso similar como el suyo.

Canadian Broadcasting Corporation / Radio-Canada aprovechan Azure para una cobertura electoral uniforme

Haga ping de vuelta con cualquier pregunta.

Básicamente, al planificar cargas de sobretensión, básicamente necesitamos configurar cargas más altas en dos métodos.

  1. escala vertical: aquí tiende a utilizar máquinas de mayor capacidad para atender a sus clientes, donde la capacidad máxima siempre está diseñada en el sistema. El inconveniente de este método es que el sistema tiende a desperdiciar mucha capacidad y hay un CAP sobre cuánto puede escalar debido a limitaciones físicas.
  2. El escalado horizontal es un método en el que utiliza varios trabajadores para aplicaciones detrás de un equilibrador de carga. esto funciona igual que varias ventanas en una estación donde el cliente puede obtener el mismo servicio desde cualquiera de las ventanas.

La mayoría de los sistemas actuales están configurados para usar una técnica de escala horizontal llamada escala automática para atender cargas de sobretensión.

para usar para escalado automático, necesitamos tener seguidores como mínimo.

  1. sabemos cuándo escalar: como una máquina puede atender a un máximo de 150 clientes / necesitamos una máquina adicional si la utilización de la CPU es más del X% / algún otro criterio.
  2. una forma automatizada de mostrar una máquina adicional (puede ser una secuencia de comandos de imagen / chef que puede abrir una nueva máquina a pedido)
  3. balanceador de carga, (F5 / HAProxy / KEMP)

después de esto, debe configurar el equilibrador de carga para activar máquinas adicionales en cargas estipuladas.

Algunos tutoriales que pueden ayudar en detalle son los siguientes:

¿Qué es el escalado automático?

https://docs.hpcloud.com/eucalyp

(CMP201) Todo lo que necesita saber sobre el escalado automático