SlideShare una empresa de Scribd logo
Automatización de
    Despliegues

        Jose Luis Soria
 jlsoria@plainconcepts.com
           @jlsoriat
Jose Luis Soria


• ALM Team Lead at Plain Concepts
• Professional Scrum Trainer

       jlsoria@plainconcepts.com

       http://geeks.ms/blogs/jlsoria

       @jlsoriat      #secondnug
Contenido (I)

• Por qué automatizar
• Automatización de entornos
  – Lab Manager
  – Proyectos de servidor de SQL Server
  – Web Deploy
Contenido (II)

• Automatización de instalación
  – MSBuild y TFS Build
  – Versionado
  – Proyectos de instalación
  – Proyectos de base de datos
  – MSDeploy
Contenido (III)

• Automatización de configuración
  – Transformaciones de ficheros de configuración
  – Gestión de datos
  – Powershell
• Planes de contingencia
• Conclusiones
• Preguntas
Despliegues: situaciones típicas
El proceso típico de despliegue

•   Montones de documentos a seguir
•   Muchos pasos manuales
•   Discusiones con otros departamentos
•   Correcciones sobre la marcha
•   Entornos en distintos estados
•   Resultados impredecibles
•   Largas noches sin dormir
Desventajas de los despliegues manuales

• Cada vez que despliego, puedo cometer errores
  distintos
• El proceso no es repetible
• Hay que mantener documentación
• Se depende de personas concretas
• Es aburrido
• No hay garantías de que se siga el proceso
¡Automatización!

• El proceso de despliegue se hace repetible y
  auditable
• Está autodocumentado
• Se minimizan errores
• Se lanza con pulsar un botón
• No se depende de personas concretas
• La vuelta atrás se hace más sencilla
SecondNug Febrero 2012 - Automatización de despliegues
¿Qué significa desplegar una aplicación?

Desplegar:
• Instalar la aplicación en un entorno
SecondNug Febrero 2012 - Automatización de despliegues
¿Qué significa desplegar una aplicación?

Desplegar:
• Paso 1: Preparar el entorno en el que la aplicación
  va a ser ejecutada: hardware, software,
  infraestructura, servicios externos…
• Paso 2: Instalar la aplicación en el entorno
SecondNug Febrero 2012 - Automatización de despliegues
¿Qué significa desplegar una aplicación?

Desplegar:
• Paso 1: Preparar el entorno en el que la aplicación
  va a ser ejecutada: hardware, software,
  infraestructura, servicios externos…
• Paso 2: Instalar la aplicación en el entorno
• Paso 3: Configurar la aplicación, incluyendo datos
  necesarios y estado
SecondNug Febrero 2012 - Automatización de despliegues
¿Qué significa desplegar una aplicación?

Desplegar:
• Paso 1: Preparar el entorno en el que la aplicación
  va a ser ejecutada: hardware, software,
  infraestructura, servicios externos…
• Paso 2: Instalar la versión correcta de la aplicación
  en el entorno
• Paso 3: Configurar la aplicación, incluyendo datos
  necesarios y estado
SecondNug Febrero 2012 - Automatización de despliegues
Paso 1: automatizando entornos
Automatización de entornos

• ¿Cómo aprovisiono los entornos?
• ¿Cómo despliego y configuro los prerrequisitos
  (middleware) en las máquinas?
• ¿Cómo gestiono los entornos, una vez que están
  en marcha?
(I) Aprovisionamiento y configuración de
 servidores

• Opciones:
  – Aprovisionamiento y configuración completamente
    manual (no recomendable)
  – Instalación y configuración remota desatendida
  – Virtualización
  – Cloud
Instalación remota desatendida

• Windows Deployment Services
  http://bit.ly/wE6h8F
  – Despliegue remoto de sistema operativo, incluyendo
    drivers y configuración base
  – Proveedor de PXE
  – Las imágenes base se pueden crear y configurar
    usando Hyper-V
Virtualización

• Hyper-V & System Center Virtual Machine
  Manager http://bit.ly/wlaEUN
  – Uso de plantillas y de instantáneas
• Para entornos de pruebas: Lab Management
  http://bit.ly/wK6YO4
Cloud

• Azure www.windowsazure.com
  – Ventajas similares a la virtualización
  – Escalabilidad, disponibilidad y seguridad
    proporcionadas por el proveedor
  – El entorno está estandarizado
(II) Gestión de entornos

• Para entornos de pruebas: Lab Management
• Para entornos en general: System Center
  Operations Manager http://bit.ly/o8vZYa, políticas
  de Active Directory
