SlideShare a Scribd company logo
1 of 21
Continuous Deployment
super-vitaminado gracias a Microsoft Azure
Entornos de trabajo automatizados
Fernando Escolar
Development & Cloud Lead Consultant
fernando.escolar@tokiota.com
@fernandoescolar
TOKIOTA,
the Microsoft leading partner for innovative technology solutions,
empowering our customers while taking care of our people.
Un día cualquiera…
Hoy toca puesta en producción…
Y en la oficina… el duelo
• Negación:
• ”En mi maquina funciona”
• Negociación:
• Vamos a forzar que los tests “pasen”
• QA no ha validado esa “feature”. Se queda fuera.
• Depresión:
• Tenemos dos horas para un merge y no nos va a dar tiempo
• La persona que hace el deploy tarda 4h. si no hay problemas
• Tenemos una ventana de 6h. para hacer la subida
• Ira:
• La culpa es del commit de “fulano”. Encima hoy se ha ido pronto a casa…
• Aceptación:
• Este fin de semana me va a tocar trabajar
Continuous Integration
• Mantener un solo repositorio de código fuente
• Automatizar la “build”
• Automatizar los “tests” dentro de la “build”
• Todo el mundo hace “commit(s)” cada día
• Todo “commit” lanza una “build” en una máquina de integración
• Mantener la “build” rápida
• Probar la aplicación en una “copia” del entorno de producción
Continuous Delivery
• La entrega e implementación del software debe ser repetible y fiable
• Automatizar todo
• Si algo es duro o difícil, hacerlo más a menudo
• Mantener todo en control de código fuente
• Hecho significa publicado | Done = Released
• Construir con calidad
• Todo el mundo es responsable del proceso de publicación
• Mejora continua
Continuous Deployment
• Cada “commit” a la rama principal crea una versión candidata
• Feedback rápido de la “build” con integración continua
• Una vez conseguido esto, el “commit” se implementa en el siguiente
entorno para las pruebas automáticas
• Si las pruebas tienen éxito, entonces puede entrar en producción
Continuous Delivery and Deployment
Deploy to
Producion
Commit code Build
Unit Tests
Commit code Build
Unit Tests
Deploy to Test Integration and
Acceptance Tests
Commit code
Build
Unit Tests
Deploy to Test
Integration and
Acceptance Tests
Continuous Integration
Continuous Delivery
Continuous Deployment
¿Cómo lo hacemos?
VCS – Git and TFVC
Project Tools for Agile
and Scrum
Build Services
Load Testing
Release Management
Visual Studio Team Services
VSTS Build Services
• Orquesta las “builds” - no es un motor de
“builds”
• Multi-Plataforma (OSX, Linux y Windows)
• Extensible – todas las tareas son Open
Source
• Las “builds” van a una cola para que los
agentas puedan procesarlas
• Microsoft proporciona agentes hospedados
en azure, Windows. Y pronto Linux
VSTS Release
• Automatiza los “deployments”
• Automatiza los workflows de
aprovación
• Se extiende igual que el sistema
de “builds”
• Tracking del estado de tus
aplicaciones
Demo
Azure Web Apps Swap
Deploy to staging
environmentCommit code
Build
Unit Tests
Deploy to Test
Swap staging with
production
Artifact
Deployment Package
Continuous Deployment
Preguntas
¡Muchas gracias!

More Related Content

What's hot

Despliegue continuo en dev ops para multiples entornos de dync 365
Despliegue continuo en dev ops para multiples entornos de dync 365Despliegue continuo en dev ops para multiples entornos de dync 365
Despliegue continuo en dev ops para multiples entornos de dync 365
Demian Raschkovan
 
Introducción a ASPNET vNext
Introducción a ASPNET vNextIntroducción a ASPNET vNext
Introducción a ASPNET vNext
Julito Avellaneda
 

What's hot (20)

