SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Downloaden Sie, um offline zu lesen
Patterns Windows Azure
Code session : ARC305

                          Mardi 7 février 2012

  Arnaud Cleret                                  Eric Craeymeersch
  Directeur Associé                              Service Line Manager
 Arnaud.Cleret@vNext.fr                          Eric.Craeymeersch@vNext.fr
Vous êtes dans la salle 251
palais des
congrès
Paris




7, 8 et 9
février 2012
Qui sommes-nous ?

                                            Positionnement
                                            « Jeune Entreprise Innovante », vNext se positionne sur le marché des
  Fondée en                   45            nouvelles technologies, essentiellement orientées sur les solutions
 janvier 2010             Personnes         Microsoft, mais également sur les usages, l’industrialisation et les modes de
                                            distribution de type SaaS.




                                            Domaines d’activité
                            CA
    Statut                                    Édition : La création de solutions logicielles packagées aussi bien
                         2010 : 2M€           focalisées métier que grand public.
  JEI + CIR                                   Services : Consulting, Coaching, Design, Réalisation, etc.
                         2011 : 3M€           R&D : Toutes les initiatives pour apporter des solutions nouvelles ou
                                              meilleures. Cette activité supporte les deux autres domaines.




    ∑ ( Edition : Service )


   http://www.vNext.fr - Contact@vNext.fr
Agenda



      Cycle de      Configuration   Stockage   Applications
        vie           à chaud         local    distribuées




     Stratégie de    Niveau de      Présence    Questions
        rejeux          SLA          globale    Réponses
Patterns Windows Azure
Code session : ARC305



Cycle de vie
Cycles de vie
Corrélation avec une application tierce

     Contexte : Hébergement d’une application tierce
     dans un WorkerRole Azure


                                          Config
                               EXE


                                      Worker




                                 Application
                              hébergée sur Azure
Cycles de vie
Corrélation avec une application tierce – Approche Simple



                   • Initialisation environnement
         OnStart   • Lance les processus



                   • Surveillance des processus
         OnRun     • Si problème, recycle l’instance



                   • Envoi stop aux processus
           On
        Stopping
Cycles de vie
Corrélation avec une application tierce – Approche simple


         Azure                                          Application


         Starting                                           Pas lancée




          Ready                                              Lancée




         Stopping                                            Arrêtée
Cycles de vie
Corrélation avec une application tierce – Problématiques

     Problèmes potentiels de cette approche
         Initialisation complexe ou longue
         Dépendance à un autre système
         Série de commandes à envoyer au bon moment
         Plusieurs exécutables


     Comment faire coïncider les cycles de vie ?
Cycles de vie
Corrélation avec une application tierce – Problématiques


         Azure                                             Application


          Starting


                              ?              ?
          Ready




         Stopping
Cycles de vie
Corrélation avec une application tierce – Nouvelle approche

     Découplage
     Remise à plat du workflow opérationnel de
     l’application hébergée
     Matching des états avec les évènements Azure
     Exemple
                    • Initialisation minimale
         OnStart


                    • Gestion complète du workflow de l’application
         OnRun      • Demande d’exclusion du LoadBalancer sur certains états



                    • Quitte le workflow principal en quittant proprement l’application
            On
         Stopping
Patterns Windows Azure
Code session : ARC305



Configuration à chaud
Reconfiguration à chaud

  But : Modifier le comportement de l’application sans
  interruption de service

  Moyens possibles :
     Fichier de configuration du service Windows Azure .cscfg
     Fichier de configuration de l’application web.config
     Externalisation de la gestion de configuration (Framework)
Reconfiguration à chaud
Fichier de configuration du service Azure .cscfg

     Moyen d’accès :
          Portail Azure (en édition directe ou mode fichier)
          Powershell
          API de Management

     Evènements à gérer:
          RoleEnvironment.Changing
          RoleEnvironment.Changed


     Impacts:
          Application par update domain
          Attention aux phases transitoires !
Reconfiguration à chaud
Fichier de configuration du service Azure .cscfg
Reconfiguration à chaud
Fichier de configuration de l’application web.config

     Non modifiables directement

     Solutions possibles :
          Modification du web.config depuis le WebRole (API
          Microsoft.Web.Administration)
          Téléchargement du web.config depuis un blob privé
          (startup task)


     Impacts :
          Recyclage de l’application
Reconfiguration à chaud
Externalisation de la gestion de configuration

     Sortir du pattern d’utilisation de la configuration
     standard pour une implémentation custom

     Nécéssite un Framework gérant toute la configuration de
     manière transverse
          Stockage en Base de donnée +/- stratégie de cache
          WebService
          …


     Impacts :
          Couteux si pas de Framework applicatif existant
          Selon l’implémentation du Framework
Patterns Windows Azure
Code session : ARC305



Utilisation du stockage local
Utilisation du Local Storage
   Rappel sur les caractéristiques
       Espace sur les disques locaux des instances
       Volume disponible dépendant de la taille de la VM
       Non persistant (crash/changement de VM)
       Performance d’un disque dur moderne… mutualisé !
       Non partagé car par instance

   Pattern de base
       Utiliser que pour des données temporaires
       Préférer les blob, Azure drive, Azure table

   Local Storage peut être très utile quand même
       Les VM ne reboot pas souvent
       Performances
       Les évènements OnStart et On Stopping permettent de manipuler les
       données locales
Utilisation des stockage locaux
   Scénario de synchronisation avec un azure drive
       Les données sources sont dans VHD (Azure Drive)
       Snapshots du VHD pour dupliquer le contenu
       Monter le snapshot en Drive ReadOnly
       Recopier les données
       Supprimer le snapshot

   Même scénario avec arborescence de fichier dans les blobs
      OnStart : Rappatrie les données depuis les blobs
      OnStopping : Recopie dans les blobs
      Est-ce critique si on perd les données locales ?

   Conclusion :
      Cas d’utilisation spécifiques
      Peut résoudre certaines problématiques
      Résoudre les problématiques de resynchronisation
Patterns Windows Azure
Code session : ARC305



Application distribuée
Application distribuée
Patterns de Communications
     Objectifs :
        Fournir des solutions de communication adaptées aussi bien aux
        applications Cloud qu’a l ’intégration avec des applications On-
        Premise ou de partenaires

     Contraintes :
        Communication inter-rôle et inter-instance
        Gestion des accès concurrents inhérents au Cloud
        Sécurisation des échanges et intégrité des données
        Interopérabilité des protocoles et formats utilisés
        Scalabilité end-to-end

     Solutions à disposition :
        Web Service
        Queue
        Blob
Application distribuée
Patterns de communications – Inter-rôle




                                                    Worker Role
                                                      Instance 1
              Web Role



                                    Load Balancer
                Instance 1
                                                    Worker Role
                                                      Instance 2
              Web Role
                Instance 2
                                                    Worker Role
                                                      Instance 3
Application distribuée
Patterns de communications – Inter-rôle

                                                   Worker Role
                                                     Instance 1
         Web Role
           Instance 1
                                                   Worker Role
                                                     Instance 2
         Web Role                   Queue

           Instance 2
                                                   Worker Role
                                                     Instance 3




                                 Lisse la charge