Demo: aprovisionamiento de entornos
con Lab Management




http://bit.ly/xvCl9W
Gestión de prerrequisitos (middleware)

• Bases de datos (SQL Server): proyectos de servidor
  de Visual Studio http://bit.ly/wCu5ZW
• Servidores web (IIS): Web Deploy
  http://www.iis.net/download/webdeploy
• PowerShell
Demo: proyectos de servidor de SQL Server,
Web Deploy




http://bit.ly/xvCl9W
Paso 2: automatizando la instalación
¿Qué necesito para instalar una aplicación?

• Construir la aplicación
• Asegurarse de que es la versión correcta
• Dotarla de un mecanismo de instalación
Construir la aplicación

• MSBuild http://bit.ly/IhQVT
  – Plataforma estándar de construcción de .NET
  – Lenguaje + herramienta de línea de comandos
  – Extensible
• TFS Build http://bit.ly/hvTlnR
  – Construcción desatendida en un entorno controlado
  – Escalable a nivel empresarial
  – Personalizable http://bit.ly/gLf3jl
Demo: MSBuild & TFS Build




http://bit.ly/xvCl9W
Instalar la aplicación

• Crear scripts o instaladores para cada fase del
  despliegue
• Elegir la tecnología apropiada para cada elemento
• Utilizar los mismos scripts para todos los entornos
• Usar la herramienta de empaquetado del sistema
  operativo
• Hacer que el proceso de despliegue sea idempotente
• Comenzar desde el principio del proyecto e ir
  evolucionando
Instalar la aplicación: versionado

• Es imprescindible versionar cada construcción,
  para tener una visión clara de con cuál de ellas se
  está trabajando en cada momento
• Versionado de ensamblados: AssemblyInfo
  http://bit.ly/zmuW9e
• Versionado automático con TFS Build
  – TFSVersion en Community Build Extensions
    http://bit.ly/bS4XDK
Demo: Versionado




http://bit.ly/xvCl9W
Instalar la aplicación: empaquetado
 (servicios windows, escritorio)

• Generación de proyectos de instalación
  http://bit.ly/aSy71X
  – Visual Studio Setup projects (a extinguir)
  – WiX
  – InstallShield, Advanced Installer…
• Despliegue: ejecución desatendida del instalador
  – msiexec
  – Team deploy http://teamdeploy.codeplex.com/
Demo: Proyectos de instalación




http://bit.ly/xvCl9W
Instalar la aplicación: bases de datos

• Herramientas de base de datos de Visual Studio
  http://bit.ly/yECCtG
• Despliegue desatendido desde una construcción
  automatizada: MSBuild, vsdbcmd
  http://bit.ly/vB6G1
Demo: Herramientas de bases de datos




http://bit.ly/xvCl9W
Instalar la aplicación: aplicaciones web

• Web Deploy http://bit.ly/cUOpfw
  – Integrado con VS e IIS
  – Empaquetado y despliegue local y remoto
  – Incluyendo bases de datos
• Despliegue desatendido desde una construcción
  automatizada: MSDeploy
Demo: MSDeploy




http://bit.ly/xvCl9W
Paso 3: automatizando la configuración
¿Por qué automatizar la configuración?

• Se evitan errores al cambiar de entorno, o incluso
  de máquinas dentro del mismo entorno (ej.:
  cluster)
• Se ahorra mucho tiempo
• No es necesario modificar ficheros en entornos de
  producción
• Es muy fácil romper la aplicación por configuración
¿Cómo hacer la configuración
 automatizable?

• Identificar puntos en la aplicación susceptibles de
  ser configurables (evitar hardcoding, etc.)
• Mantener la configuración en control de versiones
• No modificarla a mano
• Hacerla dependiente de la versión y entorno
• No repetirse
• Incluirla en el esfuerzo de pruebas
Configuración: transformaciones de ficheros

• Incluido en el Web Deployment Toolkit
  http://bit.ly/pxs8NK
• Se define por cada configuración del proyecto
• También para proyectos no Web:
  http://bit.ly/otg3b1
• Transformación desatendida desde TFS Build
Demo: Transformaciones de ficheros de configurac




http://bit.ly/xvCl9W
Configuración: datos

• Data compare, incluido en las herramientas de
  bases de datos de Visual Studio
  http://bit.ly/xwhmoM
• Integrable en TFS Build: MSDeploy, vsdbcmd
Demo: Data Compare




http://bit.ly/xvCl9W
Configuración: artefactos en general y
 middleware

