Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps

728 views

Published on

Presentación sobre DevOps en el Visual Studio Tour de Plain Concepts en Madrid (octubre 2012)

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
728
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps

  1. 1. DevOps Jose Luis Soriajlsoria@plainconcepts.com @jlsoriat
  2. 2. ¿Qué es 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
  3. 3. ¿Por qué 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)
  4. 4. Implementando DevOpsPrá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
  5. 5. Reduciendo costes operacionales
  6. 6. Design for OperationsConstruir 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• …
  7. 7. Design for Operations: en la práctica• Registro en el visor de sucesos y en otros logs• Instrumentación WMI• Contadores de rendimiento• Paquetes de instalación• …• http://dfo.codeplex.com/
  8. 8. Requisitos operacionalesLas características que la aplicación tenga quecumplir desde el punto de vista de operaciones, sehan de gestionar junto al resto de requisitos encuanto a la planificación del proyecto
  9. 9. Requisitos operacionales: en la práctica• 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
  10. 10. Pruebas de aceptación operacionales• 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
  11. 11. Pruebas de aceptación operacionales: en la práctica• 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)
  12. 12. Minimizando el Cycle Time
  13. 13. Aprovisionamiento de entornos• 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
  14. 14. Aprovisionamiento de entornos: en la práctica• Gestión de entornos físicos• System Center Virtual Machine Manager y otras plataformas de virtualización• Lab Manager
  15. 15. Automatización de despliegues• 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
  16. 16. Automatización de despliegues: en la práctica• 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
  17. 17. Automatización de promoción• 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
  18. 18. Minimizando el MTTR
  19. 19. Detección y recuperación de errores• 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
  20. 20. Detección y recuperación de errores: en la práctica• 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
  21. 21. Telemetría y analíticas• Monitorización de la aplicación en producción• Informan de errores y también de patrones de uso, problemas potenciales, etc.
  22. 22. Telemetría y analíticas: en la práctica• Preemptive Analytics
  23. 23. JOSE LUIS SORIA• ALM Team Lead at Plain Concepts• Professional Scrum Trainer jlsoria@plainconcepts.com http://geeks.ms/blogs/jlsoria @jlsoriat Gracias!!!

×