Application distribuée
Patterns de communications – Inter-rôle

       Azure Queue vs Azure Service Bus Queue
                  Feature          Azure Queue         Service Bus Queue
  Garantie de l’ordre                                            X (FIFO)
  Transaction                                                   X
  Mode d’accès                        Lease                    Lock
  Groupe de message                                             X
  Détection de duplication                                      X
  Management & Métriques                  X
  Intégration WCF                                               X
  Intégration WF                  Custom Activity               X
  Taille des messages                 64 Ko                  256 Ko
  Taille de la file                   100 To            1, 2, 3, 4 ou 5 Go
  Durée de vie des messages           7 jours                Illimitée
  Latence réseau                      10 ms                  100 ms
  Nombre de clients simultannés       Illimité      Illimité (HTTP) - 100 (TCP)
  Authentification                 Symmetric Key           ACS Claims
Application distribuée
Patterns de communications – Inter-rôle

                                                   Worker Role
                                                     Instance 1
         Web Role
           Instance 1
                                                   Worker Role
                                                     Instance 2
         Web Role
                                     Blob
           Instance 2
                                                   Worker Role
                                                     Instance 3




                                 Lisse la charge
Application distribuée
Patterns de communications – Inter-rôle
     Exploitation d’une propriété des blob : Lease




         Possibilité de « prendre le jeton » pour servir de mutex
         Ne pas oublier de renouveler le Lease tant que on l’utilise

     Utilisation des WAZStorageExtention de Steve Marx
         Nuget
         https://github.com/smarx/WazStorageExtensions
Application distribuée
Communications avec le SI

     Objectifs :
         Permettre un accès aux ressources du SI depuis l’extérieur

     Contraintes identifiées :
         Protocole de type Web Service :
             Sans modification des règles firewall existantes
             Interopérabilité avec les autres technologies
         Autres protocoles :
             DCOM – Bases de données – Imprimantes – Partages fichiers
             Contexte de sécurité basé sur Active Directory

     Problématiques :
         Établir une connexion sécurisée tout en traversant le firewall
         Assurer l’authentification et les autorisations
         Permettre de basculer vers une connexion directe
Application distribuée
 Communications avec le SI – Service Bus Relay




                                                           Service Bus
Frontend
 Nodes                                      Ctrl

                  NLB                              2


                                                            3

                                                            Ctrl


                      1
                                      Forwarder


             Sender                                    4        Receiver
Application distribuée
 Communications avec le SI – Service Bus Relay




                                                                Service Bus
Frontend
 Nodes




           Uniquement des connexions sortantes
           Connexion TCP par défaut puis HTTP si
           nécessaire
           Sécurisé avec Azure Access Control
           Connexion directe entre l’émetteur et le récepteur
           si possible
                                                                  Receiver
Application distribuée
Communications avec le SI – Service Bus Relay



Fire and Forget         Request/Reply                   To-way interaction                    Broadcast

   Application              Application                          Application                   Application

                                                   Application                  Partner
 Request               Request             Reply    Request                     Request    Request
                                                   and Replyc                  and Reply


      Partner                    Partner                          Partner                     Partner
                                                                                                Partner
                                                                                                   Partner




                 Protocoles supportés : HTTP/SOAP – HTTP/REST - TCP
Application distribuée
Communications avec le SI – Azure Connect
     Accès à l’ensemble des ressources de
     l’entreprise à l’identique d’une solution
     On-Premise                                                                  Cloud

                                                                             Hosted Service
     Création d’un réseau virtuel :
          Basé sur IPv6 et IPSec over SSTP
          Connexions sortantes uniquement en               IPSec over SSTP    Connect Agent
          Https
          Supporté uniquement pour les OS
          Windows                                   Azure Connect
                                                        Relay

     Contexte de sécurité de type Kerberos :
          L’instance du service hébergé devra
          intégrer le domaine Active Directory de          IPSec over SSTP    Connect Agent
          l’entreprise
          L’installation de l’agent sur les
          contrôleurs de domaine devient
          nécessaire
          Risque de serveur « zombie » lors des
          redémarrage d’instance
                                                                               On-Premise
                                                                              Infrastructure
Application distribuée
Communications avec les partenaires

     Objectifs :
          Diffuser un message à différents partenaires
          Filtrer les messages envoyés en fonction de leur contenu
          Proposer un système de souscription dynamique

      Contraintes :
          Sécurisation des échanges et intégrité des données
          Interopérabilité des protocoles et formats utilisés
          Scalabilité end-to-end

      Solution basée sur Azure Service Bus Topics
Application distribuée
Communications avec les partenaires - Service Bus Messaging

     Implémentation avancée des Service Bus Queue :
          Toutes les capacités + Publish/Subscribe
          Routage basé sur les headers du message
          Chaque suscription reçoit une copie du message
          Jusqu’à 2000 souscriptions par Topic


                                                                   R
      E
                                                                   R
      E        Topic
                                          Rules
                                         Actions
                                                   Subscriptions



      E                                                            R
Application distribuée
Communications avec les partenaires - Service Bus Messaging

                     Règle :
                          Filtre les message correspondant aux
                          conditions définies
                          Multiple règles possibles par souscription
                          Chaque règle évaluée avec succès génère
                          une copie du message

                     Condition et Action :
                          Condition : basée sur des expressions de
                          type SQL’92
                          Action : permet la modification des
                          propriétés du message reçu
Application distribuée
Communications avec les partenaires - Service Bus Messaging

     Les conditions de filtre sont opérées uniquement sur
     les propriétés du message et exprimées en SQL’92 :
      InvoiceTotal > 10000.00 OR ClientRating <3
      ShipDestCtry = ‘USA’ AND ShipDestState=‘WA’
      LastName LIKE ‘V%’


     Les actions peuvent ajouter/modifier/supprimer les
     propriétés du message :
      SET AuditRequired = 1
Patterns Windows Azure
Code session : ARC305



Stratégie de rejeux
Stratégie de rejeux
   Le Cloud est un environnement mutualisé par nature.

   Malgré un SLA annoncé, des micro-disfonctionnements
   peuvent se produire
      Throttling
      Network glitch
      Indisponibilité temporaire

   Imprévisibles et temporaires, donc adapter l’architecture
      Considérer que cela va arriver au plus mauvais moment
      Dans 95% des cas, une simple relance suffit


 Nécessité d’implémenter une stratégie de rejeux
Stratégie de rejeux
TOPAZ

    Codename TOPAZ : Transient Fault Handling Application Block
    Windows Azure Integration Pack de Enterprise Library 5

    Gère les services
        SQL Azure
        Windows Azure Service Bus
        Windows Azure Storage
        Windows Azure Caching Service

    Démarche
        Nuget « Topaz »
        Définir une politique de rejeux
        Encadrer les actions à protéger par les extensions TOPAZ
Stratégie de rejeux
TOPAZ

    Retry policy par configuration :




    Ou par code :
Stratégie de rejeux
TOPAZ

    Utilisation avec SQL Azure
        Utilisation de ReliableSqlConnection
        Utilisation des extensions de méthodes de SqlCommand telles que
        ExecuteNonQueryWithRetry()


    Ouverture de connexion :



    Exécution de commande :
Stratégie de rejeux
TOPAZ

    Entity Framework, SQL Azure et TOPAZ
        Nécessite de gérer la connexion manuellement




        Encadrer le code atomique avec le ExecuteAction
