SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Recomendaciones para el
desarrollo en Microsoft
Azure
   Marzo de 2011

   Néstor Requesens | nestor.requesens@itequia.com
   Team Leader en Itequia
Índice

1.   Itequia
2.   Mapa tecnológico
3.   Escenarios prácticos para ISV
4.   8 Consideraciones de diseño
5.   8 «Best practices» para el desarrollo en Azure
6.   Windows Azure Platform AppFabric
7.   Conclusiones: Azure – Not to Azure
La especialización como garantía de éxito




                            «Nada se sabe bien
                            sino por medio de la experiencia» Sir Francis Bacon
Índice

1.   Itequia
2.   Mapa tecnológico
3.   Escenarios prácticos para ISV
4.   8 Consideraciones de diseño
5.   8 «Best practices» para el desarrollo en Azure
6.   Windows Azure Platform AppFabric
7.   Conclusiones: Azure – Not to Azure
Mapa tecnológico
Índice

1.   Itequia
2.   Mapa tecnológico
3.   Escenarios prácticos para ISV
4.   8 Consideraciones de diseño
5.   8 «Best practices» para el desarrollo en Azure
6.   Windows Azure Platform AppFabric
7.   Conclusiones: Azure – Not to Azure
Escenarios prácticos para ISV
Cloud Storage en aplicaciones internas (1)
                                                           Posible primer paso al mundo
                                                           del cloud computing
                                          Cloud Storage    Windows Azure Storage
                                                           Ejemplo: Aplicación que actualmente hace
         App Server
                                                           backups «on premise» puede hacer
                                                           backups «on cloud»

                                                           SQL Azure
                                                           Ejemplo: Aplicación que necesita compartir
                                                           un conjunto de tablas relacionales puede
 Users   Infraestructura interna   Infraestructura cloud   hacerlo en la nube
Escenarios prácticos para ISV
Combinar aplicaciones Cloud y aplicaciones internas (2)
                                                                              Windows Azure & SQL Azure
                                                                              Inicialmente puede no tener sentido
           App Server
                                                                              migrar millones de lineas de codigo a la
                                                  Cloud App
                                                                              nube...
                                                                              ...pero si puede tener sentido
                                                              Cloud Storage

Users                                                                         desarrollar las nuevas
                                                                              funcionalidades en la nube

                                                                              Ejemplo: Aplicación que en momentos
            Storage Server                                                    puntuales puede beneficiarse de mayor
                                                                              potencia de CPU o mas memoria
        Infraestructura interna   Infraestructura cloud
Escenarios prácticos para ISV
Crear una versión SaaS de nuestro producto (3)
                                                                Beneficios para los clientes SaaS:
                                                                •   No inversión inicial en la compra de servidores o
SaaS Customer                                                       licencias (menor riesgo)
                                                                •   Pago por uso (ejemplo: pago por usuario/mes)
                                                                •   Reducción en costes de deployment
                                        Cloud App and Storage
                                                                •   ...
On-pem Customers
                                                                Beneficios para los ISV:
                                                                •   Incremento potencial de ventas ya que el cliente tiene
                                                                    menos riesgo
                                                                •   Mayor facilidad en «updates» a los clientes. Se pueden
                                                                    actualizar todos al mismo tiempo
                   App Server
           Infraestructura interna   Infraestructura cloud      •   Mejor aprovechamiento de capacidades HW
Índice

1.   Itequia
2.   Mapa tecnológico
3.   Escenarios prácticos para ISV
4.   8 Consideraciones de diseño
5.   8 «Best practices» para el desarrollo en Azure
6.   Windows Azure Platform AppFabric
7.   Conclusiones: Azure – Not to Azure
Consideraciones de diseño
¿Donde ha de vivir nuestra aplicación?
¿Tendremos que ejecutar nuestra         ¿Como accede nuestra aplicación a la
aplicación de forma interna y externa   configuración?
simultáneamente?                        •   No podemos acceder al registro en la nube
                                        •   web.config, app.config no se pueden
¿Tendremos que condicionar el código        cambiar en tiempo de ejecución.
de nuestra aplicación?                  •   Utilizar Service Configuration u otros
                                            gestores dinámicos de configuración.
      if (WeAreInTheCloud == true)
      {

      }
           //Do something
                                        ¿Utiliza nuestra aplicación el sistema
      else
      {
           //Do something else
                                        de ficheros?
      }
Consideraciones de diseño
¿Donde ponemos nuestros datos?
                                                               (Storage)

SQL Azure es un subconjunto de SQL    Blobs: Máx. 1TB por BLOB
Server 2008                           Estructura simple para almacenar
                                      datos multimedia
Para migrar un esquema a SQL Azure    Tables: Máx. 100TB por Tabla
podemos utilizar herramientas como    «Tablas simples» no relacionales
SQL Azure Migration Wizard
                                      Queues: Su uso principal es permitir
Limite Máx. 50 GB por Base de datos   comunicación estructurada entre «Web
                                      Role» y «Worker Role»
Consideraciones de diseño
¿Cómo monitorizamos nuestra aplicación?
                                          La API de Windows Azure ofrece los
                                          ingredientes necesarios para monitorizar
                                          nuestra aplicación.

                                          Definir que información es necesaria en
¿Qué hacemos cuando algo va mal           caso de crisis y que información es
                                          necesaria para monitorear el
