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.

DevOps en AWS, acelarando el desarrollo de software con Developer Tools

202 visualizações

Publicada em

DevOps en AWS, acelarando el desarrollo de software con Developer Tools - https://aws.amazon.com/es/devops/

Más informacion: http://aws.amazon.com/es/colombia/

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

DevOps en AWS, acelarando el desarrollo de software con Developer Tools

  1. 1. DevOps en AWS: Acelerando el desarrollo de software con AWS Developer Tools Henry Alvarado Arquitecto de Soluciones Mayo 25 de 2017
  2. 2. © 2017, Amazon Web Services ¿Por qué estamos aquí hoy?
  3. 3. © 2017, Amazon Web Services Actualmente, el software se mueve rápidamente La creación y distribución de software es más fácil y más rápido que nunca: Ahora las “Startups” tienen la capacidad de desarrollar, con poco o casi nada de presupuesto Poner a disposición de millones de usuarios el software está al alcance de una descarga Habilidad para moverse rápido es igual a la velocidad de disrupción
  4. 4. © 2017, Amazon Web Services El modelo de entrega de software ha cambiado drásticamente • Modelo antiguo de entrega • Nuevo modelo de entrega
  5. 5. © 2017, Amazon Web Services Qué herramientas son necesarias para moverse rápido? Tener la capacidad de liberar software en esta época, requiere de múltiples herramientas: Herramientas para gestionar el flujo de liberación de software Herramientas para probar y validar el código, para la identificación de defectos o problemas potenciales Herramientas para desplegar las aplicaciones
  6. 6. Primero, necesitamos entender un poco del proceso de lanzamiento de software. https://www.flickr.com/photos/jurvetson/5201796697/
  7. 7. © 2017, Amazon Web Services El proceso de liberación de software tiene 4 fases principales: Códificación Construcción Pruebas Despliegue
  8. 8. © 2017, Amazon Web Services El proceso de liberación de software tiene 4 fases principales: Códificación Construcción Pruebas Despliegue Código fuente como .java Revisión de código
  9. 9. © 2017, Amazon Web Services El proceso de liberación de software tiene 4 fases principales: Códificación Construcción Pruebas Despliegue Código fuente como .java Revisión de código Compilación de código Pruebas unitarias Validación de estilos Métricas de código
  10. 10. © 2017, Amazon Web Services El proceso de liberación de software tiene 4 fases principales: Códificación Construcción Pruebas Despliegue Código fuente como .java Revisión de código Compilación de código Pruebas unitarias Validación de estilos Métricas de código Pruebas de integración Pruebas de carga Pruebas de interfase de usuarios Pruebas de penetración
  11. 11. © 2017, Amazon Web Services El proceso de liberación de software tiene 4 fases principales: Códificación Construcción Pruebas Despliegue Código fuente como .java Revisión de código Compilación de código Pruebas unitarias Validación de estilos Métricas de código Pruebas de integración Pruebas de carga Pruebas de interfase de usuarios Pruebas de penetración Despliegue a ambientes de producción
  12. 12. © 2017, Amazon Web Services Niveles del proceso de liberación de software Codificación Construcción Pruebas Despliegue
  13. 13. © 2017, Amazon Web Services Niveles del proceso de liberación de software Codificación Construcción Pruebas Despliegue Integración Continua
  14. 14. © 2017, Amazon Web Services Niveles del proceso de liberación de software Codificación Construcción Pruebas Despliegue Integración Continua Entrega Continua
  15. 15. © 2017, Amazon Web Services Niveles del proceso de liberación de software Codificación Construcción Pruebas Despliegue Integración Continua Entrega Continua Despliegue Continuo
  16. 16. Una mirada atrás del desarrollo en Amazon.. https://secure.flickr.com/photos/pixelthing/15806918992/
  17. 17. © 2017, Amazon Web Services Ciclo de vida de despliegue monolítico desarrolladores releasetestbuild pipeline de entregaapp
  18. 18. © 2017, Amazon Web Services Transformación del desarrollo en Amazon: 2001-2009 2001 2009 Monolítico Aplicación + Equipos Microservicios + 2 pizza teams
  19. 19. Las cosas fueron mucho mejor bajo este modelo y los equipos estaban desarrollando características más rápido que nunca, pero sentimos que aún podíamos mejorar.
  20. 20. En 2009, hicimos un estudio para ver donde existían aún ineficiencias
  21. 21. © 2017, Amazon Web Services Estábamos simplemente esperando WaitWrite Code WaitBuild Code WaitDeploy to Test Deploy to Prod
  22. 22. © 2017, Amazon Web Services Estábamos simplemente esperando WaitWrite Code WaitBuild Code WaitDeploy to Test Deploy to Prod Mins Días Mins Días Mins Días Mins
  23. 23. © 2017, Amazon Web Services Estábamos simplemente esperando WaitWrite Code WaitBuild Code WaitDeploy to Test Deploy to Prod Semanas Mins Mins Mins MinsDías Días Días
  24. 24. © 2017, Amazon Web Services Semanas Estábamos simplemente esperando WaitWrite Code WaitBuild Code WaitDeploy to Test Deploy to Prod Mins Days Mins Days Mins Days Mins
  25. 25. © 2017, Amazon Web Services Construimos herramientas para automatizar el proceso de lanzamiento de software https://secure.flickr.com/photos/lindseygee/5894617854/
  26. 26. © 2017, Amazon Web Services Acciones automáticas y transiciones; desde el check-in a producción Beneficios para desarrolladores: • Más rápido • Más seguro • Consistente & Estandarizado • Visualización del proceso Pipelines
  27. 27. © 2017, Amazon Web Services Despliegue de servicios Despliegues sin downtime Rastreo de salud Artefactos versionados y rollbacks
  28. 28. © 2017, Amazon Web Services Ciclo de vida del desarrollo de Micro Servicios desarrolladores pipelines de entregaservicios releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild
  29. 29. © 2017, Amazon Web Services AWS Code Services Codificación Construcción Pruebas Despliegue
  30. 30. © 2017, Amazon Web Services AWS Code Services Codificación Construcción Pruebas Despliegue AWS CodeCommit
  31. 31. © 2017, Amazon Web Services AWS CodeCommit Usa las herramientas de Git Cifrado en reposo con llaves personalizadas Escalabilidad, disponibilidad y durabilidad con Amazon S3 git pull/push CodeCommit Objetos Git en S3 Indexación en Amazon DynamoDB Llaves de encripción con AWS KMS SSH / HTTPS
  32. 32. © 2017, Amazon Web Services AWS Code Services Codificación Construcción Pruebas Despliegue AWS CodeBuild
  33. 33. © 2017, Amazon Web Services AWS CodeBuild Código Fuente Trigger CodeBuild Artefactos Ningún servidor que administrar o mantener Bajo costo, pago por uso Use ambientes de construcción pre configurados o use los suyos
  34. 34. © 2017, Amazon Web Services AWS Code Services Codificación Construcción Pruebas Despliegue AWS CodeDeploy
  35. 35. © 2017, Amazon Web Services AWS CodeDeploy Test CodeDeployv1, v2, v3 Producción Dev Revisiones de la aplicación Grupos de Despliegue Facilidad de despliegue Facilidad de escalamiento Despliegue a cualquier tipo de servidor (en la nube o en algún centro de datos local
  36. 36. © 2017, Amazon Web Services v2 v2 v2 v2 v2 v2 Uno por vez Mitad por vez Todos a la vez v2 v2 v2 v1 v1 v1 v2 v1 v1 v1 v1 v1 Agent Agent Dev Deployment group O Prod Deployment group Agent AgentAgent Agent Agent Agent Escoja el grupo y velocidad de despliegue
  37. 37. © 2017, Amazon Web Services AWS Code Services Codificación Construcción Pruebas Despliegue AWS CodePipeline
  38. 38. © 2017, Amazon Web Services AWS CodePipeline Construcción 1) Construcción 2) Pruebas Unitarias 1) Despliegue 2) Pruebas de Interface Fuente Beta Producción 1) Despliegue 2) Pruebas de Carga Gamma 1) Despliegue Inicial 2) Despliegue Región 1 3) Despliegue Región 2 1) Pull Fácil integración con herramientas de terceros Acelere su proceso de despliegue Valide, de manera consistente, sus despliegues
  39. 39. © 2017, Amazon Web Services AWS Code Services Codificación Construcción Pruebas Despliegue AWS CodeCommit AWS CodeBuild Herramientas de Terceros AWS CodeDeploy AWS CodePipeline
  40. 40. Source Source GitHub Build JenkinsOnEC2 Jenkins Deploy JavaApp Elastic Beanstalk Pipeline Stage Action Transition CodePipeline MyApplication
  41. 41. Source Source GitHub Build JenkinsOnEC2 Jenkins Deploy JavaApp Elastic Beanstalk NotifyDevelopers Lambda CodePipeline MyApplication Acciones paralelas
  42. 42. Source Source GitHub Build JenkinsOnEC2 Jenkins Deploy JavaApp Elastic Beanstalk NotifyDevelopers Lambda TestAPI Runscope CodePipeline MyApplication Acciones secuenciales
  43. 43. 8. Retrieve build artifact EC2 instance CodePipeline Source Source GitHub Build JenkinsOnEC2 Jenkins Deploy JavaApp Elastic Beanstalk Source Artifact S3 Build Artifact S3 5. Get source artifact 1. Get Changes 6. Store build artifact 3. Poll for Job 4. Acknowledge Job 7. Put Success 9. Deploy build artifact Elastic Beanstalk Web container Java App MyApplication
  44. 44. Tenemos una fuerte lista de partners aún en crecimiento Source Build Test Deploy
  45. 45. Integración con servicios AWS Source Build Invoke Logic Deploy Amazon S3 AWS CodeCommit AWS ElasticBeanstalk AWS CodeDeploy AWS CloudFormation AWS OpsWorks AWS LambdaAWS CodeBuild
  46. 46. © 2017, Amazon Web Services Lanzando a producción • Tras haber realizado el build y las pruebas de su código, seguramente serán realizados algunos despliegues pre-productivos y finalmente es tiempo de producción! • Usted querrá pensar en cosas como: • El impacto en los clientes • El impacto en la infraestructura • El impacto en el negocio • ¿Cómo podemos rastrear esto y comunicar los despliegues?
  47. 47. © 2017, Amazon Web Services Extienda AWS CodePipeline usando acciones customizadas Actualizar tickets Aprovisionar recursos Actualizar dashboards Pruebas móviles Enviar notificaciones • Escaneos de seguridad
  48. 48. © 2017, Amazon Web Services ¿Qué método de extensión debería usar? Lambda Custom Action Tareas de corta duración son fáciles de construir Puede ejecutar cualquier tipo de trabajo Tareas de larga duración requieren más trabajo Control sobre los links desplegados en la consola de AWS CodePipeline Soporte para Node.js, Python, C# y Java Soporte para cualquier lenguaje Rueda sobre AWS Podría rodar on-premises No hay que aprovisionar o administrar servidores Requiere recursos de cómputo
  49. 49. © 2017, Amazon Web Services FIN, ACK • Hemos dado una rápida pasada sobre los beneficios de la Entrega Continua en el proceso de lanzamiento de software: • La Integración Continua (build/test) ayuda a reducir de gran manera el ciclo de retroalimentación • Podemos presentar software a nuestros usuarios con mucha más rapidez • Al movernos rápidamente, podemos de hecho asegurar mayor calidad • AWS CodePipeline permite la integración con casi cualquier herramienta o servicio que usted pueda imaginar! • Además de visualización de lo que está ocurriendo!
  50. 50. ¡No olvide llenar su evaluación!

×