Stratégie de rejeux
TOPAZ

    Monitoring des retry : Event « Retrying »




    Gère les méthodes asynchrones
    Stratégies des détections d’erreurs extensibles
    Stratégies des Retry extensibles
Patterns Windows Azure
Code session : ARC305



SLA
SLA
  Le SLA définie par chaque élément de l’offre Azure n’est garanti que :
      Si vous déployer au minimum deux instances
      Voir trois, si vous souhaiter assurer ce SLA en mode dégradé (update, recyclage,
      déploiement, etc.)
      Dans certains cas, une instance durant quelques minutes/heures peut suffire

  Suivre le SLA et les performances de son application :
      Monitoring via les compteurs de performances
      SCOM avec Azure Management Pack
      Déploiement possible d’agent AVIcode

  Adapter son infrastructure - Auto-scalling :
      Approché évidente quand on parle de Cloud
      Bien plus complexe que l’on ne l’imagine au premier abord
      Il s’agit non seulement de supporter une charge qui augmente mais aussi une
      charge qui diminue :
           Garantir le SLA
           Optimiser les coûts
      Enterprise Library fourni une implémentation au travers de WAZABI
SLA
Enterprise Library – Azure Autoscalling Block : WAZABI
  <rules xmlns="http://schemas.microsoft.com/practices/2011/entlib/autoscaling/rules">
     <constraintRules>
       <rule name="BusinessHours" description="Scale out during business hours" rank="100" enabled="true">
         <timetable startTime="07:00:00" duration="12:00:00" startDate="2012-02-07" utcOffset="-04:00">
            <weekly days="Monday Tuesday Wednesday Thursday Friday"/>
         </timetable>
         <actions>
            <range target="MvcWebRole1" min="2" max="12"/>
         </actions>
       </rule>
     </constraintRules>
     <reactiveRules>
       <rule name="HotCPU" enabled="true" rank="100">
         <when>
            <greater operand="CPU" than="85" />
         </when>
         <actions>
            <scale target="Demo.WebSite" by="1" />
         </actions>
       </rule>
       <rule name="LowCPU" enabled="true" rank="100">
         <when>
            <less operand="CPU" than="35" />
         </when>
         <actions>
            <scale target="Demo.WebSite" by="-1" />
         </actions>
       </rule>
     </reactiveRules>
     <operands>
       <performanceCounter alias="CPU" source="Demo.WebSite"
                            performanceCounterName="Processor(_Total)% Processor Time«
                            timespan="00:10:00" aggregate="Average" />
     </operands>
   </rules>
Patterns Windows Azure
Code session : ARC305



Présence globale
Présence globale

  Objectif :
     Conserver le niveau de service quelque soit
     l’emplacement de l’utilisateur dans le monde


  Contraintes :
     Déployer les ressources au plus proche de l’utilisateur
     Garder les données au plus près du code


  Problématiques :
     Géolocalisation de l’utilisateur et routage des requêtes
     Synchronisation des données
Présence globale


                              Northern
                               Europe
            North Central
                USA                      100ms

                              50ms                           Eastern Asia
                            Western
                            Europe

       South Central
           USA                                   Southeast
                                                   Asia
Présence globale
Traffic Manager

                                                                                                               Serveurs DNS

                                      Lookup www.demo.com                               Map www.demo.com to demo.trafficmanager.net
                                                                                              Résolution de trafficmanager.net
                                                          1
                                                              2
                                                        Retourne l’adresse IP de Traffic Manager

                                                        Lookup demo.trafficmanager.net

                                                              3
                                                                                                             Traffic Manager
                                                          4
Connexion à l’instance                                                                          Résolution demo.trafficmanager.net
spéficiée
                            5         Retourne l’adresse IP de l’instance
                                                                                                     (Stratégie* + Monitoring)
                                      la plus appropriée




               demo-us.cloudapp.net                               demo-eu.cloudapp.net                                demo-as.cloudapp.net

                         États-Unis                                     Europe                                                    Asie




                                                                              *Performance - trafic envoyé au service ayant le moins de latence réseau
                                                                              *Round Robin - trafic distribué de manière égale sur tous les services
                                                                              *Failover - trafic envoyé au premier service, si offline, au service suivant de la liste
Présence globale
SQL Data Sync


                   Data Center A

                       GET / SET




                                   Data Center C




                      GET / SET


                   Data Center B
Présence globale
Service Bus
                                                      Data Center A


              Update                                            GET



                                                                      SET
                       Update




                                                                            Update




                                 Rules
      Topic                               Subscriptions
                                Actions



                                                                            Update




                       Update
                                                                      SET


              Update                                            GET


                                                          Data Center B
Patterns Windows Azure
Code session : ARC305



Questions / Réponses
Questions / Réponses
Ressources Windows Azure gratuites

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



 Scénario d’utilisation (B2B):
       http://aka.ms/
     b2b-avec-sqlazure
Pour aller plus loin

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


  DevCamps
                                                         2012       Meeting   protocole Open Data

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

                                                       21 février    Live
                                                                              La production automatisée de code avec CodeFluent Entities

  Téléchargement, ressources
                                                         2012       Meeting

                                                        2 mars       Live     Comprendre et mettre en oeuvre le toolkit Azure pour Windows
                                                         2012       Meeting   Phone 7, iOS et Android

  et toolkits : RdV sur MSDN                            6 mars
                                                         2012
                                                                     Live
                                                                    Meeting
                                                                              Nuget et ALM

  http://msdn.microsoft.com/fr-fr/                      9 mars       Live
                                                                              Kinect - Bien gérer la vie de son capteur
                                                         2012       Meeting



  Les offres à connaître
                                                       13 mars       Live
                                                                              Sharepoint series - Automatisation des tests
                                                        2012        Meeting

                                                       14 mars       Live     TFS Health Check - vérifier la bonne santé de votre plateforme
          90 jours d’essai gratuit de Windows Azure     2012        Meeting   de développement

            www.windowsazure.fr                        15 mars
                                                        2012
                                                                     Live
                                                                    Meeting
                                                                              Azure series - Développer pour les téléphones, les tablettes et
                                                                              le cloud avec Visual Studio 2010

                                                       16 mars       Live     Applications METRO design - Désossage en règle d'un template
          Jusqu’à 35% de réduction sur Visual Studio    2012        Meeting   METRO javascript
          Pro, avec l’abonnement MSDN                  20 mars       Live     Retour d'expérience LightSwitch, Optimisation de l'accès aux
            www.visualstudio.fr                         2012        Meeting   données, Intégration Silverlight

                                                       23 mars       Live     OAuth - la clé de l'utilisation des réseaux sociaux dans votre
                                                        2012        Meeting   application
Vous êtes dans la salle 251
palais des
congrès
Paris




7, 8 et 9
février 2012

Weitere ähnliche Inhalte

Was ist angesagt?

Poste de Travail : Consumérisation et virtualisation
Poste de Travail : Consumérisation et virtualisationPoste de Travail : Consumérisation et virtualisation
Poste de Travail : Consumérisation et virtualisationEvenements01
 
Développer un site Web fonctionnel et élastique sur Azure
Développer un site Web fonctionnel et élastique sur AzureDévelopper un site Web fonctionnel et élastique sur Azure
Développer un site Web fonctionnel et élastique sur Azurebenjguin
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasMicrosoft
 