en nuestra aplicación?                    rendimiento normal de la aplicación.
En Azure no tendremos acceso directo a:
•   Ficheros de log                       Desarrollar servicios para poder obtener
•   Escritorio remoto                     estos datos bajo demanda o de
•   Diagnósticos del sistema              manera planificada.
Consideraciones de diseño
¿Dónde ponemos el estado y la cache?
Por norma general pensar en modo                         ¿Como usamos la sesión?
«stateless» es mejor en el mundo Azure.
Tenemos que ver nuestra aplicación
como distintas instancias y no como
una sola aplicación.
¿Como compartimos el estado y la
cache?
•   Utilizar «local storage» no será valido en caso de
    tener múltiples roles.
•   Tendremos que pensar en usar SQL Azure o Azure
                                                         Azure nos ofrece mecanismos para
    Storage para cualquier escenario distinto de         guardar la sesión en Azure Storage.
    «single-instance».                                   Utilizar: TableStorageSessionStateProvider
Consideraciones de diseño
¿Cómo hacemos los deployments?
                                         La API de Service Management que nos
                                         ofrece Windows Azure ofrece mas
                                         funcionalidades.
                                         •   Deployments Automáticos
                                         •   Cambios dinámicos en la configuración
                                         •   Automatizar los scale-ups /scale-downs

                                         Consideremos implementar una GUI para
                                         configurar / ejecutar las automatizaciones
                                         que implementemos con la API
Azure Developer Portal ofrece un
subconjunto de las funcionalidades que   Podemos guardar nuevo código y
tenemos para hacer «deployments».        configuraciones en Azure Storage
Consideraciones de diseño
¿Cómo hacemos backup?
Aunque los datos están replicados 3                    SQL Azure todavía no ofrece una
veces, podemos perder datos por                        estrategia para hacer backups.
culpa de fallos en nuestra aplicación o
por error del usuario.                    Opciones:
                                          •   Usar ADO.NET, ODBC u otras APIs para
                                              desarrollar nuestra utilidad de backups.
                                          •   Utilizar el Bulk Copy Program (BCP) para
                                              copiar de SQL a ficheros.
                                          •   Usar SQL Server Integration Services
                                          •   Copiar nuestra BD distinta en Azure.
                                          •   SQL Azure Data Sync (Labs)
                                          •   SQL Azure Migration Wizard
Consideraciones de diseño
¿Cómo escalaremos nuestra aplicación?

                                        Para nuestros servicios deberíamos
                                        desarrollar un mecanismo que nos
                                        alerte cuando debemos escalar.

                                        Podremos utilizar la API de Service
 La escalabilidad es una de             Management para ejecutar (o quitar)
 las razones de ser de Azure            instancias.

 Azure ofrece soluciones al escalado,   El tamaño de maquina virtual
 pero solo nosotros podemos             escogido jugará un papel importante
 determinar como y cuando escalar.      en las decisiones de escalado.
Consideraciones de diseño
¿Cómo autenticamos / autorizamos?
                            Normalmente nuestras aplicaciones
                            internas utilizan AD o ADFS para las
                            autenticaciones / autorizaciones.

                            Opciones Azure:
                            •   Forms Authentication contra Azure Storage
                                o SQL Azure
                            •   Claims-Based Authentication usando
                                Windows Identity Foundation y
                                consultando nuestro AD interno
                            •   AppFabric Access Control
Índice

1.   Itequia
2.   Mapa tecnológico
3.   Escenarios prácticos para ISV
4.   8 Consideraciones de diseño
5.   8 «Best practices» para el desarrollo en Azure
6.   Windows Azure Platform AppFabric
7.   Conclusiones: Azure – Not to Azure
«Best practices» para el desarrollo en Azure




           Validar la      Ejecutar como        Las buenas        Actualizar al
       compatibilidad de      mínimo 2       practicas de SOA      máximo las
       nuestro proyecto    instancias para      se adaptan         tecnologias
       con Azure des de    aplicaciones de   perfectamente a     Microsoft antes
          el principio           alta        Windows Azure      de migrar a Azure
                            disponibilidad
                            (Azure SLA)
«Best practices» para el desarrollo en Azure




         Migrar las      Aplicaciones       «Data center         Código y datos
        capas de las      «Sateless»          affinity»           en el mismo
        aplicaciónes                                                  sitio
       de una en una     ...y si hemos de     Usar «affinity
                        guardar el estado     groups» para         Evitar trafico
        ...y de forma                                            inecesario entre
        consolidada         hacerlo con     hosting, storage,
                           mecanismos       bases de datos,...    Azure y nuestra
                                Azure                              organización
Índice

1.   Itequia
2.   Mapa tecnológico
3.   Escenarios prácticos para ISV
4.   8 Consideraciones de diseño
5.   8 «Best practices» para el desarrollo en Azure
6.   Windows Azure Platform AppFabric
7.   Conclusiones: Azure – Not to Azure
¿Que es AppFabric: el lio de nombres?
Marketplace    DataMarket     Applications                                             2007- Internet Service Bus
                               Composite
Frameworks      Caching
                                 App
                                                                                        July 2008 - Project Zurich
                 Access
Security         Control

                                             Connect
Integration    Service Bus     Integration
                                             (BizTalk)                              2008 Net Services (como parte de
               Relational
                                                                                        Azures Services Platform)