Gestión Agil de Entornos de Despliegue en la Nube
Gestión Agil de Entornos de Despliegue en la NubeGestión Agil de Entornos de Despliegue en la Nube
Gestión Agil de Entornos de Despliegue en la Nube
 
Alm orientado a power platform
Alm orientado a power platformAlm orientado a power platform
Alm orientado a power platform
 
Aplicaciones Web con Spring Boot
Aplicaciones Web con Spring BootAplicaciones Web con Spring Boot
Aplicaciones Web con Spring Boot
 
Scrum overview
Scrum overview Scrum overview
Scrum overview
 
Introducción a Team Foundation Service, ALM en la Nube
Introducción a Team Foundation Service, ALM en la NubeIntroducción a Team Foundation Service, ALM en la Nube
Introducción a Team Foundation Service, ALM en la Nube
 
Despliegue continuo en dev ops para multiples entornos de dync 365
Despliegue continuo en dev ops para multiples entornos de dync 365Despliegue continuo en dev ops para multiples entornos de dync 365
Despliegue continuo en dev ops para multiples entornos de dync 365
 
Serverless application repository
Serverless application repositoryServerless application repository
Serverless application repository
 
Introduction to Azure DevOps
Introduction to Azure DevOpsIntroduction to Azure DevOps
Introduction to Azure DevOps
 
ALM con Visual Studio y TFS 2013
ALM con Visual Studio y TFS 2013ALM con Visual Studio y TFS 2013
ALM con Visual Studio y TFS 2013
 
Integracion Continua
Integracion ContinuaIntegracion Continua
Integracion Continua
 
Testing de integración en Azure DevOps con Docker - Plain Concepts DevOps day
 Testing de integración en Azure DevOps con Docker - Plain Concepts DevOps day Testing de integración en Azure DevOps con Docker - Plain Concepts DevOps day
Testing de integración en Azure DevOps con Docker - Plain Concepts DevOps day
 
DEISER expoQA 2017
DEISER expoQA 2017DEISER expoQA 2017
DEISER expoQA 2017
 
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
 
Integracion continua con Visual Studio Online
Integracion continua con Visual Studio OnlineIntegracion continua con Visual Studio Online
Integracion continua con Visual Studio Online
 
Springloops
SpringloopsSpringloops
Springloops
 
Calidad en proyectos ágiles
Calidad en proyectos ágilesCalidad en proyectos ágiles
Calidad en proyectos ágiles
 
SharePoint Framework, paso a paso
SharePoint Framework, paso a pasoSharePoint Framework, paso a paso
SharePoint Framework, paso a paso
 
Calidad en Proyectos Ágiles
Calidad en Proyectos ÁgilesCalidad en Proyectos Ágiles
Calidad en Proyectos Ágiles
 
Yo soy Dev, yo soy Ops y somos dos en un equipo
Yo soy Dev, yo soy Ops y somos dos en un equipoYo soy Dev, yo soy Ops y somos dos en un equipo
Yo soy Dev, yo soy Ops y somos dos en un equipo
 
Introducción a ASPNET vNext
Introducción a ASPNET vNextIntroducción a ASPNET vNext
Introducción a ASPNET vNext
 

Viewers also liked

Armstrong Franklin
Armstrong FranklinArmstrong Franklin
Armstrong Franklin
karenmaustin
 
欣耕工坊淘宝那些事
欣耕工坊淘宝那些事欣耕工坊淘宝那些事
欣耕工坊淘宝那些事
cash0430
 
Bluekens Presentatie Nw Opzet2012
Bluekens Presentatie Nw Opzet2012Bluekens Presentatie Nw Opzet2012
Bluekens Presentatie Nw Opzet2012
Bluekens01
 

Viewers also liked (20)

Klíma 7 előnye
Klíma  7 előnyeKlíma  7 előnye
Klíma 7 előnye
 
Sena
SenaSena
Sena
 