• Powershell http://bit.ly/fL1tcz
  – Shell estándar de Windows
  – Orientada a objetos
  – Posibilidad de ejecución en remoto
  – Snap-in’s para middleware
• Se puede ejecutar de forma desatendida desde
  TFS Build
Demo: Powershell




http://bit.ly/xvCl9W
Planes de contingencias
Planes de contingencias

• Es imprescindible tener un procedimiento claro de
  vuelta atrás, especialmente en entornos de
  producción
• Hay que tener en cuenta los datos y otros posibles
  sistemas afectados
• La técnica más simple y efectiva suele ser desplegar
  de nuevo la versión anterior; si el despliegue está
  automatizado (los tres pasos), esto es muy sencillo
• Técnicas más avanzadas: Blue-Green deployments,
  Canary Releasing
Conclusiones
Conclusiones

• Casi todo es automatizable
• Puedes empezar a automatizar ya. Como muy tarde, la
  segunda vez que te veas haciendo la misma tarea
  manualmente
• La automatización de despliegues es necesaria para la
  entrega continua (pero no suficiente)
• Es un esfuerzo que involucra a roles más allá del desarrollo
• Es responsabilidad de todos
• Es mejor automatizar los cambios a producción, que
  hacerlos a mano
Recursos

• Continuous Delivery http://bit.ly/wdmkLZ
• Inside the Microsoft Build Engine
  http://amzn.to/wZr5hp
• Powershell http://amzn.to/xBbqCV
• Professional ALM http://amzn.to/9jggZG

•   www.memegenerator.net
•   www.bitstrips.com
¿PREGUNTAS?


• ALM Team Lead at Plain Concepts
• Professional Scrum Trainer

       jlsoria@plainconcepts.com

       http://geeks.ms/blogs/jlsoria         Jose Luis Soria

       @jlsoriat        #secondnug          ¡Gracias!
Calendario cursos Professional Scrum 2012 http://bit.ly/xc3rPE

Más contenido relacionado

Similar a SecondNug Febrero 2012 - Automatización de despliegues

Visual Studio Tour Plain Concepts - ALM para Windows 8
Visual Studio Tour Plain Concepts - ALM para Windows 8Visual Studio Tour Plain Concepts - ALM para Windows 8
Visual Studio Tour Plain Concepts - ALM para Windows 8
Jose Luis Soria
 
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOpsJose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria
 
DevOps+[Chef/Docker]
 DevOps+[Chef/Docker] DevOps+[Chef/Docker]
DevOps+[Chef/Docker]
Christian Rodriguez
 
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
avanttic Consultoría Tecnológica
 
SEMANA IT 2013 - Distribucion de aplicaciones con System Center Configuration...
SEMANA IT 2013 - Distribucion de aplicaciones con System Center Configuration...SEMANA IT 2013 - Distribucion de aplicaciones con System Center Configuration...
SEMANA IT 2013 - Distribucion de aplicaciones con System Center Configuration...
Herman Arnedo
 
Construyendo tu propio laboratorio de pentesting
Construyendo tu propio laboratorio de pentestingConstruyendo tu propio laboratorio de pentesting
Construyendo tu propio laboratorio de pentesting
Jaime Andrés Bello Vieda
 
Memoria
MemoriaMemoria
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
wpargentina
 
Kubernetes para developers
Kubernetes para developersKubernetes para developers
Kubernetes para developers
Jaime Perera Merino
 
Despliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informáticaDespliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informática
ssuserbd237f
 
Test Unitarios y E2E front y Back
Test Unitarios y E2E front y BackTest Unitarios y E2E front y Back
Test Unitarios y E2E front y Back
Eric Zeidan
 
Leccion0 sisop
Leccion0 sisopLeccion0 sisop
Dynamics saturday madrid 2019 jose antonio estevan share
Dynamics saturday madrid 2019   jose antonio estevan shareDynamics saturday madrid 2019   jose antonio estevan share
Dynamics saturday madrid 2019 jose antonio estevan share
Demian Raschkovan
 
VDI Security
VDI SecurityVDI Security
VDI Security
Cristian Borghello
 
Software
SoftwareSoftware
Software
Eduardo Rolas
 
software
software software
software
Eduardo Rolas
 
software
softwaresoftware
software
Eduardo Rolas
 
Testlink
TestlinkTestlink
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualización
Marcelo Ochoa
 
52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...
52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...
52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...
GeneXus
 

Similar a SecondNug Febrero 2012 - Automatización de despliegues (20)

