1 / 37

Azure Camps 11 y 12 Mayo, Madrid

Ponentes : Angel Acha ( Microsoft Innovation Center – Cantabria ) - www.ciin.es Gisela Torres ( Renacimiento ) - Roberto Gonzalez ( Renacimento ) - Luis Panzano (Microsoft Iberica ) Organiza : Ethel García (Microsoft Iberica ). Azure Camps 11 y 12 Mayo, Madrid.

aiko
Download Presentation

Azure Camps 11 y 12 Mayo, Madrid

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ponentes : Angel Acha ( Microsoft Innovation Center – Cantabria ) - www.ciin.esGisela Torres ( Renacimiento) -Roberto Gonzalez (Renacimento) -Luis Panzano (Microsoft Iberica)Organiza: Ethel García (Microsoft Iberica) AzureCamps 11 y 12 Mayo, Madrid

  2. web. www.ciin.estwitter. @MICCantabriaemail. aacha@ciin.esblog. geeks.ms/blogs/ciin AzureCamps Angel Acha Centro de Innovación en Integración Microsoft Innovation Center - Cantabria

  3. Día 2 – Programación de la jornada

  4. ¿Y ahora qué?

  5. ¿Y ahora qué? • Utilizar «cloudstorage» desde tus aplicaciones on-premises • Windows Azure Storage • SQL Azure • Combinar «cloudcomputing» con tus aplicaciones on-premises (para extender su funcionalidad) • Para crear un online-marketplace para tu aplicación • Para ejecutar tareas (cálculos) que requieran cargas de CPU intensas (repartiendo el trabajo entre varias instancias de worker role) • Añadir nueva funcionalidad a una aplicación ya existente

  6. ¿Y ahora qué? • Utilizar los servicios proporcionados por AzureAppFabric desde tus aplicaciones existentes • Access Control • Service Bus • Crear una versión SaaS de tu aplicación • En vez de instalar SW en las máquinas de tus clientes • Más escalable que una aplicación on-premises • Proporcionar servicios de soporte a plataforma cloud • Creando herramientas • Creando componentes

  7. Mover una aplicación a la nube

  8. Mover una aplicación a la nube • Primer paso: • Lograr que la aplicación se ejecute en la nube sin perder ninguna funcionalidad • Segundo paso: • Mejorar la aplicación haciendo uso de las funcionalidades disponibles en Azure

  9. Primer paso: Llegar a la nube • 1) Plantear el diagrama con la estructura de la aplicación actual

  10. Primer paso: Llegar a la nube • 1) Plantear el diagrama con la estructura de la aplicación actual – Frontal Web

  11. Primer paso: Llegar a la nube • 2) Establecer los objetivos y requerimientos • Que acceda a los mismos datos que versión on-premises • Quitar dependencias con AD • ¿Que información de diagnostico deseamos que obtenga? • ¿Cómo realizar la autenticación y seguridad? • ……..

  12. Primer paso: Llegar a la nube • 3) Plantear la arquitectura de a aplicación tras migrar a la nube

  13. Primer paso: Llegar a la nube • 4) Analizar la aplicación existente para determinar que piezas necesitamos cambiar al migrar a la nube

  14. Primer paso: Llegar a la nube • 5) Empezar a migrar • Crear el «web role» • Realizar modificaciones en web.config para utilizar nuevo sistema de autenticación • Crear las nuevas BD’s o sistemas de almacenamiento • SQL Azure • Windows Azure Storage • Migrar los datos • Modificar el código de la aplicación para que vaya a buscar los datos a la nueva ubicación • Modificar string de conexión para que apunte a BD en SQL Azure • Modificar código de acceso a datos para que utilice Azure Storage

  15. Primer paso: Llegar a la nube • 6) Establecer los métodos de configuración y despliegue • Nº de instancias de role, UpgradeDomains, FaultDomains • Crear scripts de despliegue • Utilizar «Mock» Issuer • ….

  16. Primer paso: Llegar a la nube • 7) Analizar los costes de la aplicación actual y como podríamos mejorar • En menor coste • En base a que conceptos me van a cobrar y cuanto • Estimar los costes • Mejorar rendimiento y escalabilidad

  17. Segundo paso: Mejorar la aplic. • Automatizar el despliegue • Crear Task de MSBuild que llamen a scripts de PowerShell • Usar Windows Azure Storage en vez de SQL Azure • Evaluar la posibildad de utilizar Azure Storage en vez de SQL Azure (más barato) • ¿Qué cambios sería necesario realizar en el código de la aplicación

  18. Segundo paso: Mejorar la aplic. • Migrar los procesos de servicio en background que tengamos on-premises a worker roles de Azure Onpremises Cloud

  19. Segundo paso: Mejorar la aplic. • Abstraer el worker role para poder reutilizarlo

  20. Segundo paso: Mejorar la aplic. • Abstraer el worker role para poder reutilizarlo

  21. Segundo paso: Mejorar la aplic. • Abstraer el worker role para poder reutilizarlo

  22. Segundo paso: Mejorar la aplic. • Sacar el máximo partido del Worker Role • Dependiendo de sus necesidades de computación • Periodicidad con la que se ejecuta

  23. Tips:Aplicaciones basadas en BD’s

  24. Tips: Aplicaciones basadas en BD • Realizar la migración de la BD’s SQL Server a SQL Azure • Crear «script» DDL con esquema de la BD utilizando SQL Server Management Studio u otras herramientas • Realizar el volcado de los datos de SQL Server a SQL Azure • Utilizar BulkCopy (bcp), u otra herramientas para realizar el volcado • Modificar el string de conexión para que el código de la aplicación vaya a buscar los datos a la nueva ubicación

  25. Tips: Aplic. basadas en ASP.NET

  26. Statelessness • Load balancer round-robins requests in multi instance roles • Follow web farm best practices • Do not store state on individual instances • Do not assume subsequent requests will hit the same instance • Don’t forget things like dynamically generated images loaded by a page

  27. AJAX and Windows Azure • Client side calls may not return to the same instance the original page came from • AJAX calls must be stateless • Don’t generate a page and leave state on the server to call via AJAX later • All instances require the same MachineKey for ViewState hashing • Fabric uses same machine key for all instances in a role

  28. Windows Azure Session State Windows Azure Load Balancer uses round-robin allocation. Session state must persist to client or storage on every request session[“foo”] = 1; session[“foo”] = 2; LB What is the value of session[“foo”]? SQL Azure Windows Azure Storage

  29. Solving Session State • Persist to Storage via Session State Provider • Windows Azure AppFabric Caching • SQL Azure • Windows Azure Storage • Custom • Persist to Client • Use cookies Don’t forget ASP.NET MVC TempData relies on Session State provider by default

  30. Windows Azure AppFabric Caching • Using Windows Azure AppFabric Caching as the session store • In-memory, distributed cache • Based on Windows Server AppFabric Caching • Used the Microsoft.Web.DistributedCache assembly found in the SDK • Enable ASP.NET 4 Session Compression • Currently available in AppFabric LABS Portal as CTP

  31. AppFabric Caching Session State Session state stored using Windows Azure AppFabric Caching and an out-of-the-box session state provider session[“foo”] = 1; session[“foo”] = 2; LB What is the value of session[“foo”]? AppFabric Caching

  32. SQL Server Session State • Use SQL Azure as backing store • http://azuresqlsession.codeplex.com/wikipage?title=Home&ProjectName=azuresqlsession • Round trip to database twice per request • Read at request start • Write at request end • Enable ASP.NET 4 Session Compression • Scale out across multiple DBs • Use session state partitioning • http://tinyurl.com/scale-session • SQL Azure is competitive on cost basis

  33. SQL Azure Session State Session state stored using SQL Server Session State Provider and session state partitioning session[“foo”] = 1; session[“foo”] = 2; LB resolve partition What is the value of session[“foo”]? SQL Azure 3 x 1GB Databases

  34. Windows Azure Storage Providers • Sample ASP.NET Providers (Session, Membership, Role etc…) • Sample Codehttp://code.msdn.microsoft.com/windowsazuresamples • Uses Blob + Table Storage • Several storage transactions per request • Enable ASP.NET 4 Session Compression Sample Provider should be treated as a starting point only.

  35. Cookies • Serialize and Encrypt state into cookie • Possible to implement as Session State Provider • Cookies add significant performance overhead • Cookies sent with every request to domain • Use alternative host header to serve images etchttp://www.myweb.comhttp://images.myweb.com • Use Windows Azure Storage for static content

  36. Y ahora a construir nuestra aplicación en Azure!!!!

  37. Muchas gracias

More Related