Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
-
Upload
jose-luis-soria -
Category
Documents
-
view
489 -
download
4
description
Transcript of Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
• Conjunto de prácticas que fomentan una
colaboración más estrecha entre los equipos de
desarrollo y de operaciones
• Aplicables en todos los proyectos
– De uso común en escenarios SaaS
• Imprescindibles para modelos como Entrega
Continua
¿Qué es DevOps?
• Ahorro de costes
• Máxima entrega de valor
• Equipos más productivos
• Tres objetivos medibles
– Menores costes operacionales
– Minimizar Cycle Time
– Minimizar Mean Time To Recover (MTTR)
¿Por qué DevOps?
Prácticas que fomentan la colaboración entre equipos
• Design for Operations
• Requisitos operacionales
• Pruebas de aceptación operacionales
• Aprovisionamiento de entornos
• Automatización de despliegues
• Automatización de promoción
• Detección y recuperación de errores
• Telemetría y analíticas
Implementando DevOps
Reduciendo costes
operacionales
Construir aplicaciones fácilmente administrables
• Compatibles con el entorno
• Ajustadas a los procesos y herramientas de IT
• Que informan de su estado de salud
• Configurables en tiempo de ejecución
• …
Design for Operations
• Registro en el visor de sucesos y en otros logs
• Instrumentación WMI
• Contadores de rendimiento
• Paquetes de instalación
• …
• http://dfo.codeplex.com/
Design for Operations: en la práctica
Las características que la aplicación tenga que
cumplir desde el punto de vista de operaciones, se
han de gestionar junto al resto de requisitos en
cuanto a la planificación del proyecto
Requisitos operacionales
• Registrar los requisitos operacionales junto al
resto y tenerlos en cuenta en la planificación
• Usar elementos de trabajo en TFS: Product
Backlog Item, Requirement, etc.
– Muchas veces es útil usar las condiciones de
aceptación
Requisitos operacionales: en la práctica
• El esfuerzo de pruebas sobre nuestra aplicación,
debe contemplar la verificación de los requisitos
operacionales
• Esta verificación puede (y debe, en la medida de lo
posible) ser automatizada e incorporada a la suite
de aceptación de la aplicación
Pruebas de aceptación operacionales
• Incluir las pruebas en los planes de prueba de
Microsoft Test Manager (o de la herramienta que
se use)
• Automatizar la ejecución: pruebas de integración,
grabaciones de test manager, pruebas de interfaz
de usuario (CodedUI)
Pruebas de aceptación operacionales: en la
práctica
Minimizando el
Cycle Time
• Cuanto menos tardamos en tener listo un entorno,
más se reduce el tiempo de ciclo
• El mayor ahorro de tiempo se consigue con la
automatización
Aprovisionamiento de entornos
• Gestión de entornos físicos
• System Center Virtual Machine Manager y otras
plataformas de virtualización
• Lab Manager
Aprovisionamiento de entornos: en la
práctica
• Los despliegues manuales son propensos a
errores, costosos y difícilmente reproducibles
• Automatizar siempre que sea posible. Automatizar
también el proceso de vuelta atrás
• Como último recurso, generar instaladores o
scripts que se puedan ejecutar. No basarse en
documentos
Automatización de despliegues
• Scripting (Team Build, MSBuild, PowerShell)
• Web Deploy / MSDeploy
• Proyectos de base de datos, desarrollo declarativo
• Lab Manager
– Entornos estándar
• Despliegue automático de TFSService a Azure
Automatización de despliegues: en la
práctica
• Las distintas versiones de la aplicación que se van
generando, pueden ser desplegadas y probadas
automáticamente en distintos entornos
• Cada publicación es desencadenada si el resultado
de la anterior fue satisfactorio
Automatización de promoción
Minimizando el
MTTR
• Los errores son menos costosos cuanto antes
aparecen en el ciclo de vida
• Incluso en un entorno de producción, es mejor
detectar y resolver los errores por ti mismo en
lugar de que los sufra el usuario
• Para resolver los errores necesitamos la máxima
información posible
Detección y recuperación de errores
• Monitorización con SCOM
– Sincronización de alertas con TFS
• Pruebas de rendimiento de VS con SCOM
– Global Service Monitor
• Intellitrace (en producción). Servidores de
símbolos
Detección y recuperación de errores: en la
práctica
• Monitorización de la aplicación en producción
• Informan de errores y también de patrones de
uso, problemas potenciales, etc.
Telemetría y analíticas
• Preemptive Analytics
Telemetría y analíticas: en la práctica
• ALM Team Lead at Plain Concepts
• Professional Scrum Trainer
http://geeks.ms/blogs/jlsoria
@jlsoriat
JOSE LUIS SORIA
Gracias!!!