SlideShare une entreprise Scribd logo
1  sur  35
palais des
congrès
Paris




7, 8 et 9
février 2012
CLO207 De A à Z: Pourquoi et
comment utiliser Azure dans
son application ?
07/02/2012

Stéphanie Hertrich              Florent Santin
Microsoft                       Infinite Square
http://blogs.msdn.com/b/steph   http://blogs.developeur.org/azr
e                               a
Agenda

  De A à Z : l’application de départ
  Pourquoi aller vers Azure?
  Comment
    Base de données
    Packaging
    Amélioration du code
    Réversibilité
    Scénarios avancés
  Synthèse
Le besoin métier
  Application Cave à Vins
  Téléphone, tablette, Desktop,
  multi-plateforme
  Cas d’utilisation différents
    Catalogue de tous les vins

    Gestion de ma Cave

    Aide à l’achat
D’où part-on ?

                 Silverlight      Silverlight       iPhone, …
                 pour WP           Desktop
     Client
                 WCF Data         WCF Data           Client
                 Services         Services           OData




    Serveur                    Application Web           http://localhost:8090/
  (on premise)                                           CaveAVinsDataService.svc
                                           WCF
                               Stockage
                                           Data
                                Photos
                                          Service



                    Système de
                                                 Sql
                      fichiers
                                                Server
DEMO : le back-end existant
Pourquoi aller vers le Cloud

  Simplification de l’hébergement
    Pas d’infrastructure à gérer

    Pas de maintenance hardware ou Software



  Elasticité
    Adapter ma capacité d’absorption de charge à mon

     taux de réussite
    Pouvoir proposer de la haute disponibilité
Condition pour aller vers le
Cloud
  Je souhaite :
    Disposer d’une approche réversible

       Le retour en arrière doit être possible et simple !

    Ne pas changer mes habitudes de développement

       Pas de changement d’environnement de

        développement
       Pas ou peu de nouvelles compétences à acquérir
Architecture en l’état

                 Silverlight      Silverlight       iPhone, …
                 pour WP           Desktop
     Client
                 WCF Data         WCF Data           Client
                 Services         Services           OData




    Serveur                    Application Web
  (on premise)
                                           WCF
                               Stockage
                                           Data
                                Photos
                                          Service



                    Système de
                                                 Sql
                      fichiers
                                                Server
DEMO : Migration de base de la
données
Schéma d’architecture

               Silverlight         Silverlight       iPhone, …
               pour WP              Desktop
   Client
               WCF Data            WCF Data           Client
               Services            Services           OData




  Serveur                    Application Web                             Serveur
(on premise)                              WCF
                                                                         (Azure)
                             Stockage
                                          Data
                              Photos
                                         Service



                  Système de                                     SQL
                                                  Sql            Azure
                    fichiers
                                                 Server
Base de données : simple !                    SQL
                                              Azure

  En résumé !

      Migration du schéma vers SQL Azure
         Via un assistant: http://sqlazuremw.codeplex.com/

         En utilisant SQL Server Management Studio

         Au travers du portail Web

      Une adaptation de schéma peut être nécessaire
         Pas de requêtes base à base, de types CLR, index
          obligatoires…
      Aucun impact sur le code de l’applicatif Web
         Modification de la chaine de connexion dans fichier de
          configuration
Base de données : avancée SQL
                                                            Azure

      Sharding pour SQL Azure
        Limitation de SQL Azure

           Une seule base

           Nombre de transaction simultanées caées

        SQL Azure Federation

      Pour « Caves à vin », augmente les performances d’accès

T1    T2    T3    T4    T5    T1    T2    T3    T4    T5



T6    T7    T8    T9    T10
                              T6    T7    T8    T9    T10
                                                                    Une seule grosse
T11   T12   T13   T14   T15                                         base de données
                              T11   T12   T13   T14   T15

T16   T17   T18   T19   T20

                              T16   T17   T18   T19   T20
Schéma d’architecture

               Silverlight         Silverlight     iPhone, …
               pour WP              Desktop
   Client
               WCF Data            WCF Data         Client
               Services            Services         OData




  Serveur                    Application Web                           Serveur
(on premise)                              WCF
                                                                       (Azure)
                             Stockage
                                          Data
                              Photos
                                         Service



                  Système de                                   SQL
                    fichiers                                   Azure