Летни гуми - инфо
Летни гуми - инфоЛетни гуми - инфо
Летни гуми - инфо
 
5 regnes
5 regnes5 regnes
5 regnes
 
Armstrong Franklin
Armstrong FranklinArmstrong Franklin
Armstrong Franklin
 
photo onlt presentation
photo onlt presentationphoto onlt presentation
photo onlt presentation
 
欣耕工坊淘宝那些事
欣耕工坊淘宝那些事欣耕工坊淘宝那些事
欣耕工坊淘宝那些事
 
Bluekens Presentatie Nw Opzet2012
Bluekens Presentatie Nw Opzet2012Bluekens Presentatie Nw Opzet2012
Bluekens Presentatie Nw Opzet2012
 
Project proposal
Project proposalProject proposal
Project proposal
 
golf clinic pacchetto vacanza hotel gianna madonna di campiglio
 golf clinic pacchetto vacanza hotel gianna madonna di campiglio golf clinic pacchetto vacanza hotel gianna madonna di campiglio
golf clinic pacchetto vacanza hotel gianna madonna di campiglio
 
Law of sacrifice
Law of sacrificeLaw of sacrifice
Law of sacrifice
 
Redes de emergencia
Redes de emergenciaRedes de emergencia
Redes de emergencia
 
Freello #Expo2015 #Milano
Freello #Expo2015 #MilanoFreello #Expo2015 #Milano
Freello #Expo2015 #Milano
 
How to employ yourself today
How to employ yourself todayHow to employ yourself today
How to employ yourself today
 
Healthy aging
Healthy agingHealthy aging
Healthy aging
 
BIMobject seminar BEAst stockholm 2014
BIMobject seminar BEAst stockholm 2014BIMobject seminar BEAst stockholm 2014
BIMobject seminar BEAst stockholm 2014
 
Livro Digital - História de 50 metros e outras histórias crônicas
Livro Digital - História de 50 metros e outras histórias crônicasLivro Digital - História de 50 metros e outras histórias crônicas
Livro Digital - História de 50 metros e outras histórias crônicas
 
Gerah kapita_rustam
Gerah kapita_rustamGerah kapita_rustam
Gerah kapita_rustam
 
Tizen application
Tizen applicationTizen application
Tizen application
 
Distress company
Distress companyDistress company
Distress company
 

Similar to Betabeers - continuous deployment

Similar to Betabeers - continuous deployment (20)

Real CI/CD para MSDyn365FO… Be a hero!
Real CI/CD para MSDyn365FO… Be a hero!Real CI/CD para MSDyn365FO… Be a hero!
Real CI/CD para MSDyn365FO… Be a hero!
 
Integracion continua
Integracion continuaIntegracion continua
Integracion continua
 
Integración Continua
Integración ContinuaIntegración Continua
Integración Continua
 
Ecuador jug 2017 -incrementando la productividad de proyectos java ee con c...
Ecuador jug   2017 -incrementando la productividad de proyectos java ee con c...Ecuador jug   2017 -incrementando la productividad de proyectos java ee con c...
Ecuador jug 2017 -incrementando la productividad de proyectos java ee con c...
 
El coste de no usar integración continua
El coste de no usar integración continuaEl coste de no usar integración continua
El coste de no usar integración continua
 
Metodologias clase 6 - mejora continua xp
Metodologias   clase 6 - mejora continua xpMetodologias   clase 6 - mejora continua xp
Metodologias clase 6 - mejora continua xp
 
Comenzando a usar el Continuous Delivery
 Comenzando a usar el Continuous Delivery Comenzando a usar el Continuous Delivery
Comenzando a usar el Continuous Delivery
 
Jenkins, no me rompas los builds!
Jenkins, no me rompas los builds!Jenkins, no me rompas los builds!
Jenkins, no me rompas los builds!
 
