SlideShare una empresa de Scribd logo
1 de 26
C#
Release Management con Visual
Studio y Azure
Ricardo Gonzalez Vargas
Microsoft Regional Director - Bogotá
CEO – Androcial / WomyAds.com
@rgonv - rgonzalez@androcial.com
http://about.me/ricardo.gonzalez
C#
Quien les habla?
C#
Agenda
• DevOps
• Los retos del despliegue de aplicaciones
• Tendencias del ciclo de vida de las aplicaciones
• Objetivos y problemas de la gestión de liberación
• El proceso de entrega
• Automatización
C#
Que es DevOps?
DevOps es una tarea de equipo
DevOps permite mejores
practicas de desarrollo y
entrega
Inversion complete en el ciclo
de vida DevOps acelera la ultima
milla de la entrega continua
App Lifecycle
C#
Que impulsa DevOps?
Los métodos agiles
aceleran el proceso de
construcción
Las actuales “mejores
practicas” de
ITLM/ITSM hacen del
proceso de entrega
algo confiable pero
no ágil
Desconexión entre
desarrollo y
operaciones
incrementa los errores
y MTTR
Determinar las
próximas
inversiones
basados en
aprendizaje
ProductionDevelopment
Collaboration
BACKLOG
REQUIREMENTS
C# NoOps
(small web teams,
start-ups)
Enterprise DevOps
(cross-functional
organizations)
WebOps
(Google, Amazon, Twitter,
Facebook, XBOX live, etc.)
Sabores de DevOps
C# Reducir el tiempo de reaccion
para satisfacer las necesidades
del negocio
Reducir la tasa de cambio y
falloIcrementar la tasa de
despliegue
Reducir el tiempo promedio
para deteccion y reparacion de
problemas (MTTD, MTTR)
Indicadores de Agilidad Indicadores de Confiabilidad
Metas y métricas de éxito en DevOps
C#
ProductionDevelopment
Collaboration
BACKLOG
REQUIREMENTS
Impedimentos actuales para DevOps
Liberaciones
inconsistentes y
caoticas
No tiene informacion
accionable y contextual
para resolver incidentes Seguimiento y gestion
inconsistente a traves de
equipos y herramientas
Priorizacion y validacion
basada en datos cuantitativos
y cualitativos
Resolucion y
deteccion rapida de
problemas en las
aplicaciones
C#
Retos de gestión de liberaciones (release
management)
C#
Tendencias del ciclo de vida de
aplicaciones
C#
Metas de la gestión de liberación
• Generación mas rápida de valor
• Software de alta calidad y baja tasa de defectos
• Reducción del riesgo de despliegue
• Mejoramiento continuo del proceso de liberación
• Provisión de métricas y transparencia
C#
Problemas de la gestión de liberación
• Producir resultados consistentes en el empaquetado y despliegue
• La asignación de recursos toma tiempo y es difícil de estimar
• Tantas piezas adicionan riesgo, complejidad y errores
C#
El proceso de Despliegue
C#
Optimización del ciclo de entrega
C#
Proceso de entrega
C#
Ciclo de liberación
C#
Demo
C#
Pila de
etapas
C#
Automatización de la liberación
C# Automates deployments
Automatizando el ciclo de liberación
DEV QAINT PROD
TeamFoundation
Server
C#Automation available to all stages
Automatizando el ciclo de liberación
DEV QAINT PROD
TeamFoundation
Server
C#Automates workflow
Automatización del ciclo de liberación
DEV QAINT PROD
Team
Foundation
Server
C#
DEV QAINT PROD
Team
Foundation
Server
Full traceability
Automatizando el ciclo de liberación
C#TeamFoundation
Server Drop Location
RM ClientRM Web
QA
DEV
RM Server
Como funciona
C#
Información adicional
Release Management for TFS 2013
http://www.microsoft.com/visualstudio/inrelease
Visual Studio 2013
http://www.visualstudio.com
Team Foundation Service
http://tfs.visualstudio.com/
Application Lifecycle Management
http://www.microsoft.com/visualstudio/eng/alm
C#

Más contenido relacionado

La actualidad más candente

DevOps. Integre las operaciones para una entrega continua
DevOps. Integre las operaciones para una entrega continuaDevOps. Integre las operaciones para una entrega continua
DevOps. Integre las operaciones para una entrega continuaDavid Alvarez Palomo
 