Visual Studio Tour Plain Concepts - ALM para Windows 8
Visual Studio Tour Plain Concepts - ALM para Windows 8Visual Studio Tour Plain Concepts - ALM para Windows 8
Visual Studio Tour Plain Concepts - ALM para Windows 8
 
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOpsJose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
 
DevOps+[Chef/Docker]
 DevOps+[Chef/Docker] DevOps+[Chef/Docker]
DevOps+[Chef/Docker]
 
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
 
SEMANA IT 2013 - Distribucion de aplicaciones con System Center Configuration...
SEMANA IT 2013 - Distribucion de aplicaciones con System Center Configuration...SEMANA IT 2013 - Distribucion de aplicaciones con System Center Configuration...
SEMANA IT 2013 - Distribucion de aplicaciones con System Center Configuration...
 
Construyendo tu propio laboratorio de pentesting
Construyendo tu propio laboratorio de pentestingConstruyendo tu propio laboratorio de pentesting
Construyendo tu propio laboratorio de pentesting
 
Memoria
MemoriaMemoria
Memoria
 
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
 
Kubernetes para developers
Kubernetes para developersKubernetes para developers
Kubernetes para developers
 
Despliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informáticaDespliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informática
 
Test Unitarios y E2E front y Back
Test Unitarios y E2E front y BackTest Unitarios y E2E front y Back
Test Unitarios y E2E front y Back
 
Leccion0 sisop
Leccion0 sisopLeccion0 sisop
Leccion0 sisop
 
Dynamics saturday madrid 2019 jose antonio estevan share
Dynamics saturday madrid 2019   jose antonio estevan shareDynamics saturday madrid 2019   jose antonio estevan share
Dynamics saturday madrid 2019 jose antonio estevan share
 
VDI Security
VDI SecurityVDI Security
VDI Security
 
Software
SoftwareSoftware
Software
 
software
software software
software
 
software
softwaresoftware
software
 
Testlink
TestlinkTestlink
Testlink
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualización
 
52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...
52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...
52 UTE - Una aplicación Smart Device completamente Off-line con GeneXus X Evo...
 

Más de Jose Luis Soria

Project Portfolio Management with Kanban in an international company
Project Portfolio Management with Kanban in an international companyProject Portfolio Management with Kanban in an international company
Project Portfolio Management with Kanban in an international company
Jose Luis Soria
 
Lean Kanban at Ria - Lean Kanban Southern Europe 2015
Lean Kanban at Ria - Lean Kanban Southern Europe 2015Lean Kanban at Ria - Lean Kanban Southern Europe 2015
Lean Kanban at Ria - Lean Kanban Southern Europe 2015
Jose Luis Soria
 
Things to do with the time you’ll save thanks to VSO
Things to do with the time you’ll save thanks to VSO Things to do with the time you’ll save thanks to VSO
Things to do with the time you’ll save thanks to VSO
Jose Luis Soria
 
Jose Luis Soria - Codemotion 2014 - Designing a release pipeline
Jose Luis Soria - Codemotion 2014 - Designing a release pipelineJose Luis Soria - Codemotion 2014 - Designing a release pipeline
Jose Luis Soria - Codemotion 2014 - Designing a release pipeline
Jose Luis Soria
 
Jose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release PipelineJose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria
 
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...
Jose Luis Soria
 
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...
Jose Luis Soria
 
Proyectos ágiles con Team Foundation Server - COITT
Proyectos ágiles con Team Foundation Server - COITTProyectos ágiles con Team Foundation Server - COITT
Proyectos ágiles con Team Foundation Server - COITT
Jose Luis Soria
 
ALM Tour 2013 - Responderá mi aplicación en el mundo real?
ALM Tour 2013 - Responderá mi aplicación en el mundo real?ALM Tour 2013 - Responderá mi aplicación en el mundo real?
ALM Tour 2013 - Responderá mi aplicación en el mundo real?
Jose Luis Soria
 
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valor
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valorALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valor
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valor
Jose Luis Soria
 
ALM Tour 2013 - Entregar a tiempo y sin errores
ALM Tour 2013 - Entregar a tiempo y sin erroresALM Tour 2013 - Entregar a tiempo y sin errores
ALM Tour 2013 - Entregar a tiempo y sin errores
Jose Luis Soria
 
Bcn devcon jose luis soria - patterns & antipatterns for delivery
Bcn devcon   jose luis soria - patterns & antipatterns for deliveryBcn devcon   jose luis soria - patterns & antipatterns for delivery
Bcn devcon jose luis soria - patterns & antipatterns for delivery
Jose Luis Soria
 
