¿Cómo se asegura un webmaster de que su sitio web nunca se desconecte?

Esta es una pregunta complicada, sin una respuesta clara. Después de trabajar durante casi 10 años en la industria, todavía estoy aprendiendo en este frente.

Todavía intentaré responder la pregunta. Sin embargo, en lugar de una respuesta definitiva, tómalo más como un puntero.

Lo primero que hay que entender es a cuánta disponibilidad está apuntando. Por ejemplo, el 99.9% de tiempo de inactividad significa aproximadamente 43.8 minutos de tiempo de inactividad mensual. 99.99% significa 4.32 minutos de tiempo de inactividad mensual. Y 99.999% significa un tiempo de inactividad mensual de 30 segundos. Cada punto decimal agrega desafíos exponenciales.

  • Hospedaje: elija un proveedor de hospedaje confiable. Si es posible 2 o 3 de ellos. Si no se separan zonas o regiones. Por ejemplo, si está en AWS, si no en regiones, separe sus instancias al menos en toda la zona disponible.
  • Datos: asegúrese de que sus datos estén replicados o mejor almacenados en un entorno replicado en clúster. Asegúrese de que el número de registros y claves se pueda aumentar a cierto nivel sin derribar el sistema.
  • Implementación: tiene una integración continua, tiene pruebas adecuadas, implementación y mecanismo de reversión. Asegúrese de que puede realizar la implementación sin desactivar el sistema completo.
  • Escalabilidad: asegúrese de que su aplicación sea escalable horizontalmente.
  • Equilibrio de carga (informática): asegúrese de tener al menos algún tipo de alta disponibilidad garantizada por el equilibrio de carga global o a nivel de DNS. O algo similar.
  • Seguridad: garantizar la seguridad en varios niveles podría garantizar una mayor cantidad de tiempo de actividad.
  • Otra información: las copias de seguridad, los procedimientos de restauración adecuados, la supervisión adecuada y la gestión de la configuración, la documentación adecuada, los procedimientos claros de guardia, etc., lo ayudarán a aumentar su tiempo de actividad.

He dado una perspectiva amplia, porque no hay una respuesta definitiva. Siempre habrá compensaciones, a veces entre costo, disponibilidad y rendimiento. A veces entre seguridad, conveniencia y entrega rápida. Por ejemplo, para las bases de datos, el teorema CAP es un muy buen ejemplo práctico (Nota: aquí C => Consistencia, A => Disponibilidad y P => Particionamiento).

Por lo tanto, en una perspectiva amplia, debe comprender a qué nivel de disponibilidad se dirige, qué compensaciones está listo y a qué costo. Creo que el siguiente enlace podría resultar útil:
Lista de atributos de calidad del sistema.

Gracias por A2A. Espero eso ayude.

Garantizar un tiempo de actividad del 100% es casi imposible.

Lograr un tiempo de actividad del 99.99% implica algunas soluciones creativas de administrador de sistemas. La respuesta de Gerardo Dada es realmente sólida.

Una cosa que agregaría: puede usar un CDN para reducir la carga en su servidor primario. Puede alojar sus imágenes, archivos CSS y JavaScript en s3 o CloudFlare.

Si le preocupa que DDOS o los picos de tráfico derriben su sitio, una excelente solución es Elastic Compute Cloud de Amazon y los equilibradores de carga elásticos. Es muy fácil escalar el número y el tamaño de sus servidores para satisfacer la demanda.

1. Busca un buen anfitrión, no el más barato
2. Plan para el fracaso
3. Aloje un espejo en dos regiones diferentes con equilibrio de carga en estos sitios. Asegúrese de que el equilibrio de carga no sea su único punto de falla. Considere DNS dinámico o failover de DNS
4. Si su sitio no es dinámico, cree una versión estática y hágalo en AWS S3 o Rackspace Cloud Files
5. Mantenga una instantánea y una copia de seguridad de su sitio disponibles y actualizadas
6. Monitorear el tiempo de actividad y la utilización de los recursos.
7 Tenga un plan escrito sobre qué hacer si (cuando) su sitio deja de funcionar