Data           Database
                               DataSync      Reporting


Compute        Web Role       Worker Role    VM Role
                                                                                     2009 - Windows Server AppFabric
                                                                 Content Delivery
Storage       Table Storage   Blob Storage    Queue      Drive      Network



Networking      Connect                                                               Finally - Windows Azure Platform
                                                                                                   Appfabric
Para que nos entendamos...

 Middleware “en la nube” para desarrollar, desplegar y
  gestionar aplicaciones

 Solución integrada para extender las capacidades de
  los servicios en la nube

 Un modelo consistente de programación y una libreria
  de herramientas
Índice

1.   Itequia
2.   Mapa tecnológico
3.   Escenarios prácticos para ISV
4.   8 Consideraciones de diseño
5.   8 «Best practices» para el desarrollo en Azure
6.   Windows Azure Platform AppFabric
7.   Conclusiones: Azure – Not to Azure
Azure – Not to Azure
                     Aplicaciones que requieren
                 proximidad a otras aplicaciones     Para todo lo demás…
                                      concretas

                     Aplicaciones que necesitan
                     mucha agregación de datos


     Aplicaciones en las cuales se usan muchas
                        herramientas de terceros

Aplicaciones que requieran instalar componentes
                                    en el servidor
Recomendaciones para el
desarrollo en Microsoft
Azure
   Marzo de 2011

   Néstor Requesens | nestor.requesens@itequia.com
   Team Leader en Itequia

Más contenido relacionado

La actualidad más candente

Aws lean startups+-+jesus+contreras+-+spanish
Aws lean startups+-+jesus+contreras+-+spanishAws lean startups+-+jesus+contreras+-+spanish
Aws lean startups+-+jesus+contreras+-+spanish
GeneXus
 
Descubriendo Windows Azure Platform 16-02-2011
Descubriendo Windows Azure Platform 16-02-2011Descubriendo Windows Azure Platform 16-02-2011
Descubriendo Windows Azure Platform 16-02-2011
Gisela Torres
 
Computación en Windows Azure Platform 26 01-2011
Computación en Windows Azure Platform 26 01-2011Computación en Windows Azure Platform 26 01-2011
Computación en Windows Azure Platform 26 01-2011
Gisela Torres
 
Almacenamiento en Windows Azure - Parte 2
Almacenamiento en Windows Azure - Parte 2Almacenamiento en Windows Azure - Parte 2
Almacenamiento en Windows Azure - Parte 2
Jhoan Gonzales
 

La actualidad más candente (20)

Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
AWSome Day - Conferencia Online
AWSome Day - Conferencia OnlineAWSome Day - Conferencia Online
AWSome Day - Conferencia Online
 
AWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWS
AWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWSAWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWS
AWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWS
 
Descubriendo windows azure
Descubriendo windows azureDescubriendo windows azure
Descubriendo windows azure
 
Uso de Containers y Serverless para acelerar el desarrollo de aplicaciones mo...
Uso de Containers y Serverless para acelerar el desarrollo de aplicaciones mo...Uso de Containers y Serverless para acelerar el desarrollo de aplicaciones mo...
Uso de Containers y Serverless para acelerar el desarrollo de aplicaciones mo...
 
AWS Webinar Series Latinoamérica: Inteligencia Artificial en Servicios Financ...
AWS Webinar Series Latinoamérica: Inteligencia Artificial en Servicios Financ...AWS Webinar Series Latinoamérica: Inteligencia Artificial en Servicios Financ...
AWS Webinar Series Latinoamérica: Inteligencia Artificial en Servicios Financ...
 
Introduccion a Elastic Beanstalk AWS Roadshow Bogota Mexico
Introduccion a Elastic Beanstalk   AWS Roadshow Bogota MexicoIntroduccion a Elastic Beanstalk   AWS Roadshow Bogota Mexico
Introduccion a Elastic Beanstalk AWS Roadshow Bogota Mexico
 
AWS Summits América Latina 2015- SAP en AWS
AWS Summits América Latina 2015- SAP en AWSAWS Summits América Latina 2015- SAP en AWS
AWS Summits América Latina 2015- SAP en AWS
 
Cbs aws-fundamentals-1
Cbs aws-fundamentals-1Cbs aws-fundamentals-1
Cbs aws-fundamentals-1
 
Big Data: Arquitectura y mejores prácticas en AWS
Big Data: Arquitectura y mejores prácticas en AWSBig Data: Arquitectura y mejores prácticas en AWS
Big Data: Arquitectura y mejores prácticas en AWS
 
Comenzando con Aplicaciones Enterprise en AWS
Comenzando con Aplicaciones Enterprise en AWSComenzando con Aplicaciones Enterprise en AWS
Comenzando con Aplicaciones Enterprise en AWS
 
Comenzando con los Servicios Móviles en AWS
Comenzando con los Servicios Móviles en AWSComenzando con los Servicios Móviles en AWS
Comenzando con los Servicios Móviles en AWS
 
Aws lean startups+-+jesus+contreras+-+spanish
Aws lean startups+-+jesus+contreras+-+spanishAws lean startups+-+jesus+contreras+-+spanish
Aws lean startups+-+jesus+contreras+-+spanish
 
Introducción a Amazon EKS
Introducción a Amazon EKSIntroducción a Amazon EKS
Introducción a Amazon EKS
 