Real World Agile Roadshow 2013 - Planificación y Arquitectura Ágil
Real World Agile Roadshow 2013 - Planificación y Arquitectura ÁgilReal World Agile Roadshow 2013 - Planificación y Arquitectura Ágil
Real World Agile Roadshow 2013 - Planificación y Arquitectura Ágil
Jose Luis Soria
 
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFSALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
Jose Luis Soria
 
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis SoriaRoadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
Jose Luis Soria
 
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coaching
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coachingJose Luis Soria - CAS2012 - Cargo cult Agile training & coaching
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coaching
Jose Luis Soria
 
Cargo Cult Agile training & coaching
Cargo Cult Agile training & coachingCargo Cult Agile training & coaching
Cargo Cult Agile training & coaching
Jose Luis Soria
 
Agile Database Development - SDC2012
Agile Database Development - SDC2012Agile Database Development - SDC2012
Agile Database Development - SDC2012
Jose Luis Soria
 
12 Horas Visual Studio - Gestion de código y librerías compartidas con TFS y ...
12 Horas Visual Studio - Gestion de código y librerías compartidas con TFS y ...12 Horas Visual Studio - Gestion de código y librerías compartidas con TFS y ...
12 Horas Visual Studio - Gestion de código y librerías compartidas con TFS y ...
Jose Luis Soria
 
12 horas Visual Studio - TFS más ligero - en la nube
12 horas Visual Studio - TFS más ligero - en la nube12 horas Visual Studio - TFS más ligero - en la nube
12 horas Visual Studio - TFS más ligero - en la nube
Jose Luis Soria
 

Más de Jose Luis Soria (20)

Project Portfolio Management with Kanban in an international company
Project Portfolio Management with Kanban in an international companyProject Portfolio Management with Kanban in an international company
Project Portfolio Management with Kanban in an international company
 
Lean Kanban at Ria - Lean Kanban Southern Europe 2015
Lean Kanban at Ria - Lean Kanban Southern Europe 2015Lean Kanban at Ria - Lean Kanban Southern Europe 2015
Lean Kanban at Ria - Lean Kanban Southern Europe 2015
 
Things to do with the time you’ll save thanks to VSO
Things to do with the time you’ll save thanks to VSO Things to do with the time you’ll save thanks to VSO
Things to do with the time you’ll save thanks to VSO
 
Jose Luis Soria - Codemotion 2014 - Designing a release pipeline
Jose Luis Soria - Codemotion 2014 - Designing a release pipelineJose Luis Soria - Codemotion 2014 - Designing a release pipeline
Jose Luis Soria - Codemotion 2014 - Designing a release pipeline
 
Jose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release PipelineJose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release Pipeline
 
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...
 
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...
 
Proyectos ágiles con Team Foundation Server - COITT
Proyectos ágiles con Team Foundation Server - COITTProyectos ágiles con Team Foundation Server - COITT
Proyectos ágiles con Team Foundation Server - COITT
 
ALM Tour 2013 - Responderá mi aplicación en el mundo real?
ALM Tour 2013 - Responderá mi aplicación en el mundo real?ALM Tour 2013 - Responderá mi aplicación en el mundo real?
ALM Tour 2013 - Responderá mi aplicación en el mundo real?
 
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valor
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valorALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valor
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valor
 
ALM Tour 2013 - Entregar a tiempo y sin errores
ALM Tour 2013 - Entregar a tiempo y sin erroresALM Tour 2013 - Entregar a tiempo y sin errores
ALM Tour 2013 - Entregar a tiempo y sin errores
 
Bcn devcon jose luis soria - patterns & antipatterns for delivery
Bcn devcon   jose luis soria - patterns & antipatterns for deliveryBcn devcon   jose luis soria - patterns & antipatterns for delivery
Bcn devcon jose luis soria - patterns & antipatterns for delivery
 
Real World Agile Roadshow 2013 - Planificación y Arquitectura Ágil
Real World Agile Roadshow 2013 - Planificación y Arquitectura ÁgilReal World Agile Roadshow 2013 - Planificación y Arquitectura Ágil
Real World Agile Roadshow 2013 - Planificación y Arquitectura Ágil
 
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFSALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
 
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis SoriaRoadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
 
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coaching
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coachingJose Luis Soria - CAS2012 - Cargo cult Agile training & coaching
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coaching
 
Cargo Cult Agile training & coaching
Cargo Cult Agile training & coachingCargo Cult Agile training & coaching
Cargo Cult Agile training & coaching
 
