Proceso de liberación / implementación / mantenimiento para un servicio web

votos
2

Estoy investigando algunas técnicas de proceso de liberación no frágiles en un entorno de servicio web 24x7x365. ¿Cuáles son algunos de sus métodos favoritos para liberar código de un entorno de desarrollo a un entorno de producción crítico? Esto incluye no solo cambios de código, sino también cambios en el esquema de la base de datos. Supongamos que todo ha sido probado y aprobado en el ecosistema de un entorno de desarrollo.

¿Qué pasos sigue para optimizar la producción? Redirigir el tráfico a un clúster de tiempo de inactividad y ejecutar algunos scripts automatizados? Si es así, ¿qué hacen tus scripts? Si no son secuencias de comandos, ¿a qué tipo de rutina te gusta?

Buscando solo información técnica. Por favor, no den respuestas de tipo darles a los clientes una advertencia amplia.

¡Gracias!

Publicado el 09/12/2008 a las 23:18
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
1

Hay dos principios que creo que es importante garantizar:

  1. Libere solo desde el sistema de control de origen (ya sea una rama dedicada o una etiqueta en la línea principal). No hay posibilidad de liberar directamente desde el directorio de trabajo.
  2. Convierta los procesos de inserción en producción y de inserción en etapas completamente automatizados (incluidas las actualizaciones de esquema)
  3. Tenga a mano una secuencia de comandos de retrotracción automática, y no tenga miedo de usarla si algo parece estar mal.
  4. Todos los cambios en el esquema de la base de datos se realizan con la herramienta incremental roll-forward / rollback (como ActiveRecord o Liquibase). Exigir restauraciones completas de DB debería ser raro.
  5. (para clusters realmente grandes) Haga actualizaciones progresivas; utilice dos balanceadores de carga, uno para la versión N y otro para la versión N + 1. Pruebe continuamente cuando los nodos adicionales se unan al grupo N + 1.
Respondida el 09/12/2008 a las 23:44
fuente por usuario

votos
0

Denis Hennessy escribió un buen resumen. En cuanto a herramientas, eche un vistazo a Capistrano .

Respondida el 10/12/2008 a las 00:13
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more