DEMO : Packaging et
publication
Schéma d’architecture : avant

               Silverlight         Silverlight     iPhone, …
               pour WP              Desktop
   Client
               WCF Data            WCF Data         Client
               Services            Services         OData




  Serveur                    Application Web                           Serveur
(on premise)                              WCF
                                                                       (Azure)
                             Stockage
                                          Data
                              Photos
                                         Service



                  Système de                                   SQL
                    fichiers                                   Azure
Schéma d’architecture : après
                       WCF Data        WCF Data                Client
 Client                Services        Services                OData



Serveur                           Routeur / répartiteur de
(Azure)                                  charge




           Stockage        WCF Data                    Stockage         WCF Data
            Photos         Services                     Photos          Services


          Système de          Entity                  Système de           Entity
            fichier        Framework                    fichier         Framework

              Instance (rôle web)                            Instance (rôle web)

                                     Service hébergé



                                             SQL Azure
Packaging et déploiement :
avancé
  Pièges à éviter :
    Inclure dans le package les différents dépendances

       « Copie locale » des DLL

    Scripter la configuration de la machine virtuelle Azure

     si nécessaire
       Modification de IIS, écriture dans base de registre,
         installation d’éléments dans le GAC…
       Installation des composants tiers via des « Startups
         Tasks »
Packaging et déploiement :
avancé
  Deboggage classique en local dans l’émulateur / Visual
  Studio

  Déboggage d’un package déjà déployé
    IntelliTrace

    Profiler



  Surveiller un déploiement
    Compteurs de performances et capture de logs

    Activer le bureau distant
DEMO : Startup Task et bureau
distant
Azure et gestion de
configuration
  ServiceConfiguration.cscfg
    Fichier de configuration plus haut
                                             Applicatif Web
     que le web.config ou
                                                   Web.config
     machine.config
    Permet de modifier                   Instance (rôle web)
     dynamiquement la configuration
     de toutes les instances                 Applicatif Web

                                                  Web.config

  RoleEnvironment.
                                          Instance (rôle web)
  GetConfigurationSettingValue("value"
  );
                                               Service
                                          Configuration.cscfg

  Pour « Caves à vin », permet de         Service hébergé
  changer de base de données à chaud
Schéma d’architecture : après
                       WCF Data        WCF Data                Client
 Client                Services        Services                OData



Serveur                           Routeur / répartiteur de
(Azure)                                  charge




           Stockage        WCF Data                    Stockage         WCF Data
            Photos         Services                     Photos          Services


          Système de          Entity                  Système de           Entity
            fichier        Framework                    fichier         Framework

             Instance (rôle web)                             Instance (rôle web)

                                     Service hébergé



                                             SQL Azure
Manipulation de système de
fichiers
  Utilisation du stockage Windows Azure
    Blobs pour remplacer le système de fichier

    Stockage partagé entre chaque serveur et hautement

      performant / disponible / scalable

  Le système de fichier des
  instances Windows Azure
  n’est pas persistant !
    Perte de données en cas
                                   Applicatif Web
      de redémarrage ou                                   Blobs
                                Instance (rôle web)
      d’ajout d’instance
                                   Applicatif Web

  Pour « Caves à vin »,         Instance (rôle web)     Stockage
  permet de centraliser les      Service hébergé      Windows Azure
Réversibilité
  Objectif :
    Code compatible pour une exécution sur Windows
     classique…
     … et sur l’environnement Windows Azure !

  Demande un minimum d’effort d’abstraction de code
    Application modulaire pour :

       Gestion de la configuration

       Manipulation du système de fichier

       Gestion des logs

       Manipulation du stockage Windows Azure



  Test sur variable RoleEnvironment.IsAvailable !

  Pour « Caves à vin », permet le retour en arrière !
DEMO : Configuration et
réversibilité
Schéma d’architecture
                          WCF Data         WCF Data                Client
 Client                   Services         Services                OData



Serveur                               Routeur / répartiteur de
(Azure)                                      charge




              Stockage        WCF Data                                      WCF Data
                                                           Stockage
               Photos         Services                                      Services
                                                            Photos

             Système de          Entity                   Système de           Entity
               fichier        Framework                      fichier        Framework
                 Instance (rôle web)                             Instance (rôle web)
                                         Service hébergé


          Stockage
                              Blobs
          Windows
           Azure                                         SQL Azure