La boite à outils pour réussir sa migration vers Windows 7
La boite à outils pour réussir sa migration vers Windows 7La boite à outils pour réussir sa migration vers Windows 7
La boite à outils pour réussir sa migration vers Windows 7Microsoft Technet France
 
Windows azure : tour d'horizon
Windows azure : tour d'horizonWindows azure : tour d'horizon
Windows azure : tour d'horizonSOAT
 
Virtualisation
VirtualisationVirtualisation
VirtualisationTsubichi
 
Le Cloud Hybride avec System Center 2012 et Azure
Le Cloud Hybride avec System Center 2012 et AzureLe Cloud Hybride avec System Center 2012 et Azure
Le Cloud Hybride avec System Center 2012 et AzureMicrosoft
 
Cloud Privé, Cloud Public, pourquoi choisir?
Cloud Privé, Cloud Public, pourquoi choisir?Cloud Privé, Cloud Public, pourquoi choisir?
Cloud Privé, Cloud Public, pourquoi choisir?Microsoft Ideas
 
Cloud prive cloud public pourquoi choisir tech days 2012 rdi
Cloud prive cloud public pourquoi choisir tech days 2012 rdiCloud prive cloud public pourquoi choisir tech days 2012 rdi
Cloud prive cloud public pourquoi choisir tech days 2012 rdiJulien Lesaicherre
 
Vsomft formation-vmware-vsphere-with-operations-management-fast-track
Vsomft formation-vmware-vsphere-with-operations-management-fast-trackVsomft formation-vmware-vsphere-with-operations-management-fast-track
Vsomft formation-vmware-vsphere-with-operations-management-fast-trackCERTyou Formation
 
La virtualisation de_serveurs
La virtualisation de_serveursLa virtualisation de_serveurs
La virtualisation de_serveursNidhal Fersi
 
La haute disponibilité avec Dynamics CRM 2011 et SQL Server 2012
La haute disponibilité avec Dynamics CRM 2011 et SQL Server 2012La haute disponibilité avec Dynamics CRM 2011 et SQL Server 2012
La haute disponibilité avec Dynamics CRM 2011 et SQL Server 2012Microsoft
 
Microsoft - Solution Virtualisation Windows Server 08
Microsoft - Solution Virtualisation Windows Server 08Microsoft - Solution Virtualisation Windows Server 08
Microsoft - Solution Virtualisation Windows Server 08actualblog
 

Was ist angesagt? (13)

Poste de Travail : Consumérisation et virtualisation
Poste de Travail : Consumérisation et virtualisationPoste de Travail : Consumérisation et virtualisation
Poste de Travail : Consumérisation et virtualisation
 
Développer un site Web fonctionnel et élastique sur Azure
Développer un site Web fonctionnel et élastique sur AzureDévelopper un site Web fonctionnel et élastique sur Azure
Développer un site Web fonctionnel et élastique sur Azure
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de Jonas
 
La boite à outils pour réussir sa migration vers Windows 7
La boite à outils pour réussir sa migration vers Windows 7La boite à outils pour réussir sa migration vers Windows 7
La boite à outils pour réussir sa migration vers Windows 7
 
Windows azure : tour d'horizon
Windows azure : tour d'horizonWindows azure : tour d'horizon
Windows azure : tour d'horizon
 
Virtualisation
VirtualisationVirtualisation
Virtualisation
 
Le Cloud Hybride avec System Center 2012 et Azure
Le Cloud Hybride avec System Center 2012 et AzureLe Cloud Hybride avec System Center 2012 et Azure
Le Cloud Hybride avec System Center 2012 et Azure
 
Cloud Privé, Cloud Public, pourquoi choisir?
Cloud Privé, Cloud Public, pourquoi choisir?Cloud Privé, Cloud Public, pourquoi choisir?
Cloud Privé, Cloud Public, pourquoi choisir?
 
Cloud prive cloud public pourquoi choisir tech days 2012 rdi
Cloud prive cloud public pourquoi choisir tech days 2012 rdiCloud prive cloud public pourquoi choisir tech days 2012 rdi
Cloud prive cloud public pourquoi choisir tech days 2012 rdi
 
Vsomft formation-vmware-vsphere-with-operations-management-fast-track
Vsomft formation-vmware-vsphere-with-operations-management-fast-trackVsomft formation-vmware-vsphere-with-operations-management-fast-track
Vsomft formation-vmware-vsphere-with-operations-management-fast-track
 
La virtualisation de_serveurs
La virtualisation de_serveursLa virtualisation de_serveurs
La virtualisation de_serveurs
 
La haute disponibilité avec Dynamics CRM 2011 et SQL Server 2012
La haute disponibilité avec Dynamics CRM 2011 et SQL Server 2012La haute disponibilité avec Dynamics CRM 2011 et SQL Server 2012
La haute disponibilité avec Dynamics CRM 2011 et SQL Server 2012
 
Microsoft - Solution Virtualisation Windows Server 08
Microsoft - Solution Virtualisation Windows Server 08Microsoft - Solution Virtualisation Windows Server 08
Microsoft - Solution Virtualisation Windows Server 08
 

Andere mochten auch

Présentation Windows Azure - MS Days 2011
Présentation Windows Azure - MS Days 2011Présentation Windows Azure - MS Days 2011
Présentation Windows Azure - MS Days 2011Thomas Conté
 
M and A Leaders Forum April 2013- Ilan Michaelis - not only escrow...
M and A Leaders Forum April 2013- Ilan Michaelis - not only escrow...M and A Leaders Forum April 2013- Ilan Michaelis - not only escrow...
M and A Leaders Forum April 2013- Ilan Michaelis - not only escrow...Global PMI Partners
 
M and A Leaders Forum April 2013- Yigal Arnon - Updates 2013
M and A Leaders Forum April 2013- Yigal Arnon - Updates 2013M and A Leaders Forum April 2013- Yigal Arnon - Updates 2013
M and A Leaders Forum April 2013- Yigal Arnon - Updates 2013Global PMI Partners
 
M and A Leaders Forum April 2013- S.G.s Presentation
M and A Leaders Forum April 2013- S.G.s PresentationM and A Leaders Forum April 2013- S.G.s Presentation
M and A Leaders Forum April 2013- S.G.s PresentationGlobal PMI Partners
 
M and A Leaders Forum April 2013- Grant Thornton- Private Equity
M and A Leaders Forum April 2013- Grant Thornton- Private EquityM and A Leaders Forum April 2013- Grant Thornton- Private Equity
M and A Leaders Forum April 2013- Grant Thornton- Private EquityGlobal PMI Partners
 
MS Days 2011 - Windows Azure
MS Days 2011 - Windows AzureMS Days 2011 - Windows Azure
MS Days 2011 - Windows AzureJason De Oliveira
 
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekhamObjet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekhamthavo001
 
Kiem tra 45 toan 8 chuong 3 hoc kì 2
Kiem tra 45 toan 8 chuong 3 hoc kì 2Kiem tra 45 toan 8 chuong 3 hoc kì 2
Kiem tra 45 toan 8 chuong 3 hoc kì 2GIASU123
 
