Una gran rama de herramientas como Capistrano, Fabric, etc. puede ayudarlo a resolver este problema, por ejemplo, mediante la configuración de varios servidores con un equilibrador de carga como interfaz, que los actualizará alternativamente. Sin embargo, todas estas utilidades tienen ciertos requisitos adicionales, lo que resulta en un aumento de los gastos, y necesita algo de tiempo y conocimiento especializado para integrarse y ajustarse adecuadamente.
Para las aplicaciones PHP que se ejecutan sobre Apache, el fundador de este lenguaje de programación (Rasmus Lerdorf) propuso un nuevo enfoque. Esto se usa activamente en Etsy y, por lo tanto, al ser una solución probada en batalla, también se tomó como la base para la implementación de la característica de Implementación de tiempo de inactividad cero en Jelastic. Su idea principal se basa en los siguientes dos puntos:
- cada vez que se ejecuta un nuevo proceso de implementación, los archivos de la aplicación correspondiente se duplican y se almacenan en un directorio de servidor separado (que se nombra automáticamente después de su fecha / hora de creación para una fácil identificación)
- un redirector de solicitudes especiales, llamado enlace simbólico (es decir, enlace simbólico), cambia entre las diferentes versiones de la aplicación después de cada actualización, señalando la que debería usarse actualmente.
- ¿Cómo implementaría git en un caso en el que solo hay un único entorno para pruebas, desarrollo y producción y los desarrolladores cambian el código en vivo a través de SFTP?
- Cómo usar mis complementos de WordPress sin obtener el error HTTP 500
- ¿Qué es mejor comenzar como principiante en desarrollo web, Bootstrap o WordPress?
- ¿Puedo editar el código HTML con WordPress.com o tengo que alojarlo en otro sitio y usar WordPress.org?
- ¿Dónde puedo obtener más información sobre stack medio?
Se pueden encontrar más detalles en el artículo: Entrega continua de proyectos con implementación de tiempo de inactividad cero para aplicaciones PHP
Para todo tipo de aplicaciones, se pueden utilizar copias de múltiples entornos como un seguro de alta disponibilidad. En esta situación, puede enfrentar el problema de la distribución adecuada del tráfico entre dichas copias del proyecto, incluidos aspectos como el método de enrutamiento de solicitudes, las tasas de carga de los servidores, etc. Resolver todos estos problemas puede convertirse en un desafío incluso para desarrolladores experimentados.
Para automatizar la configuración, se puede utilizar el complemento Traffic Distributor que está disponible para la instalación con un solo clic. Proporciona enrutamiento de tráfico inteligente utilizando el método y la relación de distribución especificada por el desarrollador o administrador del sistema dentro del asistente fácil de usar. Los detalles están en el artículo: Distribución Automática de Tráfico