Caso de estudio: cómo trabaja Quora en Continuous Deployment

A la gente de Quora le gusta comentar como entre las 12:00 am y las 23:59 el 25 de abril de 2013 hicieron… 46 pasos a producción. Según dicen, fue un día normal para ellos, aplican “Continuous Deployment”.
Quora es un popular servicio web de preguntas y respuestas, los usuarios ofrecen sus respuestas y estas se valoran mediante votos.
Y Quora es otra empresa más que ha implantado un ciclo de despliegue continuo, o Continuous Deployment (te dejo un post sobre continuous delivery, que no es exactamente lo mismo pero está muy relacionado), donde los cambios software pasan a producción tan pronto como hay un “commit”.
En su Continuous Deployment, necesitan seis o siete minutos, de media, para pasar un cambio a producción. Los desarrolladores sólo se necesitan un comando pasar a producción su código: git push (te dejo un post relacionado).
Lo que tienen montado para lograr el Continuous Deployment es más complicado.
En Quora, cada vez que un desarrollador hace un “push commit” en git, la última revisión se añade a la lista de “release” candidatas. Ese “commit” también se manda a revisión de código, que la hacen con Phabricator. En una página web muestran el estado de cada revisión que está esperando pasar a producción.
Un proceso en “backend” ve la lista, y cuando hay un “commit” de una nueva revisión obtiene los nombres de todas las pruebas unitarias de esa revisión. Las pruebas se lanzan, y se informa sobre los resultados, y si la “release” está lista para pasar a producción. Y si así es, se despliega, el Continuous Deployment, en su caso, en Amazon Simple Storage Service, o S3.
Desde Quora comentan que en su Continuous Deployment, el tiempo entre “git push” y la creación de la “reléase” es de unos seis minutos. Las pruebas unitarias son la tarea más larga, unos 2-3 minutos y las pruebas de integración duran poco más de 3 minutos
¿Qué te ha parecido? Esto es un buen ejemplo real Continuous Deployment, que me ha recordado mucho a aquella pregunta – postque lanzaba en su día de… ¿Tardaríais mucho en pasar a producción un cambio en sólo una línea de código? Aprende entrega continua.
Como siempre, si tuiteas, compartes o comentas, me ayudas a difundir el conocimiento.

Fuente, un artículo publicado, cómo no, en Quora sobre su Continuous Deployment.

Javier Garzás

0 comentarios en “Caso de estudio: cómo trabaja Quora en Continuous Deployment”

  1. ¿Cómo lograr continuas liberaciones en un entidad bancaria? pienso que es más complicado. Actualmente estamos implementando SCRUM en la institución donde laboro, donde hemos podido integrar al team (tester, desarrolladores, analistas funcionales, unidades de apoyo entre otros) sin embargo, hemos llegado al momento de incluir a infraestructura, de que se sientan parte del team pero no ha sido fácil, alguna sugerencia?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ir arriba