Descubriendo Windows Azure Platform 16-02-2011
Descubriendo Windows Azure Platform 16-02-2011Descubriendo Windows Azure Platform 16-02-2011
Descubriendo Windows Azure Platform 16-02-2011
 
AWSome Day - Conferencia Online Junio 2020
AWSome Day - Conferencia Online Junio 2020 AWSome Day - Conferencia Online Junio 2020
AWSome Day - Conferencia Online Junio 2020
 
Cloud + Docker - La arquitectura MELI usando AWS en la nube.
Cloud + Docker - La arquitectura MELI usando AWS en la nube.Cloud + Docker - La arquitectura MELI usando AWS en la nube.
Cloud + Docker - La arquitectura MELI usando AWS en la nube.
 
Computación en Windows Azure Platform 26 01-2011
Computación en Windows Azure Platform 26 01-2011Computación en Windows Azure Platform 26 01-2011
Computación en Windows Azure Platform 26 01-2011
 
Presentación cloud sourceit v7
Presentación cloud sourceit v7Presentación cloud sourceit v7
Presentación cloud sourceit v7
 
Almacenamiento en Windows Azure - Parte 2
Almacenamiento en Windows Azure - Parte 2Almacenamiento en Windows Azure - Parte 2
Almacenamiento en Windows Azure - Parte 2
 

Destacado

Codecamp 2009 Qué Hay De Nuevo Viejo
Codecamp 2009   Qué Hay De Nuevo ViejoCodecamp 2009   Qué Hay De Nuevo Viejo
Codecamp 2009 Qué Hay De Nuevo Viejo
Lluis Franco
 
зюзин
зюзинзюзин
зюзин
jin163
 
Metodologia de los sistemas blandos aplicada a la empresa sidecom
Metodologia de los sistemas blandos aplicada a la empresa sidecomMetodologia de los sistemas blandos aplicada a la empresa sidecom
Metodologia de los sistemas blandos aplicada a la empresa sidecom
eduardo lopez
 
приказ №479
приказ №479приказ №479
приказ №479
helen-66
 
Продолжительность жизни человека
Продолжительность жизни человекаПродолжительность жизни человека
Продолжительность жизни человека
NickEliot
 
Povaga pochinayetsya z_samogo_sebe
Povaga pochinayetsya z_samogo_sebePovaga pochinayetsya z_samogo_sebe
Povaga pochinayetsya z_samogo_sebe
Yarik Yatskovsky
 
жизненный путь моего прадедушки
жизненный путь моего прадедушкижизненный путь моего прадедушки
жизненный путь моего прадедушки
Olga Makarova
 

Destacado (20)

Paris Video Ppt
Paris Video  PptParis Video  Ppt
Paris Video Ppt
 
ммм
мммммм
ммм
 
Codecamp 2009 Qué Hay De Nuevo Viejo
Codecamp 2009   Qué Hay De Nuevo ViejoCodecamp 2009   Qué Hay De Nuevo Viejo
Codecamp 2009 Qué Hay De Nuevo Viejo
 
зюзин
зюзинзюзин
зюзин
 
Presentación1(1)
 Presentación1(1) Presentación1(1)
Presentación1(1)
 
Metodologia de los sistemas blandos aplicada a la empresa sidecom
Metodologia de los sistemas blandos aplicada a la empresa sidecomMetodologia de los sistemas blandos aplicada a la empresa sidecom
Metodologia de los sistemas blandos aplicada a la empresa sidecom
 
Madrid: Global Privacy Standards in a Global World: remote participation
Madrid: Global Privacy Standards in a Global World: remote participationMadrid: Global Privacy Standards in a Global World: remote participation
Madrid: Global Privacy Standards in a Global World: remote participation
 
Montréal Métropole Numérique - retour discussions - atelier 1
Montréal Métropole Numérique -  retour discussions - atelier 1Montréal Métropole Numérique -  retour discussions - atelier 1
Montréal Métropole Numérique - retour discussions - atelier 1
 
приказ №479
приказ №479приказ №479
приказ №479
 
Stream
StreamStream
Stream
 
Продолжительность жизни человека
Продолжительность жизни человекаПродолжительность жизни человека
Продолжительность жизни человека
 
Vconnectaandthe environment
Vconnectaandthe environmentVconnectaandthe environment
Vconnectaandthe environment
 
Gallego & Martos
Gallego & MartosGallego & Martos
Gallego & Martos
 
7 Grado M Ok
7 Grado M Ok7 Grado M Ok
7 Grado M Ok
 
20 novosty
20 novosty20 novosty
20 novosty
 
Povaga pochinayetsya z_samogo_sebe
Povaga pochinayetsya z_samogo_sebePovaga pochinayetsya z_samogo_sebe
Povaga pochinayetsya z_samogo_sebe
 
Семейный праздник. День варенья
Семейный праздник. День вареньяСемейный праздник. День варенья
Семейный праздник. День варенья
 
книги о космосе
книги о космосекниги о космосе
книги о космосе
 
жизненный путь моего прадедушки
жизненный путь моего прадедушкижизненный путь моего прадедушки
жизненный путь моего прадедушки
 
Cast list
Cast listCast list
Cast list
 

Similar a Fast tracktothecloud nestorrequesens-itequia-20110331

Cloud computing
Cloud computingCloud computing
Cloud computing
bgarcial
 
Cloud computing
Cloud computingCloud computing
Cloud computing
carcass316
 