Continuous Integration - Going from Zero to Hero
Continuous Integration - Going from Zero to HeroContinuous Integration - Going from Zero to Hero
Continuous Integration - Going from Zero to Hero
 
Montando un escenario de integración continua - Pucela Tech Day
Montando un escenario de integración continua - Pucela Tech DayMontando un escenario de integración continua - Pucela Tech Day
Montando un escenario de integración continua - Pucela Tech Day
 
Jenkins ci + selenium
Jenkins ci + seleniumJenkins ci + selenium
Jenkins ci + selenium
 
Bye bye jenkins welcome bots
Bye bye jenkins welcome botsBye bye jenkins welcome bots
Bye bye jenkins welcome bots
 
CI integración continua
CI   integración continuaCI   integración continua
CI integración continua
 
Integración Continua usando Team Foundation Server
Integración Continua usando Team Foundation ServerIntegración Continua usando Team Foundation Server
Integración Continua usando Team Foundation Server
 
Herramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos softwareHerramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos software
 
Devops meetup 21 de Junio 2017
Devops meetup 21 de Junio 2017Devops meetup 21 de Junio 2017
Devops meetup 21 de Junio 2017
 
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioContinuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudio
 
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioContinuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudio
 
Azure Functions
Azure FunctionsAzure Functions
Azure Functions
 
Azure Functions Spanish
Azure Functions SpanishAzure Functions Spanish
Azure Functions Spanish
 

More from Fernando Escolar Martínez-Berganza

More from Fernando Escolar Martínez-Berganza (20)

Por qué todo lo que subo a azure esta mal
Por qué todo lo que subo a azure esta malPor qué todo lo que subo a azure esta mal
Por qué todo lo que subo a azure esta mal
 
Deconstrucción de SOLID
Deconstrucción de SOLIDDeconstrucción de SOLID
Deconstrucción de SOLID
 
Gapand - por qué odio git?
Gapand - por qué odio git?Gapand - por qué odio git?
Gapand - por qué odio git?
 
Devops RoadShow: load testing and autoscale
Devops RoadShow: load testing and autoscaleDevops RoadShow: load testing and autoscale
Devops RoadShow: load testing and autoscale
 
Roslyn: Hello from the other compiler - dotNet Spain Conference 2016
Roslyn: Hello from the other compiler - dotNet Spain Conference 2016Roslyn: Hello from the other compiler - dotNet Spain Conference 2016
Roslyn: Hello from the other compiler - dotNet Spain Conference 2016
 
Codemotion 2015 - Unit Testing
Codemotion 2015 - Unit TestingCodemotion 2015 - Unit Testing
Codemotion 2015 - Unit Testing
 
Unit testing en Windows 10
Unit testing en Windows 10Unit testing en Windows 10
Unit testing en Windows 10
 
Las cronicas de redis
Las cronicas de redisLas cronicas de redis
Las cronicas de redis
 
Redis: no solo una caché
Redis: no solo una cachéRedis: no solo una caché
Redis: no solo una caché
 
DotNet Conference: code smells
DotNet Conference: code smellsDotNet Conference: code smells
DotNet Conference: code smells
 
Foro de Arquitectos: caché en azure a fondo
Foro de Arquitectos: caché en azure a fondoForo de Arquitectos: caché en azure a fondo
Foro de Arquitectos: caché en azure a fondo
 
Codemotion: descubriendo las cachés
Codemotion: descubriendo las cachésCodemotion: descubriendo las cachés
Codemotion: descubriendo las cachés
 
Unit tesing y el mito de los 0 bugs
Unit tesing y el mito de los 0 bugsUnit tesing y el mito de los 0 bugs
Unit tesing y el mito de los 0 bugs
 
We Love Js 6 - Knockout js (with Marc Rubiño)
We Love Js 6 - Knockout js (with Marc Rubiño)We Love Js 6 - Knockout js (with Marc Rubiño)
We Love Js 6 - Knockout js (with Marc Rubiño)
 