0062 Calm Ciclo De Vida De Desarrollo Colaborativo
0062 Calm Ciclo De Vida De Desarrollo Colaborativo0062 Calm Ciclo De Vida De Desarrollo Colaborativo
0062 Calm Ciclo De Vida De Desarrollo ColaborativoGeneXus
 
Alm como factor diferenciador
Alm como factor diferenciadorAlm como factor diferenciador
Alm como factor diferenciadorRodrigo Corral
 
DevOps Seminar Slides (Spanish version)
DevOps Seminar Slides (Spanish version)DevOps Seminar Slides (Spanish version)
DevOps Seminar Slides (Spanish version)XebiaLabs
 
Liquid Day - Desmitificando serverless
Liquid Day - Desmitificando serverlessLiquid Day - Desmitificando serverless
Liquid Day - Desmitificando serverlessSoftware Guru
 
Caminando hacia la agilidad con Visual Studio 2010
Caminando hacia la agilidad con Visual Studio 2010Caminando hacia la agilidad con Visual Studio 2010
Caminando hacia la agilidad con Visual Studio 2010Rodrigo Corral
 
t3chfest 2016 - Implementando microservicios, como y por que
t3chfest 2016 - Implementando microservicios, como y por quet3chfest 2016 - Implementando microservicios, como y por que
t3chfest 2016 - Implementando microservicios, como y por queFátima Casaú Pérez
 
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOps
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOpsWebinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOps
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOpsavanttic Consultoría Tecnológica
 
Arquitectura de web components - Plain Concepts Web Day
Arquitectura de web components - Plain Concepts Web DayArquitectura de web components - Plain Concepts Web Day
Arquitectura de web components - Plain Concepts Web DayPlain Concepts
 
Liquid Day - Capitalizando la automatizacion sin programar
Liquid Day - Capitalizando la automatizacion sin programarLiquid Day - Capitalizando la automatizacion sin programar
Liquid Day - Capitalizando la automatizacion sin programarSoftware Guru
 
Liquid Day - Testing de la teoria a practica
Liquid Day - Testing de la teoria a practicaLiquid Day - Testing de la teoria a practica
Liquid Day - Testing de la teoria a practicaSoftware Guru
 
Que demonios es eso de Devops (y porquedebería interesarme)
Que demonios es eso de Devops (y porquedebería interesarme)Que demonios es eso de Devops (y porquedebería interesarme)
Que demonios es eso de Devops (y porquedebería interesarme)Jacobo García López de Araujo
 
Global Azure Devops Bootcamp 2019 => Avengers EndGame
Global Azure Devops Bootcamp 2019 => Avengers EndGameGlobal Azure Devops Bootcamp 2019 => Avengers EndGame
Global Azure Devops Bootcamp 2019 => Avengers EndGameAdrian Diaz Cervera
 
Instalación y configuración de team foundation server 2010
Instalación y configuración de team foundation server 2010Instalación y configuración de team foundation server 2010
Instalación y configuración de team foundation server 2010Naim Jhon Cruzado Paredes
 

La actualidad más candente (20)

DevOps. Integre las operaciones para una entrega continua
DevOps. Integre las operaciones para una entrega continuaDevOps. Integre las operaciones para una entrega continua
DevOps. Integre las operaciones para una entrega continua
 
0062 Calm Ciclo De Vida De Desarrollo Colaborativo
0062 Calm Ciclo De Vida De Desarrollo Colaborativo0062 Calm Ciclo De Vida De Desarrollo Colaborativo
0062 Calm Ciclo De Vida De Desarrollo Colaborativo
 
Alm como factor diferenciador
Alm como factor diferenciadorAlm como factor diferenciador
Alm como factor diferenciador
 
DevOps Seminar Slides (Spanish version)
DevOps Seminar Slides (Spanish version)DevOps Seminar Slides (Spanish version)
DevOps Seminar Slides (Spanish version)
 
Liquid Day - Desmitificando serverless
Liquid Day - Desmitificando serverlessLiquid Day - Desmitificando serverless
Liquid Day - Desmitificando serverless
 
Caminando hacia la agilidad con Visual Studio 2010
Caminando hacia la agilidad con Visual Studio 2010Caminando hacia la agilidad con Visual Studio 2010
Caminando hacia la agilidad con Visual Studio 2010
 
t3chfest 2016 - Implementando microservicios, como y por que
t3chfest 2016 - Implementando microservicios, como y por quet3chfest 2016 - Implementando microservicios, como y por que
t3chfest 2016 - Implementando microservicios, como y por que
 
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOps
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOpsWebinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOps
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOps
 
