ALM para Azure       Jose Luis Soriajlsoria@plainconcepts.com          @jlsoriat
Jose Luis Soria• ALM Team Lead at Plain Concepts• Professional Scrum Trainer       jlsoria@plainconcepts.com       http://...
Contenido• Azure para ALM• ALM para Azure  – Particularidades de los proyectos Azure  – ALM para el desarrollo  – ALM para...
AZURE PARA   ALM
Azure para ALM• Uso de Azure para dar soporte a actividades de  gestión del ciclo de vida de las aplicaciones• Proporciona...
Azure para ALM• Ejemplo: Uso de Azure para pruebas de carga  – Optimizando La Cura con Azure http://bit.ly/z4ajpw• Ejemplo...
ALM PARA  AZURE
ALM para Azure• Uso de prácticas y herramientas ALM para dar soporte  a proyectos Azure• Los proyectos Azure, como cualqui...
Particularidades de los proyectos Azure• El despliegue se realiza a dos entornos idénticos,  pero con distintas URL’s: sta...
Particularidades de los proyectos Azure• Las instancias se reciclan aleatoriamente, por lo  que la información almacenada ...
Particularidades de los proyectos Azure• El desarrollo se hace en local y la aplicación puede  ser ejecutada mediante el u...
DESARROLLO EN    AZURE
Flujo de despliegue durante el desarrolloDesarrollo local con los emuladores    Entorno híbrido usando Azure Storage      ...
Particularidades del desarrollo• La depuración sólo es posible en el emulador. Pero  podemos usar Intellitrace http://bit....
Particularidades del desarrollo• Pasaremos a usar Azure Storage cuando queramos  probar en el entorno real, o con volúmene...
Particularidades del desarrollo• Puedo usar transformaciones de ficheros de  configuración para manejar cambios de  config...
Particularidades del desarrollo• ¡¡¡Staging cuesta dinero!!!• Storage cuesta dinero, pero en comparación es  mucho más eco...
DEMO: ENTORNOS Y DEPURACIÓN
PRUEBAS EN  AZURE
Pruebas manuales en Azure• Podemos hacer uso de herramientas oriantadas a  testers, como Microsoft Test Manager• Es necesa...
Pruebas manuales en Azure• Es posible configurar entornos locales de pruebas  sin necesidad de instalar Visual Studio en e...
Pruebas manuales en Azure• Es posible que los testers necesiten determinados  datos de la ejecución y no tengan acceso (tr...
Pruebas manuales en Azure• Algunas características de Test Manager no  funcionan en Azure  – Análisis de tests impactados ...
Pruebas manuales en Azure• Nos podemos beneficiar enormemente si  automatizamos el despliegue de los entornos
DEMO: PRUEBAS  MANUALES
Pruebas automatizadas en Azure• Tenemos particularidades muy similares a las de  las pruebas manuales:  – Se necesita una ...
DEMO: PRUEBASAUTOMATIZADAS
DESPLIEGUE Y ENTREGA EN   AZURE
Automatización del despliegue• Primer paso: automatizar el empaquetado  – El empaquetado se puede automatizar utilizando  ...
Automatización del despliegue• Segundo paso: automatizar el despliegue del  paquete  – Se puede utilizar la API de Managem...
Automatización del despliegue• Información completa sobre el proceso:  – Continuous Delivery for Cloud Applications in Win...
Solución completa para TFS Build• Deploy To Azure http://bit.ly/lwKMeF  – Actividades de WF para TFS Build, incluyendo    ...
Despliegues con Web Deploy• Web Deploy (MSDeploy) puede ser utilizado para  actualizar roles en ejecución, sin necesidad d...
¿Se puede automatizar algo más?• Todo lo que está expuesto a través de la API de  Management es susceptible de ser automat...
¿Y algo más?• La gestión de entornos para pruebas manuales y  automatizadas puede ser automatizada (y es  recomendable hac...
DEMO:EMPAQUETADO Y  DESPLIEGUE
CONCLUSIONES
Conclusiones• Plantea una estrategia para optimizar el uso de los  entornos, orientada a todas las actividades ALM  (desar...
¿PREGUNTAS?• ALM Team Lead at Plain Concepts• Professional Scrum Trainer       jlsoria@plainconcepts.com       http://geek...
Destino la Nube 2012 - ALM para Azure
Upcoming SlideShare
Loading in …5
×

Destino la Nube 2012 - ALM para Azure

2,208 views

Published on

Presentación sobre ALM para Azure del evento "Destino la Nube 2012" de Microsoft

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,208
On SlideShare
0
From Embeds
0
Number of Embeds
1,079
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Destino la Nube 2012 - ALM para Azure

  1. 1. ALM para Azure Jose Luis Soriajlsoria@plainconcepts.com @jlsoriat
  2. 2. Jose Luis Soria• ALM Team Lead at Plain Concepts• Professional Scrum Trainer jlsoria@plainconcepts.com http://geeks.ms/blogs/jlsoria @jlsoriat
  3. 3. Contenido• Azure para ALM• ALM para Azure – Particularidades de los proyectos Azure – ALM para el desarrollo – ALM para las pruebas – ALM para el despliegue y la entrega
  4. 4. AZURE PARA ALM
  5. 5. Azure para ALM• Uso de Azure para dar soporte a actividades de gestión del ciclo de vida de las aplicaciones• Proporciona las ventajas de Cloud cuando necesitamos aplicarlas a ALM – Fiabilidad – Rendimiento – Escalabilidad – Seguridad –…
  6. 6. Azure para ALM• Ejemplo: Uso de Azure para pruebas de carga – Optimizando La Cura con Azure http://bit.ly/z4ajpw• Ejemplo: TFS Service – www.tfspreview.com
  7. 7. ALM PARA AZURE
  8. 8. ALM para Azure• Uso de prácticas y herramientas ALM para dar soporte a proyectos Azure• Los proyectos Azure, como cualquier otro desarrollo, tienen un ciclo de vida que es necesario gestionar – Gestión de la configuración – Soporte al desarrollo – Pruebas – Gestión de la entrega – Etc…
  9. 9. Particularidades de los proyectos Azure• El despliegue se realiza a dos entornos idénticos, pero con distintas URL’s: staging y production• Todas las instancias de nuestros servicios se ejecutan en la misma versión de sistema operativo, con las mismas actualizaciones aplicadas
  10. 10. Particularidades de los proyectos Azure• Las instancias se reciclan aleatoriamente, por lo que la información almacenada localmente puede perderse• Es posible tener actualizaciones en contexto de los servicios• El coste de los entornos es siempre claramente conocido
  11. 11. Particularidades de los proyectos Azure• El desarrollo se hace en local y la aplicación puede ser ejecutada mediante el uso de emuladores – Para desplegar en Azure, se crea un paquete que contiene todos los ficheros e información de configuración a desplegar
  12. 12. DESARROLLO EN AZURE
  13. 13. Flujo de despliegue durante el desarrolloDesarrollo local con los emuladores Entorno híbrido usando Azure Storage Despliegue completo en staging Swap de staging a producción
  14. 14. Particularidades del desarrollo• La depuración sólo es posible en el emulador. Pero podemos usar Intellitrace http://bit.ly/ckTDCD• También es posible activarlo en publicaciones sin Visual Studio http://bit.ly/dQld5w• El emulador “Compute” es muy similar al entorno en Azure, pero el emulador “Storage” no lo es http://bit.ly/xI1CV1
  15. 15. Particularidades del desarrollo• Pasaremos a usar Azure Storage cuando queramos probar en el entorno real, o con volúmenes de datos mayores• Pasaremos todo a Staging para validar el funcionamiento de los servicios. Desde ahí promocionamos a producción
  16. 16. Particularidades del desarrollo• Puedo usar transformaciones de ficheros de configuración para manejar cambios de configuración entre los distintos entornos – http://bit.ly/a5pdGx
  17. 17. Particularidades del desarrollo• ¡¡¡Staging cuesta dinero!!!• Storage cuesta dinero, pero en comparación es mucho más económico que Staging
  18. 18. DEMO: ENTORNOS Y DEPURACIÓN
  19. 19. PRUEBAS EN AZURE
  20. 20. Pruebas manuales en Azure• Podemos hacer uso de herramientas oriantadas a testers, como Microsoft Test Manager• Es necesario balancear la confiabilidad de las pruebas con el coste económico que suponen• Preparar planes de prueba que tengan en cuenta los distintos entornos (local, staging)• Ejecutar en Azure las pruebas de validación de la plataforma
  21. 21. Pruebas manuales en Azure• Es posible configurar entornos locales de pruebas sin necesidad de instalar Visual Studio en ellos – Instalar Azure SDK e IIS 7 – Usar CSRun.exe para lanzar la aplicación a partir de la carpeta CSX y el fichero CSFG• Tanto en entornos locales como al pasar a staging/producción, puede haber problemas con las URL’s (usar pasos compartidos en MTM)
  22. 22. Pruebas manuales en Azure• Es posible que los testers necesiten determinados datos de la ejecución y no tengan acceso (trazas, logs…)• Posible solución: los recolectores de datos y diagnósticos de MTM son personalizables – Es posible crear un recolector personalizado para obtener de Azure los datos que nos interesen, usando la API de extensibilidad de Test Manager y la de Azure http://bit.ly/i28QJx
  23. 23. Pruebas manuales en Azure• Algunas características de Test Manager no funcionan en Azure – Análisis de tests impactados – Intellitrace
  24. 24. Pruebas manuales en Azure• Nos podemos beneficiar enormemente si automatizamos el despliegue de los entornos
  25. 25. DEMO: PRUEBAS MANUALES
  26. 26. Pruebas automatizadas en Azure• Tenemos particularidades muy similares a las de las pruebas manuales: – Se necesita una estrategia para optimizar el uso de los entornos – Puedo tener problemas con las URL’s• Para la automatización de pruebas se hace imprescindible la automatización de despliegues en entornos
  27. 27. DEMO: PRUEBASAUTOMATIZADAS
  28. 28. DESPLIEGUE Y ENTREGA EN AZURE
  29. 29. Automatización del despliegue• Primer paso: automatizar el empaquetado – El empaquetado se puede automatizar utilizando MSBuild – Se puede utilizar una construcción automatizada (de TFS) para hacerlo de forma desatendida MSBuild /t:Publish
  30. 30. Automatización del despliegue• Segundo paso: automatizar el despliegue del paquete – Se puede utilizar la API de Management de Azure http://bit.ly/nqBUta – Se pueden utilizar los Cmdlets de Powershell de Windows Azure http://bit.ly/m75gEc – En cualquier caso, se puede utilizar una construcción automatizada (de TFS) para hacerlo de forma desatendida
  31. 31. Automatización del despliegue• Información completa sobre el proceso: – Continuous Delivery for Cloud Applications in Windows Azure http://bit.ly/y88Drv – Automated Build and Deployment with Windows Azure SDK 1.6 http://bit.ly/tbpa3R
  32. 32. Solución completa para TFS Build• Deploy To Azure http://bit.ly/lwKMeF – Actividades de WF para TFS Build, incluyendo empaquetado, despliegue, gestión de certificados, etc.
  33. 33. Despliegues con Web Deploy• Web Deploy (MSDeploy) puede ser utilizado para actualizar roles en ejecución, sin necesidad de crear un paquete• Es una forma fácil y rápida de subir cambios a la nube, para que estén disponibles rápidamente (por ejemplo para testing)• No es una opción para despliegues permanentes en producción, ya que los cambios se pierden cuando la instancia se reinicia• http://bit.ly/hcYD7w
  34. 34. ¿Se puede automatizar algo más?• Todo lo que está expuesto a través de la API de Management es susceptible de ser automatizado• Ejemplo: WF Activity Pack http://bit.ly/o0Xu3i – Trabajo con Blobs, Tablas y Servicio de Cache
  35. 35. ¿Y algo más?• La gestión de entornos para pruebas manuales y automatizadas puede ser automatizada (y es recomendable hacerlo) – Ejemplo en TFS: usar actividad InvokeProcess para ejecutar CSRun.exe
  36. 36. DEMO:EMPAQUETADO Y DESPLIEGUE
  37. 37. CONCLUSIONES
  38. 38. Conclusiones• Plantea una estrategia para optimizar el uso de los entornos, orientada a todas las actividades ALM (desarrollo, testing, despliegue)• Lo proyectos Azure tienen algunas particularidades que pueden gestionarse con las herramientas adecuadas: Intellitrace, Shared Steps, etc.• Aunque las pruebas en Azure cuestan dinero, no podemos prescindir de ellas• Automatiza todo lo posible
  39. 39. ¿PREGUNTAS?• ALM Team Lead at Plain Concepts• Professional Scrum Trainer jlsoria@plainconcepts.com http://geeks.ms/blogs/jlsoria Jose Luis Soria @jlsoriat ¡Gracias!Calendario cursos Professional Scrum 2012 http://bit.ly/xc3rPE

×