Plataforma windows azure
Plataforma windows azurePlataforma windows azure
Plataforma windows azure
Leonardo Mejia
 
originalgeasgwsagvewsgvesgvesgvesgvesg.pdf
originalgeasgwsagvewsgvesgvesgvesgvesg.pdforiginalgeasgwsagvewsgvesgvesgvesgvesg.pdf
originalgeasgwsagvewsgvesgvesgvesgvesg.pdf
randomtable4
 

Similar a Fast tracktothecloud nestorrequesens-itequia-20110331 (20)

Computo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptxComputo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptx
 
Migrando Una Aplicación OnPremise existente a Windows Azure
Migrando Una Aplicación OnPremise existente a Windows AzureMigrando Una Aplicación OnPremise existente a Windows Azure
Migrando Una Aplicación OnPremise existente a Windows Azure
 
Platzi Azure.pptx
Platzi Azure.pptxPlatzi Azure.pptx
Platzi Azure.pptx
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
WhyFLOSS - Como evitar caer cautivo de las Nubes Propietarias
WhyFLOSS - Como evitar caer cautivo de las Nubes PropietariasWhyFLOSS - Como evitar caer cautivo de las Nubes Propietarias
WhyFLOSS - Como evitar caer cautivo de las Nubes Propietarias
 
Cloud Security Fundamentals.pptx
Cloud Security Fundamentals.pptxCloud Security Fundamentals.pptx
Cloud Security Fundamentals.pptx
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Como se movió Softeng Portal Builder al Cloud en Microsoft Windows Azure
Como se movió Softeng Portal Builder al Cloud en Microsoft Windows AzureComo se movió Softeng Portal Builder al Cloud en Microsoft Windows Azure
Como se movió Softeng Portal Builder al Cloud en Microsoft Windows Azure
 
Computacion en la nube
Computacion en la nubeComputacion en la nube
Computacion en la nube
 
Computacion III
Computacion IIIComputacion III
Computacion III
 
Plataforma windows azure
Plataforma windows azurePlataforma windows azure
Plataforma windows azure
 
Plataforma de computacion en la nube
Plataforma de computacion en la nubePlataforma de computacion en la nube
Plataforma de computacion en la nube
 
Microservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMwareMicroservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMware
 
Introducción a la Nube de Azure con ENCAMINA
Introducción a la Nube de Azure con ENCAMINAIntroducción a la Nube de Azure con ENCAMINA
Introducción a la Nube de Azure con ENCAMINA
 
Evento IDC Cloud Computing 2011-Como mover una gran aplicación a Windows Azur...
Evento IDC Cloud Computing 2011-Como mover una gran aplicación a Windows Azur...Evento IDC Cloud Computing 2011-Como mover una gran aplicación a Windows Azur...
Evento IDC Cloud Computing 2011-Como mover una gran aplicación a Windows Azur...
 
originalgeasgwsagvewsgvesgvesgvesgvesg.pdf
originalgeasgwsagvewsgvesgvesgvesgvesg.pdforiginalgeasgwsagvewsgvesgvesgvesgvesg.pdf
originalgeasgwsagvewsgvesgvesgvesgvesg.pdf
 
Automatización del despliegue de aplicaciones multi cloud
Automatización del despliegue de aplicaciones multi cloudAutomatización del despliegue de aplicaciones multi cloud
Automatización del despliegue de aplicaciones multi cloud
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Taller 3 11 1
Taller 3 11 1Taller 3 11 1
Taller 3 11 1
 

Más de MICProductivity

Redes Sociales Corporativas -. Una vision global de Yanmmer
Redes Sociales Corporativas -. Una vision global de YanmmerRedes Sociales Corporativas -. Una vision global de Yanmmer
Redes Sociales Corporativas -. Una vision global de Yanmmer
MICProductivity
 
Colaboracion 2.0 - Tendencias para las Organizaciones
Colaboracion 2.0 - Tendencias para las OrganizacionesColaboracion 2.0 - Tendencias para las Organizaciones
Colaboracion 2.0 - Tendencias para las Organizaciones
MICProductivity
 
Guia Rapida inicio - usar Office365 en Windows Phone
Guia Rapida inicio - usar Office365 en Windows PhoneGuia Rapida inicio - usar Office365 en Windows Phone
Guia Rapida inicio - usar Office365 en Windows Phone
MICProductivity
 
Guia rápida de inicio de Microsoft - configurar office365 en windows phone
Guia rápida de inicio de Microsoft - configurar office365 en windows phoneGuia rápida de inicio de Microsoft - configurar office365 en windows phone
Guia rápida de inicio de Microsoft - configurar office365 en windows phone
MICProductivity
 
Guia Rápida de Microsoft - Usar Office 365 en iphone-ipad
Guia Rápida de Microsoft - Usar Office 365 en iphone-ipadGuia Rápida de Microsoft - Usar Office 365 en iphone-ipad
Guia Rápida de Microsoft - Usar Office 365 en iphone-ipad
MICProductivity
 
Guía Rápida de Microsoft - Usar Office 365 en Android
Guía Rápida de Microsoft - Usar Office 365 en AndroidGuía Rápida de Microsoft - Usar Office 365 en Android
Guía Rápida de Microsoft - Usar Office 365 en Android
MICProductivity
 

Más de MICProductivity (20)