Mobile services by @quiqu3
Mobile services by @quiqu3Mobile services by @quiqu3
Mobile services by @quiqu3
 
Javascript no es vietnam
Javascript no es vietnamJavascript no es vietnam
Javascript no es vietnam
 
Where is my beer?
Where is my beer?Where is my beer?
Where is my beer?
 
Coding kihon + Zombie Code Survival Guide
Coding kihon + Zombie Code Survival GuideCoding kihon + Zombie Code Survival Guide
Coding kihon + Zombie Code Survival Guide
 
Level up your skills
Level up your skillsLevel up your skills
Level up your skills
 
Introducción a TDD
Introducción a TDDIntroducción a TDD
Introducción a TDD
 

Betabeers - continuous deployment

  • 1. Continuous Deployment super-vitaminado gracias a Microsoft Azure Entornos de trabajo automatizados
  • 2. Fernando Escolar Development & Cloud Lead Consultant fernando.escolar@tokiota.com @fernandoescolar
  • 3. TOKIOTA, the Microsoft leading partner for innovative technology solutions, empowering our customers while taking care of our people.
  • 5. Hoy toca puesta en producción…
  • 6. Y en la oficina… el duelo • Negación: • ”En mi maquina funciona” • Negociación: • Vamos a forzar que los tests “pasen” • QA no ha validado esa “feature”. Se queda fuera. • Depresión: • Tenemos dos horas para un merge y no nos va a dar tiempo • La persona que hace el deploy tarda 4h. si no hay problemas • Tenemos una ventana de 6h. para hacer la subida • Ira: • La culpa es del commit de “fulano”. Encima hoy se ha ido pronto a casa… • Aceptación: • Este fin de semana me va a tocar trabajar
  • 7.
  • 8. Continuous Integration • Mantener un solo repositorio de código fuente • Automatizar la “build” • Automatizar los “tests” dentro de la “build” • Todo el mundo hace “commit(s)” cada día • Todo “commit” lanza una “build” en una máquina de integración • Mantener la “build” rápida • Probar la aplicación en una “copia” del entorno de producción
  • 9. Continuous Delivery • La entrega e implementación del software debe ser repetible y fiable • Automatizar todo • Si algo es duro o difícil, hacerlo más a menudo • Mantener todo en control de código fuente • Hecho significa publicado | Done = Released • Construir con calidad • Todo el mundo es responsable del proceso de publicación • Mejora continua
  • 10. Continuous Deployment • Cada “commit” a la rama principal crea una versión candidata • Feedback rápido de la “build” con integración continua • Una vez conseguido esto, el “commit” se implementa en el siguiente entorno para las pruebas automáticas • Si las pruebas tienen éxito, entonces puede entrar en producción
  • 11. Continuous Delivery and Deployment Deploy to Producion Commit code Build Unit Tests Commit code Build Unit Tests Deploy to Test Integration and Acceptance Tests Commit code Build Unit Tests Deploy to Test Integration and Acceptance Tests Continuous Integration Continuous Delivery Continuous Deployment
  • 13.
  • 14. VCS – Git and TFVC Project Tools for Agile and Scrum Build Services Load Testing Release Management Visual Studio Team Services
  • 15. VSTS Build Services • Orquesta las “builds” - no es un motor de “builds” • Multi-Plataforma (OSX, Linux y Windows) • Extensible – todas las tareas son Open Source • Las “builds” van a una cola para que los agentas puedan procesarlas • Microsoft proporciona agentes hospedados en azure, Windows. Y pronto Linux
  • 16. VSTS Release • Automatiza los “deployments” • Automatiza los workflows de aprovación • Se extiende igual que el sistema de “builds” • Tracking del estado de tus aplicaciones
  • 17. Demo
  • 19. Deploy to staging environmentCommit code Build Unit Tests Deploy to Test Swap staging with production Artifact Deployment Package Continuous Deployment