Agile, DevOps, QA, seguro que son términos que os suenan pero, ¿os habéis encontrado alguna vez en la situación de introducir estas prácticas en un ecosistema Big Data desplegado sobre la nube de Amazon Web Services?¿Cuál es la mejor fórmula para integrarlos? ¿Cómo escalar Scrum en equipos grandes?¿Cómo implementar DevOps?¿Qué problemas surgen y cómo solucionarlos?
En el año 2012 BBVA nos plantea un reto, hacer uso de toda la información que tiene acerca de las transacciones que se producen en España, generando estadísticas con datos agregados y poder ofrecer información de interés a terceros vía API. Surge así un proyecto piloto en el que un equipo de formado por 3 personas desarrollan todo el sistema en el que se procesan del orden de 400 millones de transacciones
El piloto tiene éxito, el proyecto comienza a crecer, el orden de magnitud de la información manejada asciende a 15 mil millones, aparecen nuevos consumidores, el equipo se multiplica por 4. Nos expandimos a varios países. Aparecen nuevos escenarios, la filosofía y metodología adoptadas ya no nos sirven, las exigencias han cambiado. El objetivo de la charla es contaros cómo hemos introduciendo prácticas y tecnologías para abordar los retos que se nos han ido presentando, desde dos puntos de vista, el de gestión de equipos y el técnico.
Veremos cómo hemos añadido en una coctelera Java, Python, Jenkins, Rundeck, MongoDB, Puppet, Foreman, Elastic Map Reduce, S3, Redshift, DynamoDB, Cloudformation, Luigi y cómo utilizando metodologías ágiles y filosofía DevOps, hemos logrado crear un sistema capaz de procesar 15 mil millones de transacciones y utilizar 70 cluster de EMR en paralelo ejecutando 500 máquinas EC2, haciendo 60K escrituras por segundo en DynamoDB para su posterior consumo vía API y todo ello desencadenado únicamente por subir un fichero a S3 sin intervención humana y en cuestión de horas.