Top Banner
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
37

HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Feb 03, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

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)

Azure Camps

11 y 12 Mayo, Madrid

Page 2: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

web. www.ciin.estwitter. @MICCantabriaemail. [email protected]. geeks.ms/blogs/ciin

Angel Acha Centro de Innovación en IntegraciónMicrosoft Innovation Center - Cantabria

Azure Camps

Page 3: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Día 2 – Programación de la jornadaHora Sesión

9:00 – 10:15

Moviendo apps a la Plataforma de Windows Azure

10:30 – 11:45

Conectando con Aplicaciones Cloud

11:45 – 13:00

Resumen y descripción el paso a paso de construir una aplicación en Azure para lab. de la tarde

13:00 – 14:00

Comida

14:00 – 16:30

Construye tu propia aplicación con Windows Azure Platform

16:30 – 17:30

App Show: Compartición de experiencias

17:30 – 18:00

Roadmap de Azure

Page 4: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

¿Y ahora qué?

Page 5: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

¿Y ahora qué?Utilizar «cloud storage» desde tus aplicaciones on-premises

Windows Azure StorageSQL Azure

Combinar «cloud computing» 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

Page 6: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

¿Y ahora qué?Utilizar los servicios proporcionados por Azure AppFabric desde tus aplicaciones existentes

Access ControlService Bus

Crear una versión SaaS de tu aplicaciónEn vez de instalar SW en las máquinas de tus clientesMás escalable que una aplicación on-premises

Proporcionar servicios de soporte a plataforma cloud

Creando herramientasCreando componentes

Page 7: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Mover una aplicación a la nube

Page 8: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Mover una aplicación a la nubePrimer 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

Page 9: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Primer paso: Llegar a la nube1) Plantear el diagrama con la estructura de la aplicación actual

Page 10: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Primer paso: Llegar a la nube1) Plantear el diagrama con la estructura de la aplicación actual – Frontal Web

Page 11: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Primer paso: Llegar a la nube2) Establecer los objetivos y requerimientos

Que acceda a los mismos datos que versión on-premisesQuitar dependencias con AD¿Que información de diagnostico deseamos que obtenga?¿Cómo realizar la autenticación y seguridad?……..

Page 12: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Primer paso: Llegar a la nube3) Plantear la arquitectura de a aplicación tras migrar a la nube

Page 13: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Primer paso: Llegar a la nube4) Analizar la aplicación existente para determinar que piezas necesitamos cambiar al migrar a la nubeOn Premises Azure

Código de la aplicación Trasladarlo a roles

SQL Server SQL Azure

Enterprise Library Application Blocks

Enterprise Library Applications Blocks

ASP.NET Profiles (Profile Provider que utiliza SQL Server)

Guardar información de Profile en:• SQL Azure• Windows Azure Table Storage

Autenticación y Autorización mediante Active Directory

Autenticación y Autorización basada en Claims

Page 14: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Primer paso: Llegar a la nube5) Empezar a migrar

Crear el «web role»Realizar modificaciones en web.config para utilizar nuevo sistema de autenticaciónCrear las nuevas BD’s o sistemas de almacenamiento

SQL AzureWindows Azure Storage

Migrar los datosModificar 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 AzureModificar código de acceso a datos para que utilice Azure Storage

Page 15: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Primer paso: Llegar a la nube6) Establecer los métodos de configuración y despliegue

Nº de instancias de role, Upgrade Domains, Fault DomainsCrear scripts de despliegueUtilizar «Mock» Issuer….

Page 16: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Primer paso: Llegar a la nube7) Analizar los costes de la aplicación actual y como podríamos mejorar

En menor costeEn base a que conceptos me van a cobrar y cuantoEstimar los costes

Mejorar rendimiento y escalabilidad

Page 17: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

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 AzureEvaluar 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

Page 18: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Segundo paso: Mejorar la aplic.Migrar los procesos de servicio en background que

tengamos on-premises a worker roles de Azure

On premises Cloud

Page 19: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

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

Page 20: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

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

Page 21: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

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

Page 22: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Segundo paso: Mejorar la aplic.Sacar el máximo partido del Worker Role

Dependiendo de sus necesidades de computaciónPeriodicidad con la que se ejecuta

Page 23: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Tips:Aplicaciones basadas en

BD’s

Page 24: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Tips: Aplicaciones basadas en BDRealizar la migración de la BD’s SQL Server a SQL

AzureCrear «script» DDL con esquema de la BD utilizando SQL Server Management Studio u otras herramientasRealizar el volcado de los datos de SQL Server a SQL Azure

Utilizar Bulk Copy (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

Page 25: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Tips: Aplic. basadas en

ASP.NET

Page 26: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

StatelessnessLoad balancer round-robins requests in multi instance rolesFollow 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

Page 27: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

AJAX and Windows AzureClient side calls may not return to the same instance the original page came fromAJAX 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

Page 28: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Windows Azure Session StateWindows Azure Load Balancer uses round-robin allocation. Session state must persist to client or storage on every request

SQL Azure Windows Azure Storage

LB

session[“foo”] = 1; session[“foo”] = 2;

What is the value of session[“foo”]?

Page 29: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Solving Session StatePersist to Storage via Session State Provider

Windows Azure AppFabric CachingSQL AzureWindows Azure StorageCustom

Persist to ClientUse cookies

Don’t forget ASP.NET MVC TempData relies on Session State provider by default

Page 30: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Windows Azure AppFabric CachingUsing Windows Azure AppFabric Caching as the session storeIn-memory, distributed cacheBased on Windows Server AppFabric CachingUsed the Microsoft.Web.DistributedCache assembly found in the SDKEnable ASP.NET 4 Session CompressionCurrently available in AppFabric LABS Portal as CTP

Page 31: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

AppFabric Caching Session StateSession state stored using Windows Azure AppFabric Caching and an out-of-the-box session state provider

LB

session[“foo”] = 1; session[“foo”] = 2;

AppFabric Caching

What is the value of session[“foo”]?

Page 32: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

SQL Server Session StateUse SQL Azure as backing store

http://azuresqlsession.codeplex.com/wikipage?title=Home&ProjectName=azuresqlsession

Round trip to database twice per requestRead at request startWrite at request end

Enable ASP.NET 4 Session CompressionScale out across multiple DBs

Use session state partitioninghttp://tinyurl.com/scale-session

SQL Azure is competitive on cost basis

Page 33: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

SQL Azure Session StateSession state stored using SQL Server Session State Provider and session state partitioning

SQL Azure 3 x 1GB Databases

LB

session[“foo”] = 1;

resolve partition

session[“foo”] = 2;

What is the value of session[“foo”]?

Page 34: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Windows Azure Storage ProvidersSample ASP.NET Providers (Session, Membership, Role etc…)Sample Codehttp://code.msdn.microsoft.com/windowsazuresamplesUses Blob + Table StorageSeveral storage transactions per requestEnable ASP.NET 4 Session Compression

Sample Provider should be treated as a starting point only.

Page 35: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

CookiesSerialize and Encrypt state into cookiePossible to implement as Session State ProviderCookies add significant performance overheadCookies 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

Page 36: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Y ahora a construir nuestra aplicación en

Azure!!!!

Page 37: HoraSesión 9:00 – 10:15Moviendo apps a la Plataforma de Windows Azure 10:30 – 11:45Conectando con Aplicaciones Cloud 11:45 – 13:00Resumen y descripción.

Muchas gracias