Tfs 2012 tutorial
Tfs 2012   tutorialTfs 2012   tutorial
Tfs 2012 tutorial
 
El reto del DevOps agil
El reto del DevOps agilEl reto del DevOps agil
El reto del DevOps agil
 
Arquitectura de web components - Plain Concepts Web Day
Arquitectura de web components - Plain Concepts Web DayArquitectura de web components - Plain Concepts Web Day
Arquitectura de web components - Plain Concepts Web Day
 
Liquid Day - Capitalizando la automatizacion sin programar
Liquid Day - Capitalizando la automatizacion sin programarLiquid Day - Capitalizando la automatizacion sin programar
Liquid Day - Capitalizando la automatizacion sin programar
 
Automatización de la empresa digital: Control M
Automatización de la empresa digital: Control MAutomatización de la empresa digital: Control M
Automatización de la empresa digital: Control M
 
Liquid Day - Testing de la teoria a practica
Liquid Day - Testing de la teoria a practicaLiquid Day - Testing de la teoria a practica
Liquid Day - Testing de la teoria a practica
 
Que demonios es eso de Devops (y porquedebería interesarme)
Que demonios es eso de Devops (y porquedebería interesarme)Que demonios es eso de Devops (y porquedebería interesarme)
Que demonios es eso de Devops (y porquedebería interesarme)
 
Global Azure Devops Bootcamp 2019 => Avengers EndGame
Global Azure Devops Bootcamp 2019 => Avengers EndGameGlobal Azure Devops Bootcamp 2019 => Avengers EndGame
Global Azure Devops Bootcamp 2019 => Avengers EndGame
 
Instalación y configuración de team foundation server 2010
Instalación y configuración de team foundation server 2010Instalación y configuración de team foundation server 2010
Instalación y configuración de team foundation server 2010
 
Microservicios - RabbitMQ
Microservicios - RabbitMQMicroservicios - RabbitMQ
Microservicios - RabbitMQ
 
ALM y Office 365
ALM y Office 365 ALM y Office 365
ALM y Office 365
 
Una introducción a la Integración continua
Una introducción a la Integración continuaUna introducción a la Integración continua
Una introducción a la Integración continua
 

Similar a 20150416 releasemanagement

Shift Left: En busca del éxito del software
Shift Left: En busca del éxito del softwareShift Left: En busca del éxito del software
Shift Left: En busca del éxito del softwareMarco Avendaño
 
Devsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivoDevsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivoLuciano Moreira da Cruz
 
Dynamics saturday madrid 2019 avanade dynamics saturday madrid 2019 2019.05.25
Dynamics saturday madrid 2019   avanade dynamics saturday madrid 2019 2019.05.25Dynamics saturday madrid 2019   avanade dynamics saturday madrid 2019 2019.05.25
Dynamics saturday madrid 2019 avanade dynamics saturday madrid 2019 2019.05.25Demian Raschkovan
 
Gestión de calidad en el departamento TI. El ingrediente indispensable
Gestión de calidad en el departamento TI. El ingrediente indispensableGestión de calidad en el departamento TI. El ingrediente indispensable
Gestión de calidad en el departamento TI. El ingrediente indispensableGlobe Testing
 
Devops talk
Devops talkDevops talk
Devops talk_Lagash
 
#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps
#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps
#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOpsHablemosDeTesting
 
Plantilla trabajo final_Ana_Jesus
Plantilla trabajo final_Ana_JesusPlantilla trabajo final_Ana_Jesus
Plantilla trabajo final_Ana_JesusAnnie Mrtx
 
Presentacion devops factory 2016_v1.0
Presentacion devops factory 2016_v1.0Presentacion devops factory 2016_v1.0
Presentacion devops factory 2016_v1.0DevopsFactory
 
02 proceso ciclodevida
02 proceso ciclodevida02 proceso ciclodevida
02 proceso ciclodevidaclaudiappaez
 
14 Tissat Solo Pruebas 2009
14 Tissat Solo Pruebas 200914 Tissat Solo Pruebas 2009
14 Tissat Solo Pruebas 2009Pepe
 
DevOps con Visual Studio Team Services
DevOps con Visual Studio Team ServicesDevOps con Visual Studio Team Services
DevOps con Visual Studio Team ServicesLuis Fraile
 