Utilisation avancée de Windows
Azure
  Cache distribué
    Partage de données entre instances

    Windows Azure AppFabric Cache
    Pour « Caves à vin », optimise les accès aux données
     statiques en BDD

  CDN
    Stockage des données le plus prêt possible des utilisateurs
    Pour « Caves à vin », augmente les performances pour les
     utilisateurs Français

  Traffic Manager
    Exécution d’une application sur plusieurs DataCenter

    Pour « Caves à vin », permet de se déployer à
      l’international
Access Control Services

  Windows Azure permet de faire de l’authentification
  fédérée
    Un intermédiaire de gestion d’identité pour N providers

       LiveID, Google, Facebook, Yahoo, ADFS…



      Pour « Cave à vins » : intéressant pour identifier les
       utilisateurs !
Access Control Services +
Windows Phone + OData
                      1 credentials



                             2 token
                                                                        WS-Federation

                                                                           OpenID

                                              OAuth Protection
                     3 http Request              modules
                     with token     5
                                    request                4 request with token
                                    + claims
                                                                 6 Compute
                                                                 results or
                                                                 security
                  7 OData results or                             exception
                  security exception       OData Service
NB : Le userId stocké dans le token = id du propriétaire du vin dans la BDD
DEMO : Access Control
Services
Récapitulatif !

  Les étapes clés :
   1. Migration base de données
   2. Migration applicatif Web
   3. Adaptation de l’applicatif Web au contexte Cloud
      1.  Images
      2.  Configuration
   4. Utilisation des services avancés Windows Azure

  « Caves à vin » est dans le Cloud (et pas) et utilise au
  mieux les possibilités offertes par Windows Azure! 
Synthèse
                                                                         Pivot
       Silverlight                                                      Viewer
                                  Objective-C
                                            Pages
                                                                      (Silverligh
 WP7                    iPhone        Nav                     Desktop
                                              Objets                       t)
                            Android
           WCF Data
           Services               OData Client
                                              métier                  WCF Data      Client
                                                                      Services
                                      OData Client




              Access Control Services

                                                                                    Serveur
                 Photo Upload                                                       (Azure)
                   Service                             WCF Data Services
 Service      File       Blob
             System      Client
                                                       Entity Framework


    File System           Blobs                                       SQL Azure     Données
                                                       Sql Server
                                                                        DB
Livre sur Windows Azure

                    Premier ouvrage rédigé en
                    Français
                    Sur l’intégralité de la
                    plateforme Windows Azure

                    Disponible dès aujourd’hui!
                    Consultation et achat
                    possible sur le stand (52)
                    des éditions ENI
Des ressources Windows Azure
gratuites

  Testez Windows Azure   Abonnés MSDN, vous
  gratuitement pendant   bénéficiez de
  90 jours               Windows Azure
     http://aka.ms/        http://aka.ms/
      tester-azure-90j       activer-azure-msdn
Pour aller plus loin

                                               Prochaines sessions des Dev Camps
  Chaque semaine, les                            10
                                                          Live     Open Data - Développer des applications riches avec le
                                               février
  DevCamps                                      2012

                                                 16
                                                         Meeting   protocole Open Data


  ALM, Azure, Windows Phone, HTML5, OpenData   février
                                                          Live
                                                         Meeting
                                                                   Azure series - Développer des applications sociales sur
                                                                   la plateforme Windows Azure
                                                2012
  http://msdn.microsoft.com/fr-fr/devcamp
                                                 17
                                                          Live     Comprendre le canvas avec Galactic et la librairie
                                               février
                                                         Meeting   three.js
                                                2012

  Téléchargement, ressources                     21
                                               février
                                                          Live     La production automatisée de code avec CodeFluent
                                                         Meeting   Entities
  et toolkits : RdV sur MSDN                    2012

                                               2 mars     Live     Comprendre et mettre en oeuvre le toolkit Azure pour
  http://msdn.microsoft.com/fr-fr/              2012     Meeting   Windows Phone 7, iOS et Android

                                               6 mars     Live
                                                                   Nuget et ALM
                                                2012     Meeting

  Les offres à connaître                       9 mars
                                                2012
                                                          Live
                                                         Meeting
                                                                   Kinect - Bien gérer la vie de son capteur


         90 jours d’essai gratuit de Windows   13 mars
                                                2012
                                                          Live
                                                         Meeting
                                                                   Sharepoint series - Automatisation des tests

         Azure                                 14 mars    Live     TFS Health Check - vérifier la bonne santé de votre
          www.windowsazure.fr                   2012     Meeting   plateforme de développement

                                               15 mars    Live     Azure series - Développer pour les téléphones, les
                                                2012     Meeting   tablettes et le cloud avec Visual Studio 2010
         Jusqu’à 35% de réduction sur Visual   16 mars    Live     Applications METRO design - Désossage en règle d'un
         Studio Pro, avec l’abonnement MSDN     2012     Meeting   template METRO javascript

                                               20 mars    Live     Retour d'expérience LightSwitch, Optimisation de
          www.visualstudio.fr                   2012     Meeting   l'accès aux données, Intégration Silverlight

                                               23 mars    Live     OAuth - la clé de l'utilisation des réseaux sociaux dans
                                                2012     Meeting   votre application