TechDays 2010 (CLO202) : Introduction à Windows Azure
TechDays 2010 (CLO202) : Introduction à Windows AzureTechDays 2010 (CLO202) : Introduction à Windows Azure
TechDays 2010 (CLO202) : Introduction à Windows AzureThomas Conté
 
Geolocation techniques
Geolocation techniquesGeolocation techniques
Geolocation techniquesSpringer
 
Distro Recipes 2013 : Yocto / OpenEmbedded
Distro Recipes 2013 : Yocto / OpenEmbeddedDistro Recipes 2013 : Yocto / OpenEmbedded
Distro Recipes 2013 : Yocto / OpenEmbeddedAnne Nicolas
 
Windows Azure, plongée en eaux profondes (300)
Windows Azure, plongée en eaux profondes (300)Windows Azure, plongée en eaux profondes (300)
Windows Azure, plongée en eaux profondes (300)Microsoft Décideurs IT
 
Patterns (et anti-patterns) d’architecture ou comment mieux concevoir ses app...
Patterns (et anti-patterns) d’architecture ou comment mieux concevoir ses app...Patterns (et anti-patterns) d’architecture ou comment mieux concevoir ses app...
Patterns (et anti-patterns) d’architecture ou comment mieux concevoir ses app...Microsoft
 

Andere mochten auch (16)

Présentation Windows Azure - MS Days 2011
Présentation Windows Azure - MS Days 2011Présentation Windows Azure - MS Days 2011
Présentation Windows Azure - MS Days 2011
 
M and A Leaders Forum April 2013- Ilan Michaelis - not only escrow...
M and A Leaders Forum April 2013- Ilan Michaelis - not only escrow...M and A Leaders Forum April 2013- Ilan Michaelis - not only escrow...
M and A Leaders Forum April 2013- Ilan Michaelis - not only escrow...
 
M and A Leaders Forum April 2013- Yigal Arnon - Updates 2013
M and A Leaders Forum April 2013- Yigal Arnon - Updates 2013M and A Leaders Forum April 2013- Yigal Arnon - Updates 2013
M and A Leaders Forum April 2013- Yigal Arnon - Updates 2013
 
M and A Leaders Forum April 2013- S.G.s Presentation
M and A Leaders Forum April 2013- S.G.s PresentationM and A Leaders Forum April 2013- S.G.s Presentation
M and A Leaders Forum April 2013- S.G.s Presentation
 
M and A Leaders Forum April 2013- Grant Thornton- Private Equity
M and A Leaders Forum April 2013- Grant Thornton- Private EquityM and A Leaders Forum April 2013- Grant Thornton- Private Equity
M and A Leaders Forum April 2013- Grant Thornton- Private Equity
 
MS Days 2011 - Windows Azure
MS Days 2011 - Windows AzureMS Days 2011 - Windows Azure
MS Days 2011 - Windows Azure
 
Livemeeting - Windows Azure
Livemeeting - Windows AzureLivemeeting - Windows Azure
Livemeeting - Windows Azure
 
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekhamObjet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 
Kiem tra 45 toan 8 chuong 3 hoc kì 2
Kiem tra 45 toan 8 chuong 3 hoc kì 2Kiem tra 45 toan 8 chuong 3 hoc kì 2
Kiem tra 45 toan 8 chuong 3 hoc kì 2
 
TechDays 2010 (CLO202) : Introduction à Windows Azure
TechDays 2010 (CLO202) : Introduction à Windows AzureTechDays 2010 (CLO202) : Introduction à Windows Azure
TechDays 2010 (CLO202) : Introduction à Windows Azure
 
Geolocation techniques
Geolocation techniquesGeolocation techniques
Geolocation techniques
 
Distro Recipes 2013 : Yocto / OpenEmbedded
Distro Recipes 2013 : Yocto / OpenEmbeddedDistro Recipes 2013 : Yocto / OpenEmbedded
Distro Recipes 2013 : Yocto / OpenEmbedded
 
Windows Azure, plongée en eaux profondes (300)
Windows Azure, plongée en eaux profondes (300)Windows Azure, plongée en eaux profondes (300)
Windows Azure, plongée en eaux profondes (300)
 
Patterns (et anti-patterns) d’architecture ou comment mieux concevoir ses app...
Patterns (et anti-patterns) d’architecture ou comment mieux concevoir ses app...Patterns (et anti-patterns) d’architecture ou comment mieux concevoir ses app...
Patterns (et anti-patterns) d’architecture ou comment mieux concevoir ses app...
 
Azure Cloud PPT
Azure Cloud PPTAzure Cloud PPT
Azure Cloud PPT
 

Ähnlich wie Patterns Windows Azure

Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03Nicolas Fonrose
 
Windows Azure et e-commerce
Windows Azure et e-commerceWindows Azure et e-commerce
Windows Azure et e-commerceMicrosoft
 
De A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicativeDe A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicativeMicrosoft
 
Architectures et application hybrides selon vos termes et à votre propre rythme
Architectures et application hybrides selon vos termes et à votre propre rythmeArchitectures et application hybrides selon vos termes et à votre propre rythme
Architectures et application hybrides selon vos termes et à votre propre rythmeMicrosoft
 
Design applicatif avec symfony2
Design applicatif avec symfony2Design applicatif avec symfony2
Design applicatif avec symfony2RomainKuzniak
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesLilia Sfaxi
 
TechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureTechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureJason De Oliveira
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services PlatformGregory Renard
 
Sql azure performance et montee en charge (1)
Sql azure   performance et montee en charge (1)Sql azure   performance et montee en charge (1)
Sql azure performance et montee en charge (1)Aymeric Weinbach
 
Introduction au Domain Driven Design
Introduction au Domain Driven DesignIntroduction au Domain Driven Design
Introduction au Domain Driven DesignDNG Consulting
 
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...Microsoft Technet France
 
Architecture MicroServices - DotNetTlse
Architecture MicroServices - DotNetTlseArchitecture MicroServices - DotNetTlse
Architecture MicroServices - DotNetTlseIonut Mihalcea
 
Site web fonctionnel et élastique sur Azure
Site web fonctionnel et élastique sur AzureSite web fonctionnel et élastique sur Azure
Site web fonctionnel et élastique sur AzureMicrosoft Technet France
 
Livre blanc a la decouverte de windows azure
Livre blanc a la decouverte de windows azureLivre blanc a la decouverte de windows azure
Livre blanc a la decouverte de windows azureMicrosoft Technet France
 
Bbl microservices avec vert.x cdi elastic search
Bbl microservices avec vert.x cdi elastic searchBbl microservices avec vert.x cdi elastic search
Bbl microservices avec vert.x cdi elastic searchIdriss Neumann
 
Microsoft Azure : The cloud for modern business
Microsoft Azure : The cloud for modern businessMicrosoft Azure : The cloud for modern business
Microsoft Azure : The cloud for modern businessChourouk HJAIEJ
 
JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...
JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...
JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...Michaël Figuière
 
[Tuto] Web burst : Débordement Web vers Windows Azure
[Tuto] Web burst : Débordement Web vers Windows Azure[Tuto] Web burst : Débordement Web vers Windows Azure
[Tuto] Web burst : Débordement Web vers Windows AzureMicrosoft Technet France
 

Ähnlich wie Patterns Windows Azure (20)

Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
 
Windows Azure et e-commerce
Windows Azure et e-commerceWindows Azure et e-commerce
Windows Azure et e-commerce
 