Cimientos(cap3)
Cimientos(cap3)Cimientos(cap3)
Cimientos(cap3)dlrdg
 
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletasWebinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletasatSistemas
 

Similar a 20150416 releasemanagement (20)

Shift Left: En busca del éxito del software
Shift Left: En busca del éxito del softwareShift Left: En busca del éxito del software
Shift Left: En busca del éxito del software
 
Devsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivoDevsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivo
 
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOpsMeetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
 
Dynamics saturday madrid 2019 avanade dynamics saturday madrid 2019 2019.05.25
Dynamics saturday madrid 2019   avanade dynamics saturday madrid 2019 2019.05.25Dynamics saturday madrid 2019   avanade dynamics saturday madrid 2019 2019.05.25
Dynamics saturday madrid 2019 avanade dynamics saturday madrid 2019 2019.05.25
 
Gestión de calidad en el departamento TI. El ingrediente indispensable
Gestión de calidad en el departamento TI. El ingrediente indispensableGestión de calidad en el departamento TI. El ingrediente indispensable
Gestión de calidad en el departamento TI. El ingrediente indispensable
 
Devops talk
Devops talkDevops talk
Devops talk
 
Devops talk
Devops talkDevops talk
Devops talk
 
#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps
#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps
#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps
 
Plantilla trabajo final_Ana_Jesus
Plantilla trabajo final_Ana_JesusPlantilla trabajo final_Ana_Jesus
Plantilla trabajo final_Ana_Jesus
 
Presentacion devops factory 2016_v1.0
Presentacion devops factory 2016_v1.0Presentacion devops factory 2016_v1.0
Presentacion devops factory 2016_v1.0
 
dev ops certified expert dce
dev ops certified expert dcedev ops certified expert dce
dev ops certified expert dce
 
DevOps on AZURE
DevOps on AZUREDevOps on AZURE
DevOps on AZURE
 
02 proceso ciclodevida
02 proceso ciclodevida02 proceso ciclodevida
02 proceso ciclodevida
 
14 Tissat Solo Pruebas 2009
14 Tissat Solo Pruebas 200914 Tissat Solo Pruebas 2009
14 Tissat Solo Pruebas 2009
 
Data Ops
Data OpsData Ops
Data Ops
 
Qualilogy Servicios - 2014
Qualilogy Servicios - 2014Qualilogy Servicios - 2014
Qualilogy Servicios - 2014
 
DevOps con Visual Studio Team Services
DevOps con Visual Studio Team ServicesDevOps con Visual Studio Team Services
DevOps con Visual Studio Team Services
 
Cimientos(cap3)
Cimientos(cap3)Cimientos(cap3)
Cimientos(cap3)
 
Los retos de un tester ágil
Los retos de un tester ágilLos retos de un tester ágil
Los retos de un tester ágil
 
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletasWebinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
 

Más de Ricardo González

20230812 -AWS Community Day Colombia - ¿Que diablos es el Gobierno de Nube_.pptx
20230812 -AWS Community Day Colombia - ¿Que diablos es el Gobierno de Nube_.pptx20230812 -AWS Community Day Colombia - ¿Que diablos es el Gobierno de Nube_.pptx
20230812 -AWS Community Day Colombia - ¿Que diablos es el Gobierno de Nube_.pptxRicardo González
 
20230511 Seguridad en la nube para Startups: Aprovecha las herramientas de AWS
20230511 Seguridad en la nube para Startups: Aprovecha las herramientas de AWS20230511 Seguridad en la nube para Startups: Aprovecha las herramientas de AWS
20230511 Seguridad en la nube para Startups: Aprovecha las herramientas de AWSRicardo González
 
20230524_Tendencias en Modernizacion , innovacion y transformacion en la nube
20230524_Tendencias en Modernizacion , innovacion y transformacion en la nube20230524_Tendencias en Modernizacion , innovacion y transformacion en la nube
20230524_Tendencias en Modernizacion , innovacion y transformacion en la nubeRicardo González
 
20190427 arquitectura de microservicios con contenedores
20190427 arquitectura de microservicios con contenedores20190427 arquitectura de microservicios con contenedores
20190427 arquitectura de microservicios con contenedoresRicardo González
 
20180520 expertslive ai_and_machine_learning_demistified
20180520 expertslive ai_and_machine_learning_demistified20180520 expertslive ai_and_machine_learning_demistified
20180520 expertslive ai_and_machine_learning_demistifiedRicardo González
 