Webinar eada: Adopción y Gestión del Cambio en Office 365
Webinar eada: Adopción y Gestión del Cambio en Office 365Webinar eada: Adopción y Gestión del Cambio en Office 365
Webinar eada: Adopción y Gestión del Cambio en Office 365
 
Dossier compañía y servicios MICProductivity
Dossier compañía y servicios MICProductivityDossier compañía y servicios MICProductivity
Dossier compañía y servicios MICProductivity
 
Comunicaciones eficientes con Microsoft Teams - MICProductivity
Comunicaciones eficientes con Microsoft Teams   - MICProductivityComunicaciones eficientes con Microsoft Teams   - MICProductivity
Comunicaciones eficientes con Microsoft Teams - MICProductivity
 
Recursos online sobre Microsoft Teams y Office 365
Recursos online sobre Microsoft Teams y Office 365Recursos online sobre Microsoft Teams y Office 365
Recursos online sobre Microsoft Teams y Office 365
 
Gestión de documentos online con OneDrive (MICProductivity)
Gestión de documentos online con OneDrive (MICProductivity)Gestión de documentos online con OneDrive (MICProductivity)
Gestión de documentos online con OneDrive (MICProductivity)
 
Gestión de tareas y proyectos online con Planner (MICProductivity)
Gestión de tareas y proyectos online con Planner (MICProductivity)Gestión de tareas y proyectos online con Planner (MICProductivity)
Gestión de tareas y proyectos online con Planner (MICProductivity)
 
Trabajo en equipo (colaboración y comunicación) con Teams (MICProductivity)
Trabajo en equipo (colaboración y comunicación) con Teams (MICProductivity)Trabajo en equipo (colaboración y comunicación) con Teams (MICProductivity)
Trabajo en equipo (colaboración y comunicación) con Teams (MICProductivity)
 
Comunicaciones eficaces con Microsoft Skype Empresarial (MICProductivity)
Comunicaciones eficaces con Microsoft Skype Empresarial (MICProductivity)Comunicaciones eficaces con Microsoft Skype Empresarial (MICProductivity)
Comunicaciones eficaces con Microsoft Skype Empresarial (MICProductivity)
 
Gestió eficient del temps amb Outlook (curs avançat)
Gestió eficient del temps amb Outlook (curs avançat)Gestió eficient del temps amb Outlook (curs avançat)
Gestió eficient del temps amb Outlook (curs avançat)
 
Treballar en mobilitat amb ipad, office i dropbox (UEA - Igualada, 20/1/2016)
Treballar en mobilitat amb ipad, office i dropbox (UEA - Igualada, 20/1/2016)Treballar en mobilitat amb ipad, office i dropbox (UEA - Igualada, 20/1/2016)
Treballar en mobilitat amb ipad, office i dropbox (UEA - Igualada, 20/1/2016)
 
Metodología AGC Office365 - MICProductivity
Metodología AGC Office365 - MICProductivityMetodología AGC Office365 - MICProductivity
Metodología AGC Office365 - MICProductivity
 
Marco Habilidades Digitales para Directivos
Marco Habilidades Digitales para DirectivosMarco Habilidades Digitales para Directivos
Marco Habilidades Digitales para Directivos
 
Material taller "Gestió Eficient Correu Electrònic" (Cibernarium, 23-9)
Material taller "Gestió Eficient Correu Electrònic" (Cibernarium, 23-9)Material taller "Gestió Eficient Correu Electrònic" (Cibernarium, 23-9)
Material taller "Gestió Eficient Correu Electrònic" (Cibernarium, 23-9)
 
Digital Life: Nuevas formas de aprendizaje
Digital Life: Nuevas formas de aprendizajeDigital Life: Nuevas formas de aprendizaje
Digital Life: Nuevas formas de aprendizaje
 
Redes Sociales Corporativas -. Una vision global de Yanmmer
Redes Sociales Corporativas -. Una vision global de YanmmerRedes Sociales Corporativas -. Una vision global de Yanmmer
Redes Sociales Corporativas -. Una vision global de Yanmmer
 
Colaboracion 2.0 - Tendencias para las Organizaciones
Colaboracion 2.0 - Tendencias para las OrganizacionesColaboracion 2.0 - Tendencias para las Organizaciones
Colaboracion 2.0 - Tendencias para las Organizaciones
 
Guia Rapida inicio - usar Office365 en Windows Phone
Guia Rapida inicio - usar Office365 en Windows PhoneGuia Rapida inicio - usar Office365 en Windows Phone
Guia Rapida inicio - usar Office365 en Windows Phone
 
Guia rápida de inicio de Microsoft - configurar office365 en windows phone
Guia rápida de inicio de Microsoft - configurar office365 en windows phoneGuia rápida de inicio de Microsoft - configurar office365 en windows phone
Guia rápida de inicio de Microsoft - configurar office365 en windows phone
 
Guia Rápida de Microsoft - Usar Office 365 en iphone-ipad
Guia Rápida de Microsoft - Usar Office 365 en iphone-ipadGuia Rápida de Microsoft - Usar Office 365 en iphone-ipad
Guia Rápida de Microsoft - Usar Office 365 en iphone-ipad
 
Guía Rápida de Microsoft - Usar Office 365 en Android
Guía Rápida de Microsoft - Usar Office 365 en AndroidGuía Rápida de Microsoft - Usar Office 365 en Android
Guía Rápida de Microsoft - Usar Office 365 en Android
 