Agile Database Development - SDC2012
Agile Database Development - SDC2012Agile Database Development - SDC2012
Agile Database Development - SDC2012
 
12 Horas Visual Studio - Gestion de código y librerías compartidas con TFS y ...
12 Horas Visual Studio - Gestion de código y librerías compartidas con TFS y ...12 Horas Visual Studio - Gestion de código y librerías compartidas con TFS y ...
12 Horas Visual Studio - Gestion de código y librerías compartidas con TFS y ...
 
12 horas Visual Studio - TFS más ligero - en la nube
12 horas Visual Studio - TFS más ligero - en la nube12 horas Visual Studio - TFS más ligero - en la nube
12 horas Visual Studio - TFS más ligero - en la nube
 

Último

Evolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TICEvolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TIC
Henry W. Zavala
 
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdfInforme_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Rubén Cortes Zavala
 
DN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en PerúDN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en Perú
estudios22
 
Catalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdfCatalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdf
walter729637
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
Katia Reyes
 
Generaciones de Computadoras .
Generaciones de Computadoras                 .Generaciones de Computadoras                 .
Generaciones de Computadoras .
gregory760891
 
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Telefónica
 
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
241578066
 
11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf
PanchoChangue
 
bomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexionesbomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexiones
JessAdrinGonzlezCade
 
_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf
correodetareas
 
Catálogo LG de lavadora de ropa , manual
Catálogo LG de lavadora de ropa , manualCatálogo LG de lavadora de ropa , manual
Catálogo LG de lavadora de ropa , manual
RobertoAlvarez835593
 
Conceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagaciónConceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagación
edgarcalle8
 
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptxDiapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
GnesisOrtegaDeLen
 
2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx
2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx
2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx
bellomiguelangel68
 
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
ADELAIDA90
 
TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
MenaOlortinYherlyEli
 
Transporte a través del tiempo en el perú.pdf
Transporte a través del tiempo en el perú.pdfTransporte a través del tiempo en el perú.pdf
Transporte a través del tiempo en el perú.pdf
milagrosAlbanPacherr
 
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docxSEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
Eddy Nathaly Jaimes Villamizar
 
590248542-Pruebas-de-auditoria-informatica.pdf
590248542-Pruebas-de-auditoria-informatica.pdf590248542-Pruebas-de-auditoria-informatica.pdf
590248542-Pruebas-de-auditoria-informatica.pdf
ivanbrito1105
 

Último (20)

Evolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TICEvolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TIC
 
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdfInforme_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
 
DN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en PerúDN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en Perú
 
Catalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdfCatalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdf
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
 
Generaciones de Computadoras .
Generaciones de Computadoras                 .Generaciones de Computadoras                 .
Generaciones de Computadoras .
 
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
 
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
 
11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf
 
bomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexionesbomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexiones
 
_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf
 
Catálogo LG de lavadora de ropa , manual
Catálogo LG de lavadora de ropa , manualCatálogo LG de lavadora de ropa , manual
Catálogo LG de lavadora de ropa , manual
 
Conceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagaciónConceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagación
 
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptxDiapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
 
2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx
2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx
2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx
 
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
 
TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
 
Transporte a través del tiempo en el perú.pdf
Transporte a través del tiempo en el perú.pdfTransporte a través del tiempo en el perú.pdf
Transporte a través del tiempo en el perú.pdf
 
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docxSEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
 
590248542-Pruebas-de-auditoria-informatica.pdf
590248542-Pruebas-de-auditoria-informatica.pdf590248542-Pruebas-de-auditoria-informatica.pdf
590248542-Pruebas-de-auditoria-informatica.pdf
 