20180616 r gonzalez_from once per month to multiple times a day b
20180616 r gonzalez_from once per month to multiple times a day b20180616 r gonzalez_from once per month to multiple times a day b
20180616 r gonzalez_from once per month to multiple times a day bRicardo González
 
20180421 gab azure_ai_services
20180421 gab azure_ai_services20180421 gab azure_ai_services
20180421 gab azure_ai_servicesRicardo González
 
Blockchain - Desmitificacion
Blockchain - DesmitificacionBlockchain - Desmitificacion
Blockchain - DesmitificacionRicardo González
 
20170209 dev day-websites_vs_cloudservices_vsservicefabric_scenarios
20170209 dev day-websites_vs_cloudservices_vsservicefabric_scenarios20170209 dev day-websites_vs_cloudservices_vsservicefabric_scenarios
20170209 dev day-websites_vs_cloudservices_vsservicefabric_scenariosRicardo González
 
20160410 despliegue de plantillas de azure resource manager con visual studio...
20160410 despliegue de plantillas de azure resource manager con visual studio...20160410 despliegue de plantillas de azure resource manager con visual studio...
20160410 despliegue de plantillas de azure resource manager con visual studio...Ricardo González
 
20130522 preparando el soporte de aplicaciones empresariales con windows azure
20130522 preparando el soporte de aplicaciones empresariales con windows azure20130522 preparando el soporte de aplicaciones empresariales con windows azure
20130522 preparando el soporte de aplicaciones empresariales con windows azureRicardo González
 
20130427 global azure bootcamp websites vs cloudservices scenarios
20130427 global azure bootcamp websites vs cloudservices scenarios20130427 global azure bootcamp websites vs cloudservices scenarios
20130427 global azure bootcamp websites vs cloudservices scenariosRicardo González
 
20130423 webcast desarrollo en azure con visual studio
20130423 webcast desarrollo en azure con visual studio20130423 webcast desarrollo en azure con visual studio
20130423 webcast desarrollo en azure con visual studioRicardo González
 
20120830 opciones de despliegue en windows azure
20120830   opciones de despliegue en windows azure20120830   opciones de despliegue en windows azure
20120830 opciones de despliegue en windows azureRicardo González
 

Más de Ricardo González (20)

20230812 -AWS Community Day Colombia - ¿Que diablos es el Gobierno de Nube_.pptx
20230812 -AWS Community Day Colombia - ¿Que diablos es el Gobierno de Nube_.pptx20230812 -AWS Community Day Colombia - ¿Que diablos es el Gobierno de Nube_.pptx
20230812 -AWS Community Day Colombia - ¿Que diablos es el Gobierno de Nube_.pptx
 
20230511 Seguridad en la nube para Startups: Aprovecha las herramientas de AWS
20230511 Seguridad en la nube para Startups: Aprovecha las herramientas de AWS20230511 Seguridad en la nube para Startups: Aprovecha las herramientas de AWS
20230511 Seguridad en la nube para Startups: Aprovecha las herramientas de AWS
 
20230524_Tendencias en Modernizacion , innovacion y transformacion en la nube
20230524_Tendencias en Modernizacion , innovacion y transformacion en la nube20230524_Tendencias en Modernizacion , innovacion y transformacion en la nube
20230524_Tendencias en Modernizacion , innovacion y transformacion en la nube
 
20190427 arquitectura de microservicios con contenedores
20190427 arquitectura de microservicios con contenedores20190427 arquitectura de microservicios con contenedores
20190427 arquitectura de microservicios con contenedores
 
20180520 expertslive ai_and_machine_learning_demistified
20180520 expertslive ai_and_machine_learning_demistified20180520 expertslive ai_and_machine_learning_demistified
20180520 expertslive ai_and_machine_learning_demistified
 
20180616 r gonzalez_from once per month to multiple times a day b
20180616 r gonzalez_from once per month to multiple times a day b20180616 r gonzalez_from once per month to multiple times a day b
20180616 r gonzalez_from once per month to multiple times a day b
 
20180421 gab azure_ai_services
20180421 gab azure_ai_services20180421 gab azure_ai_services
20180421 gab azure_ai_services
 
Blockchain - Desmitificacion
Blockchain - DesmitificacionBlockchain - Desmitificacion
Blockchain - Desmitificacion
 
20180912 intro toazure
20180912 intro toazure20180912 intro toazure
20180912 intro toazure
 