Fast tracktothecloud nestorrequesens-itequia-20110331

  • 1. Recomendaciones para el desarrollo en Microsoft Azure Marzo de 2011 Néstor Requesens | nestor.requesens@itequia.com Team Leader en Itequia
  • 2.
  • 3. Índice 1. Itequia 2. Mapa tecnológico 3. Escenarios prácticos para ISV 4. 8 Consideraciones de diseño 5. 8 «Best practices» para el desarrollo en Azure 6. Windows Azure Platform AppFabric 7. Conclusiones: Azure – Not to Azure
  • 4. La especialización como garantía de éxito «Nada se sabe bien sino por medio de la experiencia» Sir Francis Bacon
  • 5. Índice 1. Itequia 2. Mapa tecnológico 3. Escenarios prácticos para ISV 4. 8 Consideraciones de diseño 5. 8 «Best practices» para el desarrollo en Azure 6. Windows Azure Platform AppFabric 7. Conclusiones: Azure – Not to Azure
  • 7. Índice 1. Itequia 2. Mapa tecnológico 3. Escenarios prácticos para ISV 4. 8 Consideraciones de diseño 5. 8 «Best practices» para el desarrollo en Azure 6. Windows Azure Platform AppFabric 7. Conclusiones: Azure – Not to Azure
  • 8. Escenarios prácticos para ISV Cloud Storage en aplicaciones internas (1) Posible primer paso al mundo del cloud computing Cloud Storage Windows Azure Storage Ejemplo: Aplicación que actualmente hace App Server backups «on premise» puede hacer backups «on cloud» SQL Azure Ejemplo: Aplicación que necesita compartir un conjunto de tablas relacionales puede Users Infraestructura interna Infraestructura cloud hacerlo en la nube
  • 9. Escenarios prácticos para ISV Combinar aplicaciones Cloud y aplicaciones internas (2) Windows Azure & SQL Azure Inicialmente puede no tener sentido App Server migrar millones de lineas de codigo a la Cloud App nube... ...pero si puede tener sentido Cloud Storage Users desarrollar las nuevas funcionalidades en la nube Ejemplo: Aplicación que en momentos Storage Server puntuales puede beneficiarse de mayor potencia de CPU o mas memoria Infraestructura interna Infraestructura cloud
  • 10. Escenarios prácticos para ISV Crear una versión SaaS de nuestro producto (3) Beneficios para los clientes SaaS: • No inversión inicial en la compra de servidores o SaaS Customer licencias (menor riesgo) • Pago por uso (ejemplo: pago por usuario/mes) • Reducción en costes de deployment Cloud App and Storage • ... On-pem Customers Beneficios para los ISV: • Incremento potencial de ventas ya que el cliente tiene menos riesgo • Mayor facilidad en «updates» a los clientes. Se pueden actualizar todos al mismo tiempo App Server Infraestructura interna Infraestructura cloud • Mejor aprovechamiento de capacidades HW
  • 11. Índice 1. Itequia 2. Mapa tecnológico 3. Escenarios prácticos para ISV 4. 8 Consideraciones de diseño 5. 8 «Best practices» para el desarrollo en Azure 6. Windows Azure Platform AppFabric 7. Conclusiones: Azure – Not to Azure
  • 12. Consideraciones de diseño ¿Donde ha de vivir nuestra aplicación? ¿Tendremos que ejecutar nuestra ¿Como accede nuestra aplicación a la aplicación de forma interna y externa configuración? simultáneamente? • No podemos acceder al registro en la nube • web.config, app.config no se pueden ¿Tendremos que condicionar el código cambiar en tiempo de ejecución. de nuestra aplicación? • Utilizar Service Configuration u otros gestores dinámicos de configuración. if (WeAreInTheCloud == true) { } //Do something ¿Utiliza nuestra aplicación el sistema else { //Do something else de ficheros? }
  • 13. Consideraciones de diseño ¿Donde ponemos nuestros datos? (Storage) SQL Azure es un subconjunto de SQL Blobs: Máx. 1TB por BLOB Server 2008 Estructura simple para almacenar datos multimedia Para migrar un esquema a SQL Azure Tables: Máx. 100TB por Tabla podemos utilizar herramientas como «Tablas simples» no relacionales SQL Azure Migration Wizard Queues: Su uso principal es permitir Limite Máx. 50 GB por Base de datos comunicación estructurada entre «Web Role» y «Worker Role»
  • 14. Consideraciones de diseño ¿Cómo monitorizamos nuestra aplicación? La API de Windows Azure ofrece los ingredientes necesarios para monitorizar nuestra aplicación. Definir que información es necesaria en ¿Qué hacemos cuando algo va mal caso de crisis y que información es necesaria para monitorear el en nuestra aplicación? rendimiento normal de la aplicación. En Azure no tendremos acceso directo a: • Ficheros de log Desarrollar servicios para poder obtener • Escritorio remoto estos datos bajo demanda o de • Diagnósticos del sistema manera planificada.
  • 15. Consideraciones de diseño ¿Dónde ponemos el estado y la cache? Por norma general pensar en modo ¿Como usamos la sesión? «stateless» es mejor en el mundo Azure. Tenemos que ver nuestra aplicación como distintas instancias y no como una sola aplicación. ¿Como compartimos el estado y la cache? • Utilizar «local storage» no será valido en caso de tener múltiples roles. • Tendremos que pensar en usar SQL Azure o Azure Azure nos ofrece mecanismos para Storage para cualquier escenario distinto de guardar la sesión en Azure Storage. «single-instance». Utilizar: TableStorageSessionStateProvider
  • 16. Consideraciones de diseño ¿Cómo hacemos los deployments? La API de Service Management que nos ofrece Windows Azure ofrece mas funcionalidades. • Deployments Automáticos • Cambios dinámicos en la configuración • Automatizar los scale-ups /scale-downs Consideremos implementar una GUI para configurar / ejecutar las automatizaciones que implementemos con la API Azure Developer Portal ofrece un subconjunto de las funcionalidades que Podemos guardar nuevo código y tenemos para hacer «deployments». configuraciones en Azure Storage
  • 17. Consideraciones de diseño ¿Cómo hacemos backup? Aunque los datos están replicados 3 SQL Azure todavía no ofrece una veces, podemos perder datos por estrategia para hacer backups. culpa de fallos en nuestra aplicación o por error del usuario. Opciones: • Usar ADO.NET, ODBC u otras APIs para desarrollar nuestra utilidad de backups. • Utilizar el Bulk Copy Program (BCP) para copiar de SQL a ficheros. • Usar SQL Server Integration Services • Copiar nuestra BD distinta en Azure. • SQL Azure Data Sync (Labs) • SQL Azure Migration Wizard
  • 18. Consideraciones de diseño ¿Cómo escalaremos nuestra aplicación? Para nuestros servicios deberíamos desarrollar un mecanismo que nos alerte cuando debemos escalar. Podremos utilizar la API de Service La escalabilidad es una de Management para ejecutar (o quitar) las razones de ser de Azure instancias. Azure ofrece soluciones al escalado, El tamaño de maquina virtual pero solo nosotros podemos escogido jugará un papel importante determinar como y cuando escalar. en las decisiones de escalado.
  • 19. Consideraciones de diseño ¿Cómo autenticamos / autorizamos? Normalmente nuestras aplicaciones internas utilizan AD o ADFS para las autenticaciones / autorizaciones. Opciones Azure: • Forms Authentication contra Azure Storage o SQL Azure • Claims-Based Authentication usando Windows Identity Foundation y consultando nuestro AD interno • AppFabric Access Control
  • 20. Índice 1. Itequia 2. Mapa tecnológico 3. Escenarios prácticos para ISV 4. 8 Consideraciones de diseño 5. 8 «Best practices» para el desarrollo en Azure 6. Windows Azure Platform AppFabric 7. Conclusiones: Azure – Not to Azure
  • 21. «Best practices» para el desarrollo en Azure Validar la Ejecutar como Las buenas Actualizar al compatibilidad de mínimo 2 practicas de SOA máximo las nuestro proyecto instancias para se adaptan tecnologias con Azure des de aplicaciones de perfectamente a Microsoft antes el principio alta Windows Azure de migrar a Azure disponibilidad (Azure SLA)
  • 22. «Best practices» para el desarrollo en Azure Migrar las Aplicaciones «Data center Código y datos capas de las «Sateless» affinity» en el mismo aplicaciónes sitio de una en una ...y si hemos de Usar «affinity guardar el estado groups» para Evitar trafico ...y de forma inecesario entre consolidada hacerlo con hosting, storage, mecanismos bases de datos,... Azure y nuestra Azure organización
  • 23. Índice 1. Itequia 2. Mapa tecnológico 3. Escenarios prácticos para ISV 4. 8 Consideraciones de diseño 5. 8 «Best practices» para el desarrollo en Azure 6. Windows Azure Platform AppFabric 7. Conclusiones: Azure – Not to Azure
  • 24. ¿Que es AppFabric: el lio de nombres? Marketplace DataMarket Applications 2007- Internet Service Bus Composite Frameworks Caching App July 2008 - Project Zurich Access Security Control Connect Integration Service Bus Integration (BizTalk) 2008 Net Services (como parte de Relational Azures Services Platform) Data Database DataSync Reporting Compute Web Role Worker Role VM Role 2009 - Windows Server AppFabric Content Delivery Storage Table Storage Blob Storage Queue Drive Network Networking Connect Finally - Windows Azure Platform Appfabric
  • 25. Para que nos entendamos...  Middleware “en la nube” para desarrollar, desplegar y gestionar aplicaciones  Solución integrada para extender las capacidades de los servicios en la nube  Un modelo consistente de programación y una libreria de herramientas
  • 26. Índice 1. Itequia 2. Mapa tecnológico 3. Escenarios prácticos para ISV 4. 8 Consideraciones de diseño 5. 8 «Best practices» para el desarrollo en Azure 6. Windows Azure Platform AppFabric 7. Conclusiones: Azure – Not to Azure
  • 27. Azure – Not to Azure Aplicaciones que requieren proximidad a otras aplicaciones Para todo lo demás… concretas Aplicaciones que necesitan mucha agregación de datos Aplicaciones en las cuales se usan muchas herramientas de terceros Aplicaciones que requieran instalar componentes en el servidor
  • 28. Recomendaciones para el desarrollo en Microsoft Azure Marzo de 2011 Néstor Requesens | nestor.requesens@itequia.com Team Leader en Itequia