Contenu connexe

Plus de Microsoft Technet France

Scénarios de mobilité couverts par Enterprise Mobility + Security
Scénarios de mobilité couverts par Enterprise Mobility + SecurityScénarios de mobilité couverts par Enterprise Mobility + Security
Scénarios de mobilité couverts par Enterprise Mobility + SecurityMicrosoft Technet France
 
SharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle générationSharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle générationMicrosoft Technet France
 
Stockage Cloud : il y en aura pour tout le monde
Stockage Cloud : il y en aura pour tout le mondeStockage Cloud : il y en aura pour tout le monde
Stockage Cloud : il y en aura pour tout le mondeMicrosoft Technet France
 
Bien appréhender le concept de Windows As a Service
Bien appréhender le concept de Windows As a ServiceBien appréhender le concept de Windows As a Service
Bien appréhender le concept de Windows As a ServiceMicrosoft Technet France
 
Protéger vos données avec le chiffrement dans Azure et Office 365
Protéger vos données avec le chiffrement dans Azure et Office 365Protéger vos données avec le chiffrement dans Azure et Office 365
Protéger vos données avec le chiffrement dans Azure et Office 365Microsoft Technet France
 
Protéger votre patrimoine informationnel dans un monde hybride avec Azure Inf...
Protéger votre patrimoine informationnel dans un monde hybride avec Azure Inf...Protéger votre patrimoine informationnel dans un monde hybride avec Azure Inf...
Protéger votre patrimoine informationnel dans un monde hybride avec Azure Inf...Microsoft Technet France
 
Comprendre la stratégie identité de Microsoft
Comprendre la stratégie identité de MicrosoftComprendre la stratégie identité de Microsoft
Comprendre la stratégie identité de MicrosoftMicrosoft Technet France
 
Vous avez dit « authentification sans mot de passe » : une illustration avec ...
Vous avez dit « authentification sans mot de passe » : une illustration avec ...Vous avez dit « authentification sans mot de passe » : une illustration avec ...
Vous avez dit « authentification sans mot de passe » : une illustration avec ...Microsoft Technet France
 
Déploiement hybride, la téléphonie dans le cloud
Déploiement hybride, la téléphonie dans le cloudDéploiement hybride, la téléphonie dans le cloud
Déploiement hybride, la téléphonie dans le cloudMicrosoft Technet France
 
Supervisez la qualité des appels Skype for Business Online à l'aide de Call Q...
Supervisez la qualité des appels Skype for Business Online à l'aide de Call Q...Supervisez la qualité des appels Skype for Business Online à l'aide de Call Q...
Supervisez la qualité des appels Skype for Business Online à l'aide de Call Q...Microsoft Technet France
 
SharePoint 2016 : architecture, déploiement et topologies hybrides
SharePoint 2016 : architecture, déploiement et topologies hybridesSharePoint 2016 : architecture, déploiement et topologies hybrides
SharePoint 2016 : architecture, déploiement et topologies hybridesMicrosoft Technet France
 
Gestion de Windows 10 et des applications dans l'entreprise moderne
Gestion de Windows 10 et des applications dans l'entreprise moderneGestion de Windows 10 et des applications dans l'entreprise moderne
Gestion de Windows 10 et des applications dans l'entreprise moderneMicrosoft Technet France
 
Office 365 dans votre Système d'Informations
Office 365 dans votre Système d'InformationsOffice 365 dans votre Système d'Informations
Office 365 dans votre Système d'InformationsMicrosoft Technet France
 