20170209 dev day-websites_vs_cloudservices_vsservicefabric_scenarios
20170209 dev day-websites_vs_cloudservices_vsservicefabric_scenarios20170209 dev day-websites_vs_cloudservices_vsservicefabric_scenarios
20170209 dev day-websites_vs_cloudservices_vsservicefabric_scenarios
 
Machine learning101
Machine learning101Machine learning101
Machine learning101
 
20160210 microsoft iot
20160210 microsoft iot20160210 microsoft iot
20160210 microsoft iot
 
2016 cloud summit_iot
2016 cloud summit_iot2016 cloud summit_iot
2016 cloud summit_iot
 
20160410 despliegue de plantillas de azure resource manager con visual studio...
20160410 despliegue de plantillas de azure resource manager con visual studio...20160410 despliegue de plantillas de azure resource manager con visual studio...
20160410 despliegue de plantillas de azure resource manager con visual studio...
 
20150415 csharp6.0
20150415 csharp6.020150415 csharp6.0
20150415 csharp6.0
 
20150415 roslyn
20150415 roslyn20150415 roslyn
20150415 roslyn
 
20130522 preparando el soporte de aplicaciones empresariales con windows azure
20130522 preparando el soporte de aplicaciones empresariales con windows azure20130522 preparando el soporte de aplicaciones empresariales con windows azure
20130522 preparando el soporte de aplicaciones empresariales con windows azure
 
20130427 global azure bootcamp websites vs cloudservices scenarios
20130427 global azure bootcamp websites vs cloudservices scenarios20130427 global azure bootcamp websites vs cloudservices scenarios
20130427 global azure bootcamp websites vs cloudservices scenarios
 
20130423 webcast desarrollo en azure con visual studio
20130423 webcast desarrollo en azure con visual studio20130423 webcast desarrollo en azure con visual studio
20130423 webcast desarrollo en azure con visual studio
 
20120830 opciones de despliegue en windows azure
20120830   opciones de despliegue en windows azure20120830   opciones de despliegue en windows azure
20120830 opciones de despliegue en windows azure
 

20150416 releasemanagement

  • 1. C# Release Management con Visual Studio y Azure Ricardo Gonzalez Vargas Microsoft Regional Director - Bogotá CEO – Androcial / WomyAds.com @rgonv - rgonzalez@androcial.com http://about.me/ricardo.gonzalez
  • 3. C# Agenda • DevOps • Los retos del despliegue de aplicaciones • Tendencias del ciclo de vida de las aplicaciones • Objetivos y problemas de la gestión de liberación • El proceso de entrega • Automatización
  • 4. C# Que es DevOps? DevOps es una tarea de equipo DevOps permite mejores practicas de desarrollo y entrega Inversion complete en el ciclo de vida DevOps acelera la ultima milla de la entrega continua App Lifecycle
  • 5. C# Que impulsa DevOps? Los métodos agiles aceleran el proceso de construcción Las actuales “mejores practicas” de ITLM/ITSM hacen del proceso de entrega algo confiable pero no ágil Desconexión entre desarrollo y operaciones incrementa los errores y MTTR Determinar las próximas inversiones basados en aprendizaje ProductionDevelopment Collaboration BACKLOG REQUIREMENTS
  • 6. C# NoOps (small web teams, start-ups) Enterprise DevOps (cross-functional organizations) WebOps (Google, Amazon, Twitter, Facebook, XBOX live, etc.) Sabores de DevOps
  • 7. C# Reducir el tiempo de reaccion para satisfacer las necesidades del negocio Reducir la tasa de cambio y falloIcrementar la tasa de despliegue Reducir el tiempo promedio para deteccion y reparacion de problemas (MTTD, MTTR) Indicadores de Agilidad Indicadores de Confiabilidad Metas y métricas de éxito en DevOps
  • 8. C# ProductionDevelopment Collaboration BACKLOG REQUIREMENTS Impedimentos actuales para DevOps Liberaciones inconsistentes y caoticas No tiene informacion accionable y contextual para resolver incidentes Seguimiento y gestion inconsistente a traves de equipos y herramientas Priorizacion y validacion basada en datos cuantitativos y cualitativos Resolucion y deteccion rapida de problemas en las aplicaciones
  • 9. C# Retos de gestión de liberaciones (release management)
  • 10. C# Tendencias del ciclo de vida de aplicaciones
  • 11. C# Metas de la gestión de liberación • Generación mas rápida de valor • Software de alta calidad y baja tasa de defectos • Reducción del riesgo de despliegue • Mejoramiento continuo del proceso de liberación • Provisión de métricas y transparencia
  • 12. C# Problemas de la gestión de liberación • Producir resultados consistentes en el empaquetado y despliegue • La asignación de recursos toma tiempo y es difícil de estimar • Tantas piezas adicionan riesgo, complejidad y errores
  • 13. C# El proceso de Despliegue
  • 20. C# Automates deployments Automatizando el ciclo de liberación DEV QAINT PROD TeamFoundation Server
  • 21. C#Automation available to all stages Automatizando el ciclo de liberación DEV QAINT PROD TeamFoundation Server
  • 22. C#Automates workflow Automatización del ciclo de liberación DEV QAINT PROD Team Foundation Server
  • 23. C# DEV QAINT PROD Team Foundation Server Full traceability Automatizando el ciclo de liberación
  • 24. C#TeamFoundation Server Drop Location RM ClientRM Web QA DEV RM Server Como funciona
  • 25. C# Información adicional Release Management for TFS 2013 http://www.microsoft.com/visualstudio/inrelease Visual Studio 2013 http://www.visualstudio.com Team Foundation Service http://tfs.visualstudio.com/ Application Lifecycle Management http://www.microsoft.com/visualstudio/eng/alm
  • 26. C#