SecondNug Febrero 2012 - Automatización de despliegues

  • 1. Automatización de Despliegues Jose Luis Soria jlsoria@plainconcepts.com @jlsoriat
  • 2. Jose Luis Soria • ALM Team Lead at Plain Concepts • Professional Scrum Trainer jlsoria@plainconcepts.com http://geeks.ms/blogs/jlsoria @jlsoriat #secondnug
  • 3. Contenido (I) • Por qué automatizar • Automatización de entornos – Lab Manager – Proyectos de servidor de SQL Server – Web Deploy
  • 4. Contenido (II) • Automatización de instalación – MSBuild y TFS Build – Versionado – Proyectos de instalación – Proyectos de base de datos – MSDeploy
  • 5. Contenido (III) • Automatización de configuración – Transformaciones de ficheros de configuración – Gestión de datos – Powershell • Planes de contingencia • Conclusiones • Preguntas
  • 7. El proceso típico de despliegue • Montones de documentos a seguir • Muchos pasos manuales • Discusiones con otros departamentos • Correcciones sobre la marcha • Entornos en distintos estados • Resultados impredecibles • Largas noches sin dormir
  • 8. Desventajas de los despliegues manuales • Cada vez que despliego, puedo cometer errores distintos • El proceso no es repetible • Hay que mantener documentación • Se depende de personas concretas • Es aburrido • No hay garantías de que se siga el proceso
  • 9. ¡Automatización! • El proceso de despliegue se hace repetible y auditable • Está autodocumentado • Se minimizan errores • Se lanza con pulsar un botón • No se depende de personas concretas • La vuelta atrás se hace más sencilla
  • 11. ¿Qué significa desplegar una aplicación? Desplegar: • Instalar la aplicación en un entorno
  • 13. ¿Qué significa desplegar una aplicación? Desplegar: • Paso 1: Preparar el entorno en el que la aplicación va a ser ejecutada: hardware, software, infraestructura, servicios externos… • Paso 2: Instalar la aplicación en el entorno
  • 15. ¿Qué significa desplegar una aplicación? Desplegar: • Paso 1: Preparar el entorno en el que la aplicación va a ser ejecutada: hardware, software, infraestructura, servicios externos… • Paso 2: Instalar la aplicación en el entorno • Paso 3: Configurar la aplicación, incluyendo datos necesarios y estado
  • 17. ¿Qué significa desplegar una aplicación? Desplegar: • Paso 1: Preparar el entorno en el que la aplicación va a ser ejecutada: hardware, software, infraestructura, servicios externos… • Paso 2: Instalar la versión correcta de la aplicación en el entorno • Paso 3: Configurar la aplicación, incluyendo datos necesarios y estado
  • 20. Automatización de entornos • ¿Cómo aprovisiono los entornos? • ¿Cómo despliego y configuro los prerrequisitos (middleware) en las máquinas? • ¿Cómo gestiono los entornos, una vez que están en marcha?
  • 21. (I) Aprovisionamiento y configuración de servidores • Opciones: – Aprovisionamiento y configuración completamente manual (no recomendable) – Instalación y configuración remota desatendida – Virtualización – Cloud
  • 22. Instalación remota desatendida • Windows Deployment Services http://bit.ly/wE6h8F – Despliegue remoto de sistema operativo, incluyendo drivers y configuración base – Proveedor de PXE – Las imágenes base se pueden crear y configurar usando Hyper-V
  • 23. Virtualización • Hyper-V & System Center Virtual Machine Manager http://bit.ly/wlaEUN – Uso de plantillas y de instantáneas • Para entornos de pruebas: Lab Management http://bit.ly/wK6YO4
  • 24. Cloud • Azure www.windowsazure.com – Ventajas similares a la virtualización – Escalabilidad, disponibilidad y seguridad proporcionadas por el proveedor – El entorno está estandarizado
  • 25. (II) Gestión de entornos • Para entornos de pruebas: Lab Management • Para entornos en general: System Center Operations Manager http://bit.ly/o8vZYa, políticas de Active Directory
  • 26. Demo: aprovisionamiento de entornos con Lab Management http://bit.ly/xvCl9W
  • 27. Gestión de prerrequisitos (middleware) • Bases de datos (SQL Server): proyectos de servidor de Visual Studio http://bit.ly/wCu5ZW • Servidores web (IIS): Web Deploy http://www.iis.net/download/webdeploy • PowerShell
  • 28. Demo: proyectos de servidor de SQL Server, Web Deploy http://bit.ly/xvCl9W
  • 29. Paso 2: automatizando la instalación
  • 30. ¿Qué necesito para instalar una aplicación? • Construir la aplicación • Asegurarse de que es la versión correcta • Dotarla de un mecanismo de instalación
  • 31. Construir la aplicación • MSBuild http://bit.ly/IhQVT – Plataforma estándar de construcción de .NET – Lenguaje + herramienta de línea de comandos – Extensible • TFS Build http://bit.ly/hvTlnR – Construcción desatendida en un entorno controlado – Escalable a nivel empresarial – Personalizable http://bit.ly/gLf3jl
  • 32. Demo: MSBuild & TFS Build http://bit.ly/xvCl9W
  • 33. Instalar la aplicación • Crear scripts o instaladores para cada fase del despliegue • Elegir la tecnología apropiada para cada elemento • Utilizar los mismos scripts para todos los entornos • Usar la herramienta de empaquetado del sistema operativo • Hacer que el proceso de despliegue sea idempotente • Comenzar desde el principio del proyecto e ir evolucionando
  • 34. Instalar la aplicación: versionado • Es imprescindible versionar cada construcción, para tener una visión clara de con cuál de ellas se está trabajando en cada momento • Versionado de ensamblados: AssemblyInfo http://bit.ly/zmuW9e • Versionado automático con TFS Build – TFSVersion en Community Build Extensions http://bit.ly/bS4XDK
  • 36. Instalar la aplicación: empaquetado (servicios windows, escritorio) • Generación de proyectos de instalación http://bit.ly/aSy71X – Visual Studio Setup projects (a extinguir) – WiX – InstallShield, Advanced Installer… • Despliegue: ejecución desatendida del instalador – msiexec – Team deploy http://teamdeploy.codeplex.com/
  • 37. Demo: Proyectos de instalación http://bit.ly/xvCl9W
  • 38. Instalar la aplicación: bases de datos • Herramientas de base de datos de Visual Studio http://bit.ly/yECCtG • Despliegue desatendido desde una construcción automatizada: MSBuild, vsdbcmd http://bit.ly/vB6G1
  • 39. Demo: Herramientas de bases de datos http://bit.ly/xvCl9W
  • 40. Instalar la aplicación: aplicaciones web • Web Deploy http://bit.ly/cUOpfw – Integrado con VS e IIS – Empaquetado y despliegue local y remoto – Incluyendo bases de datos • Despliegue desatendido desde una construcción automatizada: MSDeploy
  • 42. Paso 3: automatizando la configuración
  • 43. ¿Por qué automatizar la configuración? • Se evitan errores al cambiar de entorno, o incluso de máquinas dentro del mismo entorno (ej.: cluster) • Se ahorra mucho tiempo • No es necesario modificar ficheros en entornos de producción • Es muy fácil romper la aplicación por configuración
  • 44. ¿Cómo hacer la configuración automatizable? • Identificar puntos en la aplicación susceptibles de ser configurables (evitar hardcoding, etc.) • Mantener la configuración en control de versiones • No modificarla a mano • Hacerla dependiente de la versión y entorno • No repetirse • Incluirla en el esfuerzo de pruebas
  • 45. Configuración: transformaciones de ficheros • Incluido en el Web Deployment Toolkit http://bit.ly/pxs8NK • Se define por cada configuración del proyecto • También para proyectos no Web: http://bit.ly/otg3b1 • Transformación desatendida desde TFS Build
  • 46. Demo: Transformaciones de ficheros de configurac http://bit.ly/xvCl9W
  • 47. Configuración: datos • Data compare, incluido en las herramientas de bases de datos de Visual Studio http://bit.ly/xwhmoM • Integrable en TFS Build: MSDeploy, vsdbcmd
  • 49. Configuración: artefactos en general y middleware • Powershell http://bit.ly/fL1tcz – Shell estándar de Windows – Orientada a objetos – Posibilidad de ejecución en remoto – Snap-in’s para middleware • Se puede ejecutar de forma desatendida desde TFS Build
  • 52. Planes de contingencias • Es imprescindible tener un procedimiento claro de vuelta atrás, especialmente en entornos de producción • Hay que tener en cuenta los datos y otros posibles sistemas afectados • La técnica más simple y efectiva suele ser desplegar de nuevo la versión anterior; si el despliegue está automatizado (los tres pasos), esto es muy sencillo • Técnicas más avanzadas: Blue-Green deployments, Canary Releasing
  • 54. Conclusiones • Casi todo es automatizable • Puedes empezar a automatizar ya. Como muy tarde, la segunda vez que te veas haciendo la misma tarea manualmente • La automatización de despliegues es necesaria para la entrega continua (pero no suficiente) • Es un esfuerzo que involucra a roles más allá del desarrollo • Es responsabilidad de todos • Es mejor automatizar los cambios a producción, que hacerlos a mano
  • 55. Recursos • Continuous Delivery http://bit.ly/wdmkLZ • Inside the Microsoft Build Engine http://amzn.to/wZr5hp • Powershell http://amzn.to/xBbqCV • Professional ALM http://amzn.to/9jggZG • www.memegenerator.net • www.bitstrips.com
  • 56. ¿PREGUNTAS? • ALM Team Lead at Plain Concepts • Professional Scrum Trainer jlsoria@plainconcepts.com http://geeks.ms/blogs/jlsoria Jose Luis Soria @jlsoriat #secondnug ¡Gracias! Calendario cursos Professional Scrum 2012 http://bit.ly/xc3rPE