Una cosa que debe tener en cuenta sobre Amazon Web Services (AWS) es que cualquiera de sus instancias puede fallar en cualquier momento, con poca antelación (por ejemplo, 24 horas).
“¿Qué?” Te escucho decir, “¡Pensé que se suponía que AWS era el pináculo de la redundancia y la disponibilidad!”
Sí, un servicio general de AWS es muy confiable. Pero logran esto al “reciclar” instancias individuales con bastante frecuencia. Atrás quedaron los días en que puede ejecutar el uptime
de uptime
en su servidor y dice “863 días”.
- ¿Qué efecto tendrá la nueva oferta de IaaS de Cloud Compute Engine de Google en Amazon EC2?
- ¿Cuáles son (o podrían ser) algunas de las estrategias de asignación de recursos utilizadas para máquinas virtuales por los principales proveedores de servicios en la nube?
- ¿Cómo se decide qué pila de software usar para construir una solución alojada en la nube?
- ¿Cuál es el Dropbox de almacenamiento en línea más seguro, Google Drive, One Drive u Odrive?
- ¿Cuál es el punto de la nube?
¿Entonces que puedes hacer? Usted diseña sus aplicaciones para asumir que las instancias del servidor se reiniciarán regularmente. Diseñe aplicaciones web como servidores múltiples detrás de un equilibrador de carga. Si alguna de las instancias de la aplicación web necesita reiniciarse, es probable que pueda sobrevivir con tres de los cuatro servidores web durante el par de minutos que lleva reiniciar.
O mejor aún, puede iniciar un quinto servidor web y luego apagar y destruir el que necesita mantenimiento. Esto es parte del ajuste mental que debe hacer al usar AWS: es fácil de iniciar y fácil de destruir las instancias del servidor, por lo que debe tratarlas como recursos efímeros. Cambie sus métodos de implementación para crear nuevas instancias y destruir instancias antiguas, en lugar de agregar continuamente ajustes a la misma instancia a lo largo del tiempo.
Debido a que crear nuevas instancias de servidor es fácil y rápido en AWS, debe diseñar la instalación y configuración de su aplicación para que sea igual de rápido.
La alternativa es hacer algo similar en su centro de datos local, en su propio servidor. El principio es el mismo: diseñe tanto su hardware como su aplicación para obtener redundancia y reinstalar y reiniciar fácilmente.