Notas del editor

  1. DevOps is a relative new term, people refer to individual capabilities to automate the release pipeline as DevOps. However, DevOps is more than that is increasing the scope of agility and should be view as a team undertaking. It requires teams to look at their full lifecycle investments. At its core DevOps enables better software development and enables delivery, accelerating last mile of continuous delivery.
  2. What is driving DevOps? The agile methodologies are accelerating the construction process and creating a significant pressure to Operations teams to update their existing practices to make enable faster cadence, in other words changing and adopting existing process to not only be reliable but also support and agile cadence. In our internal teams and with some of our enterprise customers we noticed that once a team is able to accelerate the construction phase consistently. The next evolution process is to ensure such applications remind available and performing as expected. And when they aren’t having access to information and tools that allow both Operations and development teams to diagnostic and fix issues quickly. Then these teams become more sophisticated and mature and then they want to have access to customer usage information to use quantitative and qualitative data to help them determine the next set of investments and enable continuous learning.
  3. We observe three DevOps flavors: WebOps: companies and teams that have high levels of automation and deliver incremental updates and value very frequently (often hourly. xBox live or Big are good internal examples). NoOps: applies to small teams or start-up teams where there isn’t a dedicated operations team, instead the developers perform operational work. And Enterprise DevOps: where there are dedicated Operations and Development teams, driving the need for great team collaboration.
  4. Companies looking at implementing DevOps practices are balancing two important performance indicators. Agility: their ability to increase deployment frequency and reduce change lead time to react to dynamic business needs. And Reliability: reducing change fail rate and reduce the time to take them to detect and repair production issues. These are very hard to balance metrics and create friction across teams.
  5. When looking at these friction and challenging points we identify 5 top impediments for DevOps Inconsistent and chaotic releases: how to shift from quarterly or monthly release to a more frequent release cadence like daily for example. When you have multiple teams releasing daily it is hard to keep track of what is going to production and who approved it. Quickly detect and resolve application issues: as the team increases their cadence and components run in hybrid environments it becomes more difficult to diagnostic issues in production without proper tools that facilitates this for developers. Inconsistent tracking and management of incidents across teams and tools: Developers and operations use their own tools to manage their own work, while this tools serve different purpose they need to be integrated so there is consistency traceability and transparency around managing incidents, tools that enable collaboration without adding unnecessary overhead. Prioritize and validate investments based on qualitative and quantitative data: allowing teams to be in continuous learning mode. No actionable and contextual info to resolve incidents: it is often the case that production is a unique environment and reproducing issues using pre-production environments could be challenging. To remove friction and increase efficiency, developers need access to rich diagnostics and information that allow them to resolve production issues quickly. So let’s take a look at each area, and talk about problems, solutions and customer value…
  6. Applications, and the associated set of user expectations, have evolved significantly over the past few years. Applications are expected to run on many different platforms, data is expected to be readily available, and social tools built in. In addition, as business needs and technology continues to change rapidly, developers need to be able to quickly deliver value to customers and integrate feedback. In this session, we’re going to dig deeply into how our new wave of products better enables continuous delivery.
  7. When we think about the lifecycle of a specific version of an application, we often break it down into the stages it must go through to see the light of production. You’ll typically start with a development environment for a developer or small team to coordinate on. After the build passes that stage, it’ll need to be run through an integration environment where the work from the entire application unit is brought together. If that all goes well, the app will need to be deployed to a QA environment for greater testing. With success there, it’ll move on to one or more stages of production in order to be accessible to users. [Build] As a build moves down the pipeline toward production, more people get involved and the need for coordination increases significantly. You also have to account for the nature of the deployment environments, especially as load testing and other requirements may result in differences in the topography of the environment itself. You want to make sure each phase has the same build deployed in the same way. And, of course, if you invest in automation, there’s testing time to take into account for the process itself.
  8. If we approach the process from a developer’s perspective, the steps abstract out a little bit. First, you’ll start off by writing code in your tool of choice. You’ll run builds and package as needed before provisioning an environment, deploying the app, and testing it. At the end, the app is approved and gets pushed out to production. [Build] However, it really turns out that the application is more likely to have lots of different builds deployed and tested before one passes the quality gate and can get pushed through. In addition, a build will likely need to go through the environments we discussed earlier, resulting in a need for the repeatable deployment model. [Build] Microsoft’s ALM platform is deigned to support this approach, which makes it easier for issues that get raised during the test process to cycle back through the development cycle so that they can be addressed and pushed through the release cycle again.
  9. A major goal is the ability to take a single build package and push it out to each environment in the same way. [Build] This drastically reduces the amount of manual effort required to update the environments and can make the entire process much smoother.
  10. Another important aspect to each release environment is what we’ll refer to as the “stage stack”. This is a simple layout of the steps typically required to get a packaged app from a build location out to a prepared environment, through the necessary install and configuration, through the required tests, and finally approved for migration to the next stage. Microsoft has provided many of the tools to support this stack, although sometimes a little extra work is required to help it all work together. [Build] Lab Management is available to help provision environments. [Build] PowerShell is ideal for configuring environments. [Build] There are some useful built-in tools for deploying and installing the application itself. [Build] And lots of companies invest in their own custom tools to configure applications. [Build] Running automated tests during the release process is becoming the standard for applications of every type. [Build] Microsoft Test Manager handles the testing aspects. [Build] And now with Release Management for Team Foundation Server 2013, this entire process is only going to get better.
  11. One major benefit of the new Release Management Server for Team Foundation Server 2013 is that it provides all the automated deployment goodness we were discussing earlier.
  12. It also ensures that the deployments are pushed out the same way to all stages.
  13. Not only does it automate the overall workflow, but it provides the ability to automate approvals where necessary, such as early phase deployments. You can still keep manual approvals for deployments deeper in the release cycle.
  14. Finally, the whole process is recorded so that you can enjoy full traceability throughout the process. This is extremely valuable in scenarios where there are strict compliance requirements for legal or other reasons.
  15. Let’s take a look at how the new release management infrastructure fits into your development environment. [Build] First, you’ll deploy Release Management Server. [Build] Next, you’ll install deployment nodes on the target systems in your deployment environments. [Build] You can then configure Release Management Server to pull builds from TFS and push them out to the specified environment. [Build] There is also a client app and Web UI that allow users to interact with the release management, workflow, and reporting features. A release typically gets triggered by an automated event, whether it’s a check-in or on a schedule. However, you can manually create a release as well. Once a release is begun, it works its way down the “release path”, which might be “Dev to QA to Production” with automated and/or manual gates at each. The paths are composed on the various servers grouped into environments on which the testing for the stage is performed. Once an application needs to be deployed to a new environment, the server will queue deployment requests to all the required target servers for each component of the application. This allows an atomic deployment of all the components. The Release Management Deployment Agent running on each target server monitors the Release Management Server continually, at a configurable interval, and will pick the installation requests for the one or many components it needs to install locally. The Deployment Agent will then find and download the release package, provided by the Release Management Server. RMS calculates the location using the TFS API, if built by TFS, or using a predefined UNC path if not. Finally, the Deployment Agent downloads any additional executables, such as batch files, PowerShell scripts, EXEs, etc., to be run as part of the installation. These are additional deployment activities beyond the installation itself. Creating test data or triggering automated tests are common scenarios here.
  16. Preview URL: http://www.microsoft.com/visualstudio/inrelease/