Actualmente estoy en un proyecto de investigación corto. La compañía en la que trabajo tiene un proceso de lanzamiento muy pesado que empeora a medida que pasa el tiempo. Estamos encontrando más y más problemas con cada lanzamiento, que está empezando a afectar gravemente nuestros horarios de entrega y la calidad de cada lanzamiento. Proporcionamos un gran producto SAAS que se implementa en Internet en una gran granja web. Nuestro proceso de implementación es manejado actualmente por un equipo dedicado, con una participación mínima del desarrollador. Principalmente somos una tienda .NET, sin embargo, también tenemos un par de componentes Java.¿Cómo implementa su empresa su software?
Estoy investigando cómo podríamos mejorar nuestro proceso de control de calidad y despliegue para reducir el desperdicio y llevar más procesos bajo la supervisión de nuestros equipos de desarrollo. Estoy interesado en saber cómo su empresa implementa sus productos (preferiblemente SAAS, pero no limitado a dichos productos) para la producción, así como el viaje a través de las pruebas en su camino hacia allí. Tengo curiosidad por saber qué ha funcionado y qué no, y estoy seguro de que muchos de ustedes tienen historias que contar.
EDITAR (RFC adicional):
Como he continuado mi investigación, me encontré con el concepto de "despliegue continuo", al parecer por primera vez por el equipo de la comunidad en línea 3d IMVU. Suena como un concepto intrigante, aunque quizás un poco complejo. Tengo curiosidad si alguien aquí en SO tiene alguna experiencia con el despliegue continuo? Particularmente con un proyecto grande y complejo que tiene muchas partes. No necesariamente tiene que implementarse continuamente en la producción ... para nuestras necesidades a corto plazo, solo miraríamos la implementación continua a los entornos internos de dev/qa/perftest. Si alguien ha implementado la implementación continua, también tengo curiosidad por saber cómo gestionó el esquema de la base de datos y los cambios/reversiones de datos.
Gracias!
Gracias por la respuesta detallada. Suena como la clave que te ayudó a usar máquinas virtuales. Uno de los productos que estamos evaluando es VMware Lab Manager. De lo que reuní sobre AMI, sirve el mismo propósito básico ... máquinas virtuales basadas en plantillas. Supongo que la principal diferencia es que sería alojado por nosotros en nuestro propio hardware. Es bueno saber de un escenario donde la virtualización se ha utilizado con éxito (y en la nube, para arrancar!) – jrista
Le pregunté a jamiedp esta pregunta también, pero ¿qué tan grande es su aplicación? ¿Lo clasificarías como pequeño, mediano, grande o grande? Esto se refiere al tamaño de la base de código, cantidad de configuración y número de usuarios en promedio. ¡Gracias! – jrista
@jrista: supongo que depende de cómo definas esos tamaños, pero los sonidos grandes son correctos. La aplicación es bastante compleja, hace un uso extensivo de las tecnologías empresariales y admite un volumen de transacciones bastante elevado. –