Your SlideShare is downloading. ×
Destino la Nube 2012 - ALM para Azure
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Destino la Nube 2012 - ALM para Azure

1,919
views

Published on

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

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
1,919
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ALM para Azure Jose Luis Soriajlsoria@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
  • 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. AZURE PARA ALM
  • 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. 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. ALM PARA AZURE
  • 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. 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. 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. 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. DESARROLLO EN AZURE
  • 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. 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. 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. 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. Particularidades del desarrollo• ¡¡¡Staging cuesta dinero!!!• Storage cuesta dinero, pero en comparación es mucho más económico que Staging
  • 18. DEMO: ENTORNOS Y DEPURACIÓN
  • 19. PRUEBAS EN AZURE
  • 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. 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. 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. Pruebas manuales en Azure• Algunas características de Test Manager no funcionan en Azure – Análisis de tests impactados – Intellitrace
  • 24. Pruebas manuales en Azure• Nos podemos beneficiar enormemente si automatizamos el despliegue de los entornos
  • 25. DEMO: PRUEBAS MANUALES
  • 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. DEMO: PRUEBASAUTOMATIZADAS
  • 28. DESPLIEGUE Y ENTREGA EN AZURE
  • 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. 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. 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. 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. 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. ¿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. ¿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. DEMO:EMPAQUETADO Y DESPLIEGUE
  • 37. CONCLUSIONES
  • 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. ¿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