Retour d’expérience sur ‘TFS Online’ (VSTS) dans une solution industrielle (c...
Retour d’expérience sur ‘TFS Online’ (VSTS) dans une solution industrielle (c...Retour d’expérience sur ‘TFS Online’ (VSTS) dans une solution industrielle (c...
Retour d’expérience sur ‘TFS Online’ (VSTS) dans une solution industrielle (c...Microsoft Technet France
 
Simplifier vos déploiements vers Windows 10
Simplifier vos déploiements vers Windows 10Simplifier vos déploiements vers Windows 10
Simplifier vos déploiements vers Windows 10Microsoft Technet France
 
Protéger ses données, identités & appareils avec Windows 10
Protéger ses données, identités & appareils avec Windows 10Protéger ses données, identités & appareils avec Windows 10
Protéger ses données, identités & appareils avec Windows 10Microsoft Technet France
 
Migrer vos bases Oracle vers du SQL, le tout dans Azure !
Migrer vos bases Oracle vers du SQL, le tout dans Azure !Migrer vos bases Oracle vers du SQL, le tout dans Azure !
Migrer vos bases Oracle vers du SQL, le tout dans Azure !Microsoft Technet France
 
Migration et Plan de Reprise d’Activité simplifié dans Azure
Migration et Plan de Reprise d’Activité simplifié dans AzureMigration et Plan de Reprise d’Activité simplifié dans Azure
Migration et Plan de Reprise d’Activité simplifié dans AzureMicrosoft Technet France
 
PC Management, MAM, MDM, EMM, Data and Files Management, Identity Management....
PC Management, MAM, MDM, EMM, Data and Files Management, Identity Management....PC Management, MAM, MDM, EMM, Data and Files Management, Identity Management....
PC Management, MAM, MDM, EMM, Data and Files Management, Identity Management....Microsoft Technet France
 

Plus de Microsoft Technet France (20)

Scénarios de mobilité couverts par Enterprise Mobility + Security
Scénarios de mobilité couverts par Enterprise Mobility + SecurityScénarios de mobilité couverts par Enterprise Mobility + Security
Scénarios de mobilité couverts par Enterprise Mobility + Security
 
SharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle générationSharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle génération
 
Stockage Cloud : il y en aura pour tout le monde
Stockage Cloud : il y en aura pour tout le mondeStockage Cloud : il y en aura pour tout le monde
Stockage Cloud : il y en aura pour tout le monde
 
Bien appréhender le concept de Windows As a Service
Bien appréhender le concept de Windows As a ServiceBien appréhender le concept de Windows As a Service
Bien appréhender le concept de Windows As a Service
 
Protéger vos données avec le chiffrement dans Azure et Office 365
Protéger vos données avec le chiffrement dans Azure et Office 365Protéger vos données avec le chiffrement dans Azure et Office 365
Protéger vos données avec le chiffrement dans Azure et Office 365
 
Protéger votre patrimoine informationnel dans un monde hybride avec Azure Inf...
Protéger votre patrimoine informationnel dans un monde hybride avec Azure Inf...Protéger votre patrimoine informationnel dans un monde hybride avec Azure Inf...
Protéger votre patrimoine informationnel dans un monde hybride avec Azure Inf...
 
Comprendre la stratégie identité de Microsoft
Comprendre la stratégie identité de MicrosoftComprendre la stratégie identité de Microsoft
Comprendre la stratégie identité de Microsoft
 
Vous avez dit « authentification sans mot de passe » : une illustration avec ...
Vous avez dit « authentification sans mot de passe » : une illustration avec ...Vous avez dit « authentification sans mot de passe » : une illustration avec ...
Vous avez dit « authentification sans mot de passe » : une illustration avec ...
 
Sécurité des données
Sécurité des donnéesSécurité des données
Sécurité des données
 
Déploiement hybride, la téléphonie dans le cloud
Déploiement hybride, la téléphonie dans le cloudDéploiement hybride, la téléphonie dans le cloud
Déploiement hybride, la téléphonie dans le cloud
 
Supervisez la qualité des appels Skype for Business Online à l'aide de Call Q...
Supervisez la qualité des appels Skype for Business Online à l'aide de Call Q...Supervisez la qualité des appels Skype for Business Online à l'aide de Call Q...
Supervisez la qualité des appels Skype for Business Online à l'aide de Call Q...
 
SharePoint 2016 : architecture, déploiement et topologies hybrides
SharePoint 2016 : architecture, déploiement et topologies hybridesSharePoint 2016 : architecture, déploiement et topologies hybrides
SharePoint 2016 : architecture, déploiement et topologies hybrides
 
Gestion de Windows 10 et des applications dans l'entreprise moderne
Gestion de Windows 10 et des applications dans l'entreprise moderneGestion de Windows 10 et des applications dans l'entreprise moderne
Gestion de Windows 10 et des applications dans l'entreprise moderne
 
Office 365 dans votre Système d'Informations
Office 365 dans votre Système d'InformationsOffice 365 dans votre Système d'Informations
Office 365 dans votre Système d'Informations
 
Retour d’expérience sur ‘TFS Online’ (VSTS) dans une solution industrielle (c...
Retour d’expérience sur ‘TFS Online’ (VSTS) dans une solution industrielle (c...Retour d’expérience sur ‘TFS Online’ (VSTS) dans une solution industrielle (c...
Retour d’expérience sur ‘TFS Online’ (VSTS) dans une solution industrielle (c...
 
Simplifier vos déploiements vers Windows 10
Simplifier vos déploiements vers Windows 10Simplifier vos déploiements vers Windows 10
Simplifier vos déploiements vers Windows 10
 
Protéger ses données, identités & appareils avec Windows 10
Protéger ses données, identités & appareils avec Windows 10Protéger ses données, identités & appareils avec Windows 10
Protéger ses données, identités & appareils avec Windows 10
 
Migrer vos bases Oracle vers du SQL, le tout dans Azure !
Migrer vos bases Oracle vers du SQL, le tout dans Azure !Migrer vos bases Oracle vers du SQL, le tout dans Azure !
Migrer vos bases Oracle vers du SQL, le tout dans Azure !
 
Migration et Plan de Reprise d’Activité simplifié dans Azure
Migration et Plan de Reprise d’Activité simplifié dans AzureMigration et Plan de Reprise d’Activité simplifié dans Azure
Migration et Plan de Reprise d’Activité simplifié dans Azure
 
PC Management, MAM, MDM, EMM, Data and Files Management, Identity Management....
PC Management, MAM, MDM, EMM, Data and Files Management, Identity Management....PC Management, MAM, MDM, EMM, Data and Files Management, Identity Management....
PC Management, MAM, MDM, EMM, Data and Files Management, Identity Management....
 

De A à Z: Pourquoi et comment utiliser Azure dans son application ?

  • 1. palais des congrès Paris 7, 8 et 9 février 2012
  • 2. CLO207 De A à Z: Pourquoi et comment utiliser Azure dans son application ? 07/02/2012 Stéphanie Hertrich Florent Santin Microsoft Infinite Square http://blogs.msdn.com/b/steph http://blogs.developeur.org/azr e a
  • 3. Agenda De A à Z : l’application de départ Pourquoi aller vers Azure? Comment  Base de données  Packaging  Amélioration du code  Réversibilité  Scénarios avancés Synthèse
  • 4. Le besoin métier Application Cave à Vins Téléphone, tablette, Desktop, multi-plateforme Cas d’utilisation différents  Catalogue de tous les vins  Gestion de ma Cave  Aide à l’achat
  • 5. D’où part-on ? Silverlight Silverlight iPhone, … pour WP Desktop Client WCF Data WCF Data Client Services Services OData Serveur Application Web http://localhost:8090/ (on premise) CaveAVinsDataService.svc WCF Stockage Data Photos Service Système de Sql fichiers Server
  • 6. DEMO : le back-end existant
  • 7. Pourquoi aller vers le Cloud Simplification de l’hébergement  Pas d’infrastructure à gérer  Pas de maintenance hardware ou Software Elasticité  Adapter ma capacité d’absorption de charge à mon taux de réussite  Pouvoir proposer de la haute disponibilité
  • 8. Condition pour aller vers le Cloud Je souhaite :  Disposer d’une approche réversible  Le retour en arrière doit être possible et simple !  Ne pas changer mes habitudes de développement  Pas de changement d’environnement de développement  Pas ou peu de nouvelles compétences à acquérir
  • 9. Architecture en l’état Silverlight Silverlight iPhone, … pour WP Desktop Client WCF Data WCF Data Client Services Services OData Serveur Application Web (on premise) WCF Stockage Data Photos Service Système de Sql fichiers Server
  • 10. DEMO : Migration de base de la données
  • 11. Schéma d’architecture Silverlight Silverlight iPhone, … pour WP Desktop Client WCF Data WCF Data Client Services Services OData Serveur Application Web Serveur (on premise) WCF (Azure) Stockage Data Photos Service Système de SQL Sql Azure fichiers Server
  • 12. Base de données : simple ! SQL Azure En résumé !  Migration du schéma vers SQL Azure  Via un assistant: http://sqlazuremw.codeplex.com/  En utilisant SQL Server Management Studio  Au travers du portail Web  Une adaptation de schéma peut être nécessaire  Pas de requêtes base à base, de types CLR, index obligatoires…  Aucun impact sur le code de l’applicatif Web  Modification de la chaine de connexion dans fichier de configuration
  • 13. Base de données : avancée SQL Azure Sharding pour SQL Azure  Limitation de SQL Azure  Une seule base  Nombre de transaction simultanées caées  SQL Azure Federation Pour « Caves à vin », augmente les performances d’accès T1 T2 T3 T4 T5 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T6 T7 T8 T9 T10 Une seule grosse T11 T12 T13 T14 T15 base de données T11 T12 T13 T14 T15 T16 T17 T18 T19 T20 T16 T17 T18 T19 T20
  • 14. Schéma d’architecture Silverlight Silverlight iPhone, … pour WP Desktop Client WCF Data WCF Data Client Services Services OData Serveur Application Web Serveur (on premise) WCF (Azure) Stockage Data Photos Service Système de SQL fichiers Azure
  • 15. DEMO : Packaging et publication
  • 16. Schéma d’architecture : avant Silverlight Silverlight iPhone, … pour WP Desktop Client WCF Data WCF Data Client Services Services OData Serveur Application Web Serveur (on premise) WCF (Azure) Stockage Data Photos Service Système de SQL fichiers Azure
  • 17. Schéma d’architecture : après WCF Data WCF Data Client Client Services Services OData Serveur Routeur / répartiteur de (Azure) charge Stockage WCF Data Stockage WCF Data Photos Services Photos Services Système de Entity Système de Entity fichier Framework fichier Framework Instance (rôle web) Instance (rôle web) Service hébergé SQL Azure
  • 18. Packaging et déploiement : avancé Pièges à éviter :  Inclure dans le package les différents dépendances  « Copie locale » des DLL  Scripter la configuration de la machine virtuelle Azure si nécessaire  Modification de IIS, écriture dans base de registre, installation d’éléments dans le GAC…  Installation des composants tiers via des « Startups Tasks »
  • 19. Packaging et déploiement : avancé Deboggage classique en local dans l’émulateur / Visual Studio Déboggage d’un package déjà déployé  IntelliTrace  Profiler Surveiller un déploiement  Compteurs de performances et capture de logs  Activer le bureau distant
  • 20. DEMO : Startup Task et bureau distant
  • 21. Azure et gestion de configuration ServiceConfiguration.cscfg  Fichier de configuration plus haut Applicatif Web que le web.config ou Web.config machine.config  Permet de modifier Instance (rôle web) dynamiquement la configuration de toutes les instances Applicatif Web Web.config RoleEnvironment. Instance (rôle web) GetConfigurationSettingValue("value" ); Service Configuration.cscfg Pour « Caves à vin », permet de Service hébergé changer de base de données à chaud
  • 22. Schéma d’architecture : après WCF Data WCF Data Client Client Services Services OData Serveur Routeur / répartiteur de (Azure) charge Stockage WCF Data Stockage WCF Data Photos Services Photos Services Système de Entity Système de Entity fichier Framework fichier Framework Instance (rôle web) Instance (rôle web) Service hébergé SQL Azure
  • 23. Manipulation de système de fichiers Utilisation du stockage Windows Azure  Blobs pour remplacer le système de fichier  Stockage partagé entre chaque serveur et hautement performant / disponible / scalable Le système de fichier des instances Windows Azure n’est pas persistant !  Perte de données en cas Applicatif Web de redémarrage ou Blobs Instance (rôle web) d’ajout d’instance Applicatif Web Pour « Caves à vin », Instance (rôle web) Stockage permet de centraliser les Service hébergé Windows Azure
  • 24. Réversibilité Objectif :  Code compatible pour une exécution sur Windows classique…  … et sur l’environnement Windows Azure ! Demande un minimum d’effort d’abstraction de code  Application modulaire pour :  Gestion de la configuration  Manipulation du système de fichier  Gestion des logs  Manipulation du stockage Windows Azure Test sur variable RoleEnvironment.IsAvailable ! Pour « Caves à vin », permet le retour en arrière !
  • 25. DEMO : Configuration et réversibilité
  • 26. Schéma d’architecture WCF Data WCF Data Client Client Services Services OData Serveur Routeur / répartiteur de (Azure) charge Stockage WCF Data WCF Data Stockage Photos Services Services Photos Système de Entity Système de Entity fichier Framework fichier Framework Instance (rôle web) Instance (rôle web) Service hébergé Stockage Blobs Windows Azure SQL Azure
  • 27. Utilisation avancée de Windows Azure Cache distribué  Partage de données entre instances  Windows Azure AppFabric Cache  Pour « Caves à vin », optimise les accès aux données statiques en BDD CDN  Stockage des données le plus prêt possible des utilisateurs  Pour « Caves à vin », augmente les performances pour les utilisateurs Français Traffic Manager  Exécution d’une application sur plusieurs DataCenter  Pour « Caves à vin », permet de se déployer à l’international
  • 28. Access Control Services Windows Azure permet de faire de l’authentification fédérée  Un intermédiaire de gestion d’identité pour N providers  LiveID, Google, Facebook, Yahoo, ADFS…  Pour « Cave à vins » : intéressant pour identifier les utilisateurs !
  • 29. Access Control Services + Windows Phone + OData 1 credentials 2 token WS-Federation OpenID OAuth Protection 3 http Request modules with token 5 request 4 request with token + claims 6 Compute results or security 7 OData results or exception security exception OData Service NB : Le userId stocké dans le token = id du propriétaire du vin dans la BDD
  • 30. DEMO : Access Control Services
  • 31. Récapitulatif ! Les étapes clés : 1. Migration base de données 2. Migration applicatif Web 3. Adaptation de l’applicatif Web au contexte Cloud 1. Images 2. Configuration 4. Utilisation des services avancés Windows Azure « Caves à vin » est dans le Cloud (et pas) et utilise au mieux les possibilités offertes par Windows Azure! 
  • 32. Synthèse Pivot Silverlight Viewer Objective-C Pages (Silverligh WP7 iPhone Nav Desktop Objets t) Android WCF Data Services OData Client métier WCF Data Client Services OData Client Access Control Services Serveur Photo Upload (Azure) Service WCF Data Services Service File Blob System Client Entity Framework File System Blobs SQL Azure Données Sql Server DB
  • 33. Livre sur Windows Azure Premier ouvrage rédigé en Français Sur l’intégralité de la plateforme Windows Azure Disponible dès aujourd’hui! Consultation et achat possible sur le stand (52) des éditions ENI
  • 34. Des ressources Windows Azure gratuites Testez Windows Azure Abonnés MSDN, vous gratuitement pendant bénéficiez de 90 jours Windows Azure  http://aka.ms/  http://aka.ms/ tester-azure-90j activer-azure-msdn
  • 35. Pour aller plus loin Prochaines sessions des Dev Camps Chaque semaine, les 10 Live Open Data - Développer des applications riches avec le février DevCamps 2012 16 Meeting protocole Open Data ALM, Azure, Windows Phone, HTML5, OpenData février Live Meeting Azure series - Développer des applications sociales sur la plateforme Windows Azure 2012 http://msdn.microsoft.com/fr-fr/devcamp 17 Live Comprendre le canvas avec Galactic et la librairie février Meeting three.js 2012 Téléchargement, ressources 21 février Live La production automatisée de code avec CodeFluent Meeting Entities et toolkits : RdV sur MSDN 2012 2 mars Live Comprendre et mettre en oeuvre le toolkit Azure pour http://msdn.microsoft.com/fr-fr/ 2012 Meeting Windows Phone 7, iOS et Android 6 mars Live Nuget et ALM 2012 Meeting Les offres à connaître 9 mars 2012 Live Meeting Kinect - Bien gérer la vie de son capteur 90 jours d’essai gratuit de Windows 13 mars 2012 Live Meeting Sharepoint series - Automatisation des tests Azure 14 mars Live TFS Health Check - vérifier la bonne santé de votre www.windowsazure.fr 2012 Meeting plateforme de développement 15 mars Live Azure series - Développer pour les téléphones, les 2012 Meeting tablettes et le cloud avec Visual Studio 2010 Jusqu’à 35% de réduction sur Visual 16 mars Live Applications METRO design - Désossage en règle d'un Studio Pro, avec l’abonnement MSDN 2012 Meeting template METRO javascript 20 mars Live Retour d'expérience LightSwitch, Optimisation de www.visualstudio.fr 2012 Meeting l'accès aux données, Intégration Silverlight 23 mars Live OAuth - la clé de l'utilisation des réseaux sociaux dans 2012 Meeting votre application