O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Técnicas para la Implementación de Desarrollo Continuo en AWS

46 visualizações

Publicada em

AWS Cloud Experience Chile - TRACK A3

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Técnicas para la Implementación de Desarrollo Continuo en AWS

  1. 1. Técnicas para Implementación de Desarrollo Continuo en AWS Bruno Laurenti Arquitecto de Soluciones #AWSCloudExperience
  2. 2. En el desarrollo de Software, la velocidad importa.
  3. 3. ¿Cómo aceleramos la entrega de software?
  4. 4. Primero, entendamos sobre las etapas del desarrollo de software
  5. 5. Codificación Construcción Pruebas Despliegue Integración continua Delivery continuo Despliegue continuo Pipeline de Desarrollo de Software
  6. 6. ¿Que beneficios tengo al automatizar mis procesos?
  7. 7. 46x más despliegues intervalo entre despliegues 440xmenor 5xmenos fallas recuperación 96x más rápida Source: 2017 State of DevOps Report (Puppet) 44% Más tiempo empleado desarrollando nuevas funcionalidades.
  8. 8. ¿Cómo era el desarrollo de software en amazon.com? https://secure.flickr.com/photos/pixelthing/15806918992/
  9. 9. 2001 Transformación en Amazon: 2001-2009 2009 App monolítica + equipos en silos microservicios + 2 pizza teams
  10. 10. Con esta transformación pasamos a entregar software mucho más rápido. Pero sentíamos que aún faltaba algo...
  11. 11. En 2009, realizamos un estudio para descubrir dónde aún podrían existir ineficiencias
  12. 12. La mayor parte del tiempo estabamos esperando… EsperarCodificación EsperarConstrucción EsperarPruebas Despliegue
  13. 13. La mayor parte del tiempo estabamos esperando… Minutos Días Minutos Días Minutos Días Minutos EsperarCodificación EsperarConstrucción EsperarPruebas Despliegue
  14. 14. La mayor parte del tiempo estabamos esperando… Minutos Días Minutos Días Minutos Días Minutos Semanas EsperarCodificación EsperarConstrucción EsperarPruebas Despliegue
  15. 15. La mayor parte del tiempo estabamos esperando… Minutos Días Minutos Días Minutos Días Minutos Semanas Horas EsperarCodificación EsperarConstrucción EsperarPruebas Despliegue
  16. 16. Construimos herramientas para automatizar el desarrollo de Software https://secure.flickr.com/photos/lindseygee/5894617854/
  17. 17. Codificación Construcción Prueba Despliegue Entrega de Software: AWS Code Services
  18. 18. Entrega de Software: AWS CodeCommit AWS Code Services Codificación Construcción Prueba Despliegue
  19. 19. AWS CodeBuild AWS Code Services Codificación Construcción Prueba Despliegue Entrega de Software:
  20. 20. Herramientas de terceros AWS Code Services Codificación Construcción Prueba Despliegue Entrega de Software:
  21. 21. AWS CodeDeploy EC2 On-Prem AWS Code Services Codificación Construcción Prueba Despliegue Entrega de Software:
  22. 22. Codificación Construcción Prueba Despliegue AWS CodePipeline AWS Code Services Entrega de Software:
  23. 23. Codificación Construcción Prueba Despliegue AWS CodePipeline AWS CodeDeployHerramientas de terceros AWS CodeBuildAWS CodeCommit AWS Code Services Entrega de Software:
  24. 24. • Control de código fuente GIT seguro, escalable y administrado • Herramienta GIT estándar • Durabilidad, disponibilidad y escalabilidad del Amazon S3 • Datos cifrados en reposo con claves proporcionadas por el cliente • Sin límites de repositorio • Web-hooks a través de acciones con SNS / Lambda AWS CodeCommit AWS CodeCommit
  25. 25. AWS CodeBuild • No es necesario administrar servidores • Bajo costo, pago por uso • Entornos de compilación pre-configurados o personalizados • Integración con Jenkins • Procesamiento de varios Builds en forma concurrente. Código fuente Build Trigger CodeBuild Artefactos de salida
  26. 26. • Automatiza el despliegue de código en cualquier instancia • Maneja la complejidad de actualizar sus aplicaciones • Evite pérdida de servicio durante el despliegue de la aplicación • Despliega en Amazon EC2 o en servidores on-premise, en cualquier lenguaje de programación y en cualquier OS • Se integra con herramientas de terceros y AWS AWS CodeDeploy AWS CodeDeploy
  27. 27. • Servicio de entrega continua para actualizaciones de aplicaciones rápidas y confiables • Modele y visualice su proceso de despliegue de software • Crea, prueba y despliega su código cada vez que hay un cambio de código • Se integra con herramientas de terceros y AWS AWS CodePipeline AWS CodePipeline
  28. 28. Source Source GitHub Build JenkinsOnEC2 Jenkins Deploy JavaApp Elastic Beanstalk PipelineEtapas Accione s Transicione s My Application AWS CodePipeline
  29. 29. Source Source GitHub Build JenkinsOnEC2 Jenkins Deploy JavaApp Elastic Beanstalk NotifyDevelopers Lambda MyApplication Acción Paralela AWS CodePipeline
  30. 30. Source Source GitHub Build JenkinsOnEC2 Jenkins Deploy JavaApp Elastic Beanstalk NotifyDevelopers Lambda TestAPI Runscope My Application Acción Secuencial AWS CodePipeline
  31. 31. Build JenkinsOnEC2 Jenkins Staging-Deploy JavaApp Elastic Beanstalk Prod-Deploy JavaApp Elastic Beanstalk QATeamReview Manual Approval My Application Aprobaciones Manuales Review AWS CodePipeline
  32. 32. Aprobación Manual • Puede agregar una aprobación manual en cualquier punto del pipeline, el flujo dejará de ejecutarse hasta que alguien apruebe o rechace la revisión en curso. • Pipeline dejará de ejecutarse cuando haya alcanzado el punto en el que establece la acción de aprobación y solo se reanuda cuando haya sido aprobada • Acción de aprobación administrada con permisos de administración de identidades y acceso (IAM) de AWS • Notificar a los aprobadores de varias maneras, incluyendo correo electrónico, SMS, webhooks y más
  33. 33. AWS CodePipeline AWS CodeCommit AWS CodeBuildAWS CodeDeploy
  34. 34. 23 Agosto 2018 Ignacio Verdejo DevOps Team Leader
  35. 35. Success Path
  36. 36. Calidad a. menos errores b. menos procesos manuales c. aislamiento de errores Eficiencia a. proceso único b. menos desarrollo correctivo c. mayor autonomía d. menos revisiones manuales Predictibilidad a. detección temprana de errores b. disminución del riesgo Results
  37. 37. 50+ proyectos simultáneos 70+ integrantes del equipo 40K builds mensuales 2K deployments mensuales 200 deployments en producción por mes Success Case
  38. 38. Continuous integration a. todos los stacks (incl. mobile) b. pruebas de carga c. análisis estático d. ciberseguridad Continuous deployment Mejora de procesos a. acelerar nuestros kickoffs b. stacks híbridos Testing post deployment a. rollbacks automáticos Next Steps
  39. 39. Califica nuestra charla

×