De A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicativeDe A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicative
 
Le Cloud pour l'Education
Le Cloud pour l'EducationLe Cloud pour l'Education
Le Cloud pour l'Education
 
Architectures et application hybrides selon vos termes et à votre propre rythme
Architectures et application hybrides selon vos termes et à votre propre rythmeArchitectures et application hybrides selon vos termes et à votre propre rythme
Architectures et application hybrides selon vos termes et à votre propre rythme
 
Design applicatif avec symfony2
Design applicatif avec symfony2Design applicatif avec symfony2
Design applicatif avec symfony2
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
 
TechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureTechDays 2012 - Windows Azure
TechDays 2012 - Windows Azure
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services Platform
 
Sql azure performance et montee en charge (1)
Sql azure   performance et montee en charge (1)Sql azure   performance et montee en charge (1)
Sql azure performance et montee en charge (1)
 
Introduction au Domain Driven Design
Introduction au Domain Driven DesignIntroduction au Domain Driven Design
Introduction au Domain Driven Design
 
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
 
Architecture MicroServices - DotNetTlse
Architecture MicroServices - DotNetTlseArchitecture MicroServices - DotNetTlse
Architecture MicroServices - DotNetTlse
 
Site web fonctionnel et élastique sur Azure
Site web fonctionnel et élastique sur AzureSite web fonctionnel et élastique sur Azure
Site web fonctionnel et élastique sur Azure
 
Livre blanc a la decouverte de windows azure
Livre blanc a la decouverte de windows azureLivre blanc a la decouverte de windows azure
Livre blanc a la decouverte de windows azure
 
Azure Mesh Et Surface
Azure Mesh Et SurfaceAzure Mesh Et Surface
Azure Mesh Et Surface
 
Bbl microservices avec vert.x cdi elastic search
Bbl microservices avec vert.x cdi elastic searchBbl microservices avec vert.x cdi elastic search
Bbl microservices avec vert.x cdi elastic search
 
Microsoft Azure : The cloud for modern business
Microsoft Azure : The cloud for modern businessMicrosoft Azure : The cloud for modern business
Microsoft Azure : The cloud for modern business
 
JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...
JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...
JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise d...
 
[Tuto] Web burst : Débordement Web vers Windows Azure
[Tuto] Web burst : Débordement Web vers Windows Azure[Tuto] Web burst : Débordement Web vers Windows Azure
[Tuto] Web burst : Débordement Web vers Windows Azure
 

Mehr von Microsoft

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuMicrosoft
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaSMicrosoft
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileMicrosoft
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Microsoft
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Microsoft
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à ZMicrosoft
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Microsoft
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Microsoft
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsMicrosoft
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Microsoft
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryMicrosoft
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Microsoft
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Microsoft
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET CoreMicrosoft
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Microsoft
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursMicrosoft
 

Mehr von Microsoft (20)

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieu
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaS
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobile
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à Z
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site Recovery
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 

Patterns Windows Azure

  • 1. Patterns Windows Azure Code session : ARC305 Mardi 7 février 2012 Arnaud Cleret Eric Craeymeersch Directeur Associé Service Line Manager Arnaud.Cleret@vNext.fr Eric.Craeymeersch@vNext.fr
  • 2. Vous êtes dans la salle 251
  • 3. palais des congrès Paris 7, 8 et 9 février 2012
  • 4. Qui sommes-nous ? Positionnement « Jeune Entreprise Innovante », vNext se positionne sur le marché des Fondée en 45 nouvelles technologies, essentiellement orientées sur les solutions janvier 2010 Personnes Microsoft, mais également sur les usages, l’industrialisation et les modes de distribution de type SaaS. Domaines d’activité CA Statut Édition : La création de solutions logicielles packagées aussi bien 2010 : 2M€ focalisées métier que grand public. JEI + CIR Services : Consulting, Coaching, Design, Réalisation, etc. 2011 : 3M€ R&D : Toutes les initiatives pour apporter des solutions nouvelles ou meilleures. Cette activité supporte les deux autres domaines. ∑ ( Edition : Service ) http://www.vNext.fr - Contact@vNext.fr
  • 5. Agenda Cycle de Configuration Stockage Applications vie à chaud local distribuées Stratégie de Niveau de Présence Questions rejeux SLA globale Réponses
  • 6. Patterns Windows Azure Code session : ARC305 Cycle de vie
  • 7. Cycles de vie Corrélation avec une application tierce Contexte : Hébergement d’une application tierce dans un WorkerRole Azure Config EXE Worker Application hébergée sur Azure
  • 8. Cycles de vie Corrélation avec une application tierce – Approche Simple • Initialisation environnement OnStart • Lance les processus • Surveillance des processus OnRun • Si problème, recycle l’instance • Envoi stop aux processus On Stopping
  • 9. Cycles de vie Corrélation avec une application tierce – Approche simple Azure Application Starting Pas lancée Ready Lancée Stopping Arrêtée
  • 10. Cycles de vie Corrélation avec une application tierce – Problématiques Problèmes potentiels de cette approche Initialisation complexe ou longue Dépendance à un autre système Série de commandes à envoyer au bon moment Plusieurs exécutables Comment faire coïncider les cycles de vie ?
  • 11. Cycles de vie Corrélation avec une application tierce – Problématiques Azure Application Starting ? ? Ready Stopping
  • 12. Cycles de vie Corrélation avec une application tierce – Nouvelle approche Découplage Remise à plat du workflow opérationnel de l’application hébergée Matching des états avec les évènements Azure Exemple • Initialisation minimale OnStart • Gestion complète du workflow de l’application OnRun • Demande d’exclusion du LoadBalancer sur certains états • Quitte le workflow principal en quittant proprement l’application On Stopping
  • 13. Patterns Windows Azure Code session : ARC305 Configuration à chaud
  • 14. Reconfiguration à chaud But : Modifier le comportement de l’application sans interruption de service Moyens possibles : Fichier de configuration du service Windows Azure .cscfg Fichier de configuration de l’application web.config Externalisation de la gestion de configuration (Framework)
  • 15. Reconfiguration à chaud Fichier de configuration du service Azure .cscfg Moyen d’accès : Portail Azure (en édition directe ou mode fichier) Powershell API de Management Evènements à gérer: RoleEnvironment.Changing RoleEnvironment.Changed Impacts: Application par update domain Attention aux phases transitoires !
  • 16. Reconfiguration à chaud Fichier de configuration du service Azure .cscfg
  • 17. Reconfiguration à chaud Fichier de configuration de l’application web.config Non modifiables directement Solutions possibles : Modification du web.config depuis le WebRole (API Microsoft.Web.Administration) Téléchargement du web.config depuis un blob privé (startup task) Impacts : Recyclage de l’application
  • 18. Reconfiguration à chaud Externalisation de la gestion de configuration Sortir du pattern d’utilisation de la configuration standard pour une implémentation custom Nécéssite un Framework gérant toute la configuration de manière transverse Stockage en Base de donnée +/- stratégie de cache WebService … Impacts : Couteux si pas de Framework applicatif existant Selon l’implémentation du Framework
  • 19. Patterns Windows Azure Code session : ARC305 Utilisation du stockage local
  • 20. Utilisation du Local Storage Rappel sur les caractéristiques Espace sur les disques locaux des instances Volume disponible dépendant de la taille de la VM Non persistant (crash/changement de VM) Performance d’un disque dur moderne… mutualisé ! Non partagé car par instance Pattern de base Utiliser que pour des données temporaires Préférer les blob, Azure drive, Azure table Local Storage peut être très utile quand même Les VM ne reboot pas souvent Performances Les évènements OnStart et On Stopping permettent de manipuler les données locales
  • 21. Utilisation des stockage locaux Scénario de synchronisation avec un azure drive Les données sources sont dans VHD (Azure Drive) Snapshots du VHD pour dupliquer le contenu Monter le snapshot en Drive ReadOnly Recopier les données Supprimer le snapshot Même scénario avec arborescence de fichier dans les blobs OnStart : Rappatrie les données depuis les blobs OnStopping : Recopie dans les blobs Est-ce critique si on perd les données locales ? Conclusion : Cas d’utilisation spécifiques Peut résoudre certaines problématiques Résoudre les problématiques de resynchronisation
  • 22. Patterns Windows Azure Code session : ARC305 Application distribuée
  • 23. Application distribuée Patterns de Communications Objectifs : Fournir des solutions de communication adaptées aussi bien aux applications Cloud qu’a l ’intégration avec des applications On- Premise ou de partenaires Contraintes : Communication inter-rôle et inter-instance Gestion des accès concurrents inhérents au Cloud Sécurisation des échanges et intégrité des données Interopérabilité des protocoles et formats utilisés Scalabilité end-to-end Solutions à disposition : Web Service Queue Blob
  • 24. Application distribuée Patterns de communications – Inter-rôle Worker Role Instance 1 Web Role Load Balancer Instance 1 Worker Role Instance 2 Web Role Instance 2 Worker Role Instance 3
  • 25. Application distribuée Patterns de communications – Inter-rôle Worker Role Instance 1 Web Role Instance 1 Worker Role Instance 2 Web Role Queue Instance 2 Worker Role Instance 3 Lisse la charge
  • 26. Application distribuée Patterns de communications – Inter-rôle Azure Queue vs Azure Service Bus Queue Feature Azure Queue Service Bus Queue Garantie de l’ordre X (FIFO) Transaction X Mode d’accès Lease Lock Groupe de message X Détection de duplication X Management & Métriques X Intégration WCF X Intégration WF Custom Activity X Taille des messages 64 Ko 256 Ko Taille de la file 100 To 1, 2, 3, 4 ou 5 Go Durée de vie des messages 7 jours Illimitée Latence réseau 10 ms 100 ms Nombre de clients simultannés Illimité Illimité (HTTP) - 100 (TCP) Authentification Symmetric Key ACS Claims
  • 27. Application distribuée Patterns de communications – Inter-rôle Worker Role Instance 1 Web Role Instance 1 Worker Role Instance 2 Web Role Blob Instance 2 Worker Role Instance 3 Lisse la charge
  • 28. Application distribuée Patterns de communications – Inter-rôle Exploitation d’une propriété des blob : Lease Possibilité de « prendre le jeton » pour servir de mutex Ne pas oublier de renouveler le Lease tant que on l’utilise Utilisation des WAZStorageExtention de Steve Marx Nuget https://github.com/smarx/WazStorageExtensions
  • 29. Application distribuée Communications avec le SI Objectifs : Permettre un accès aux ressources du SI depuis l’extérieur Contraintes identifiées : Protocole de type Web Service : Sans modification des règles firewall existantes Interopérabilité avec les autres technologies Autres protocoles : DCOM – Bases de données – Imprimantes – Partages fichiers Contexte de sécurité basé sur Active Directory Problématiques : Établir une connexion sécurisée tout en traversant le firewall Assurer l’authentification et les autorisations Permettre de basculer vers une connexion directe
  • 30. Application distribuée Communications avec le SI – Service Bus Relay Service Bus Frontend Nodes Ctrl NLB 2 3 Ctrl 1 Forwarder Sender 4 Receiver
  • 31. Application distribuée Communications avec le SI – Service Bus Relay Service Bus Frontend Nodes Uniquement des connexions sortantes Connexion TCP par défaut puis HTTP si nécessaire Sécurisé avec Azure Access Control Connexion directe entre l’émetteur et le récepteur si possible Receiver
  • 32. Application distribuée Communications avec le SI – Service Bus Relay Fire and Forget Request/Reply To-way interaction Broadcast Application Application Application Application Application Partner Request Request Reply Request Request Request and Replyc and Reply Partner Partner Partner Partner Partner Partner Protocoles supportés : HTTP/SOAP – HTTP/REST - TCP
  • 33. Application distribuée Communications avec le SI – Azure Connect Accès à l’ensemble des ressources de l’entreprise à l’identique d’une solution On-Premise Cloud Hosted Service Création d’un réseau virtuel : Basé sur IPv6 et IPSec over SSTP Connexions sortantes uniquement en IPSec over SSTP Connect Agent Https Supporté uniquement pour les OS Windows Azure Connect Relay Contexte de sécurité de type Kerberos : L’instance du service hébergé devra intégrer le domaine Active Directory de IPSec over SSTP Connect Agent l’entreprise L’installation de l’agent sur les contrôleurs de domaine devient nécessaire Risque de serveur « zombie » lors des redémarrage d’instance On-Premise Infrastructure
  • 34. Application distribuée Communications avec les partenaires Objectifs : Diffuser un message à différents partenaires Filtrer les messages envoyés en fonction de leur contenu Proposer un système de souscription dynamique Contraintes : Sécurisation des échanges et intégrité des données Interopérabilité des protocoles et formats utilisés Scalabilité end-to-end Solution basée sur Azure Service Bus Topics
  • 35. Application distribuée Communications avec les partenaires - Service Bus Messaging Implémentation avancée des Service Bus Queue : Toutes les capacités + Publish/Subscribe Routage basé sur les headers du message Chaque suscription reçoit une copie du message Jusqu’à 2000 souscriptions par Topic R E R E Topic Rules Actions Subscriptions E R
  • 36. Application distribuée Communications avec les partenaires - Service Bus Messaging Règle : Filtre les message correspondant aux conditions définies Multiple règles possibles par souscription Chaque règle évaluée avec succès génère une copie du message Condition et Action : Condition : basée sur des expressions de type SQL’92 Action : permet la modification des propriétés du message reçu
  • 37. Application distribuée Communications avec les partenaires - Service Bus Messaging Les conditions de filtre sont opérées uniquement sur les propriétés du message et exprimées en SQL’92 : InvoiceTotal > 10000.00 OR ClientRating <3 ShipDestCtry = ‘USA’ AND ShipDestState=‘WA’ LastName LIKE ‘V%’ Les actions peuvent ajouter/modifier/supprimer les propriétés du message : SET AuditRequired = 1
  • 38. Patterns Windows Azure Code session : ARC305 Stratégie de rejeux
  • 39. Stratégie de rejeux Le Cloud est un environnement mutualisé par nature. Malgré un SLA annoncé, des micro-disfonctionnements peuvent se produire Throttling Network glitch Indisponibilité temporaire Imprévisibles et temporaires, donc adapter l’architecture Considérer que cela va arriver au plus mauvais moment Dans 95% des cas, une simple relance suffit Nécessité d’implémenter une stratégie de rejeux
  • 40. Stratégie de rejeux TOPAZ Codename TOPAZ : Transient Fault Handling Application Block Windows Azure Integration Pack de Enterprise Library 5 Gère les services SQL Azure Windows Azure Service Bus Windows Azure Storage Windows Azure Caching Service Démarche Nuget « Topaz » Définir une politique de rejeux Encadrer les actions à protéger par les extensions TOPAZ
  • 41. Stratégie de rejeux TOPAZ Retry policy par configuration : Ou par code :
  • 42. Stratégie de rejeux TOPAZ Utilisation avec SQL Azure Utilisation de ReliableSqlConnection Utilisation des extensions de méthodes de SqlCommand telles que ExecuteNonQueryWithRetry() Ouverture de connexion : Exécution de commande :
  • 43. Stratégie de rejeux TOPAZ Entity Framework, SQL Azure et TOPAZ Nécessite de gérer la connexion manuellement Encadrer le code atomique avec le ExecuteAction
  • 44. Stratégie de rejeux TOPAZ Monitoring des retry : Event « Retrying » Gère les méthodes asynchrones Stratégies des détections d’erreurs extensibles Stratégies des Retry extensibles
  • 45. Patterns Windows Azure Code session : ARC305 SLA
  • 46. SLA Le SLA définie par chaque élément de l’offre Azure n’est garanti que : Si vous déployer au minimum deux instances Voir trois, si vous souhaiter assurer ce SLA en mode dégradé (update, recyclage, déploiement, etc.) Dans certains cas, une instance durant quelques minutes/heures peut suffire Suivre le SLA et les performances de son application : Monitoring via les compteurs de performances SCOM avec Azure Management Pack Déploiement possible d’agent AVIcode Adapter son infrastructure - Auto-scalling : Approché évidente quand on parle de Cloud Bien plus complexe que l’on ne l’imagine au premier abord Il s’agit non seulement de supporter une charge qui augmente mais aussi une charge qui diminue : Garantir le SLA Optimiser les coûts Enterprise Library fourni une implémentation au travers de WAZABI
  • 47. SLA Enterprise Library – Azure Autoscalling Block : WAZABI <rules xmlns="http://schemas.microsoft.com/practices/2011/entlib/autoscaling/rules"> <constraintRules> <rule name="BusinessHours" description="Scale out during business hours" rank="100" enabled="true"> <timetable startTime="07:00:00" duration="12:00:00" startDate="2012-02-07" utcOffset="-04:00"> <weekly days="Monday Tuesday Wednesday Thursday Friday"/> </timetable> <actions> <range target="MvcWebRole1" min="2" max="12"/> </actions> </rule> </constraintRules> <reactiveRules> <rule name="HotCPU" enabled="true" rank="100"> <when> <greater operand="CPU" than="85" /> </when> <actions> <scale target="Demo.WebSite" by="1" /> </actions> </rule> <rule name="LowCPU" enabled="true" rank="100"> <when> <less operand="CPU" than="35" /> </when> <actions> <scale target="Demo.WebSite" by="-1" /> </actions> </rule> </reactiveRules> <operands> <performanceCounter alias="CPU" source="Demo.WebSite" performanceCounterName="Processor(_Total)% Processor Time« timespan="00:10:00" aggregate="Average" /> </operands> </rules>
  • 48. Patterns Windows Azure Code session : ARC305 Présence globale
  • 49. Présence globale Objectif : Conserver le niveau de service quelque soit l’emplacement de l’utilisateur dans le monde Contraintes : Déployer les ressources au plus proche de l’utilisateur Garder les données au plus près du code Problématiques : Géolocalisation de l’utilisateur et routage des requêtes Synchronisation des données
  • 50. Présence globale Northern Europe North Central USA 100ms 50ms Eastern Asia Western Europe South Central USA Southeast Asia
  • 51. Présence globale Traffic Manager Serveurs DNS Lookup www.demo.com Map www.demo.com to demo.trafficmanager.net Résolution de trafficmanager.net 1 2 Retourne l’adresse IP de Traffic Manager Lookup demo.trafficmanager.net 3 Traffic Manager 4 Connexion à l’instance Résolution demo.trafficmanager.net spéficiée 5 Retourne l’adresse IP de l’instance (Stratégie* + Monitoring) la plus appropriée demo-us.cloudapp.net demo-eu.cloudapp.net demo-as.cloudapp.net États-Unis Europe Asie *Performance - trafic envoyé au service ayant le moins de latence réseau *Round Robin - trafic distribué de manière égale sur tous les services *Failover - trafic envoyé au premier service, si offline, au service suivant de la liste
  • 52. Présence globale SQL Data Sync Data Center A GET / SET Data Center C GET / SET Data Center B
  • 53. Présence globale Service Bus Data Center A Update GET SET Update Update Rules Topic Subscriptions Actions Update Update SET Update GET Data Center B
  • 54. Patterns Windows Azure Code session : ARC305 Questions / Réponses
  • 56. Ressources Windows Azure gratuites Testez Windows Azure Abonnés MSDN, vous gratuitement pendant bénéficiez de Windows 90 jours Azure http://aka.ms/  http://aka.ms/ tester-azure-90j activer-azure-msdn Scénario d’utilisation (B2B): http://aka.ms/ b2b-avec-sqlazure
  • 57. Pour aller plus loin Prochaines sessions des Dev Camps Chaque semaine, les 10 février Live Open Data - Développer des applications riches avec le DevCamps 2012 Meeting protocole Open Data 16 février Live Azure series - Développer des applications sociales sur la 2012 Meeting plateforme Windows Azure ALM, Azure, Windows Phone, HTML5, OpenData 17 février Live http://msdn.microsoft.com/fr-fr/devcamp 2012 Meeting Comprendre le canvas avec Galactic et la librairie three.js 21 février Live La production automatisée de code avec CodeFluent Entities Téléchargement, ressources 2012 Meeting 2 mars Live Comprendre et mettre en oeuvre le toolkit Azure pour Windows 2012 Meeting Phone 7, iOS et Android et toolkits : RdV sur MSDN 6 mars 2012 Live Meeting Nuget et ALM http://msdn.microsoft.com/fr-fr/ 9 mars Live Kinect - Bien gérer la vie de son capteur 2012 Meeting Les offres à connaître 13 mars Live Sharepoint series - Automatisation des tests 2012 Meeting 14 mars Live TFS Health Check - vérifier la bonne santé de votre plateforme 90 jours d’essai gratuit de Windows Azure 2012 Meeting de développement www.windowsazure.fr 15 mars 2012 Live Meeting Azure series - Développer pour les téléphones, les tablettes et le cloud avec Visual Studio 2010 16 mars Live Applications METRO design - Désossage en règle d'un template Jusqu’à 35% de réduction sur Visual Studio 2012 Meeting METRO javascript Pro, avec l’abonnement MSDN 20 mars Live Retour d'expérience LightSwitch, Optimisation de l'accès aux www.visualstudio.fr 2012 Meeting données, Intégration Silverlight 23 mars Live OAuth - la clé de l'utilisation des réseaux sociaux dans votre 2012 Meeting application
  • 58. Vous êtes dans la salle 251
  • 59. palais des congrès Paris 7, 8 et 9 février 2012