La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

2 Windows Azure : Plongée en eaux profondes 8 février 2011 Bernard Ourghanlian CTO, CSO & DPE Lead Microsoft France CLO302.

Présentations similaires


Présentation au sujet: "2 Windows Azure : Plongée en eaux profondes 8 février 2011 Bernard Ourghanlian CTO, CSO & DPE Lead Microsoft France CLO302."— Transcription de la présentation:

1

2 2 Windows Azure : Plongée en eaux profondes 8 février 2011 Bernard Ourghanlian CTO, CSO & DPE Lead Microsoft France CLO302

3 3 Sommaire Introduction au Cloud Les fondamentaux de Windows Azure Le fonctionnement interne du Fabric Controller Mettre à jour un service Mises à jour du système d’exploitation hôte La réparation d’un service

4 4 Les fondamentaux du Cloud Infrastructure as a Service (IaaS) : ressources de calcul et de stockage de base – Serveurs à la demande – Ex : Amazon EC2, VMware vCloud Platform as a Service (PaaS): infrastructure applicative du Cloud – Environnement d’hébergement d’applications à la demande – Ex : Google AppEngine, Salesforce.com, Windows Azure Software as a Service (SaaS): applications cloud – Applications à la demande – Ex : GMail, Microsoft Office Web Companions/O365

5 5 Les bénéfices du Cloud Le Cloud permet de fournir de la capacité à bas coût, à la demande = Géré pour vousServeurs isolés IaaSPaaSSaaS Applications Runtimes Base de données Système d’exploitation Virtualisation Serveur Stockage Réseau Windows Azure

6 6 Windows Azure est un système d’exploitation pour le Datacenter Modèle : traiter le Datacenter comme une machine Traite la gestion des ressources, le provisionnement et la surveillance Gère le cycle de vie des applications Permet aux développeurs de se concentrer sur la logique métier Fournit un réservoir partagé de ressources de calcul, de stockage et de réseau Stockage, calcul et réseau virtualisés Illusion de ressources sans limites Fournit des blocs de base communs pour construire des applications distribuées File d’attente fiable, stockage structuré simple, stockage SQL Des services applicatifs comme contrôle d’accès et connectivité

7 7 Composants de Windows Azure PaaS - Windows Azure ApplicationsModèle de Service Windows Azure Runtimes.NET 3.5/4, ASP.NET, PHP Système d’exploitation Système d’exploitation compatible Windows Server 2008 ou 2008 R2 VirtualisationHyperviseur Windows Azure ServeurBlades/Containers Microsoft Base de données SQL Azure StockageStockage Windows Azure (Blob, Queue, Table) RéseauRéseau configuré pour Windows Azure

8 8 Sommaire Introduction au Cloud Les fondamentaux de Windows Azure Le fonctionnement interne du Fabric Controller Mettre à jour un service Mises à jour du système d’exploitation hôte La réparation d’un service

9 9 Fonctionnalités de base de Windows Azure Configuration et déploiement : Gestion de certificats (par exemple SSL) Points de terminaison (endpoints) publics à équilibrage de charge Configuration et découverte des endpoints internes Opérations : Gestion de l’accès aux bureaux distants Mises à jour automatisées des systèmes d’exploitation et des runtimes Mises à jour coordonnées Disponibilité : Surveillance de la santé de l’environnement Disponibilité garantie par SLA

10 10 Modéliser des Applications Cloud Une application Cloud est typiquement construite à l’aide de divers composants Front End : par exemple : des serveurs Web à équilibre de charge stateless Middle tier : par exemple : traitement des commandes, encodage Stockage Back End : par exemple : tables SQL ou fichiers Plusieurs instances de chacun pour des raisons de passage à l’échelle et pour la disponibilité Front- End Application Cloud Front- End HTTP/HTTPS

11 11 Le modèle de service Windows Azure Une application Windows Azure est appelée un « service » Information de définition Information de configuration Au moins un « rôle » Les rôles sont comme des DLL au sein du « processus » d’un service Collection de code avec un point d’entrée qui s’exécute dans sa propre machine virtuelle Il y a aujourd’hui trois types de rôles : Web Role : IIS7 et ASP.NET dans un système d’exploitation fourni par Windows Azure IIS 7.5 maintenant Worker Role : code arbitraire dans un système d’exploitation fourni par Windows Azure Middle tier VM Role : VHD téléchargé avec le système d’exploitation fourni par le client

12 12 Contenu du rôle Définition : – Nom du rôle – Type du rôle – Taille de VM (par exemple small, medium, etc.) – Endpoints réseau Code : – Web/Worker Role : DLL hébergée et autres exécutables – VM Role : VHD Configuration : – Nombre d’instances – Nombre d’update et fault domains Service Role: Front-End Definition Type: Web VM Size: Small Endpoints: External-1 Configuration Instances: 2 Update Domains: 2 Fault Domains: 2

13 13 Fichiers de modèle de service La définition du Service est dans ServiceDefinition.csdef La configuration du Service est dans ServiceConfiguration.cscfg Le programme CSPack compresse (Zip) les binaires du service et la définition dans un fichier empaquetant le service (service.cscfg)

14 14 Disponibilité : Update Domains Objectif : Assurer que le service reste disponible pendant qu’on le met à jour et que le système d’exploitation Windows Azure se met à jour Le système prend en compte la notion d’update domains quand il met à jour un service – 1/update domains = pourcentage du service qui sera hors service – Défaut et max : 5, mais vous pouvez outrepasser avec la propriété de définition du service upgradeDomainCount Le SLA de Windows Azure est basé sur au moins 2 update domains et deux instances de rôle dans chaque rôle Front- End-1 Front- End-2 Update Domain 1 Update Domain 2 Update Domain 3

15 15 Disponibilité : Fault Domains Objectifs : éviter les points de défaillance unique – Concept semblable aux update domains – Mais vous ne contrôlez pas les mises à jour Unité de défaillance basé sur la topologie du Datacenter – Par exemple : un switch situé au- dessus d’un rack de machines Windows Azure considère les fault domains lors de l’allocation des service roles – 2 fault domains par service – Essaye de répartir les rôles au maximum – Par exemple, ne place pas tous les rôles dans le même rack Front- End-1 Fault Domain 1 Fault Domain 2 Front- End-2 Middle Tier-2 Middle Tier-1 Fault Domain 3 Middle Tier-3

16 16 Déployer un Service dans le Cloud : vue d’avion Le package correspondant au Service est téléchargé sur le portail – Le Windows Azure Portal Service passe le package de service au service Azure « Red Dog Front End » (RDFE) – RDFE convertit le package de service en version native « RD » RDFE envoie le service au Fabric Controller (FC) en fonction de la région cible Le FC stocke l’image dans le référentiel, déploie et active le service

17 17 Sommaire Introduction au Cloud Les fondamentaux de Windows Azure Le fonctionnement interne du Fabric Controller Mettre à jour un service Mises à jour du système d’exploitation hôte La réparation d’un service

18 18 Le Fabric Controller (FC) Le « noyau » du système d’exploitation du Cloud Gère le hardware du Datacenter Gère les services Windows Azure 4 principales responsabilités : Affectation des ressources du Datacenter Provisionnement des ressources du Datacenter Gestion du cycle de vie du Service Gestion de l’état de santé du Service Entrées : Description des ressources hardware et réseau qu’il contrôlera Modèle de Service et binaires pour les applications Cloud Serveur Noyau Processus Datacenter Fabric Controller Service Server Datacenter

19 19 Pour être clair avec les « Fabrics »… Le Fabric Controller de Windows Azure n’a absolument rien à voir avec AppFabric AppFabric est une marque qui comprend : Windows Server AppFabric : un ensemble de composants pour construire des applications composites fondées sur Windows Communication Foundation et Windows Workflow Foundation Windows Azure AppFabric : Services Cloud pour connecter des applications Cloud et en interne AppFabric Access Control Server AppFabric Service Bus AppFabric Cache Construits comme des services Windows Azure

20 20 Datacenter Architecture TOR LB A gg PDU LB A gg LB A gg LB A gg LB A gg LB A gg Racks Datacenter Routers Aggregation Routers et Load Balancers TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU ………… … Top of Rack Switches Power Distribution Units … Nœuds

21 21 Datacenters Windows Azure

22 22 Architecture FC haut niveau FC est une application distribuée, stateful qui s’exécute sur les nœuds (blades) répartie au travers des fault domains Installé par l’ « utilitaire » Fabric Controller Un d’entre eux agit comme « primaire » et maintient une vue synchronisée du reste du monde par les autres Choix d’un nouveau primaire si celui-ci tombe grâce un algorithme de consensus de Paxos Supporte les rolling upgrades et les services continuent de s’exécuter même si un FC tombe entièrement … … … … … … … … … … Nœuds Rack

23 23 Provisionner un nœud Mettre sous tension le nœud en parlant au PDU Amorçage PXE d’un OS de maintenance L’agent formate le disque et télécharge le système d’exploitation hôte Le système d’exploitation hôte démarre, exécute Sysprep /specialize et redémarre FC se connecte avec le « Host Agent » Images des rôles Référentiel d’images OS de maintenance OS Parent Nœud OS de maintenance OS Windows Azure

24 24 Sommaire Introduction au Cloud Les fondamentaux de Windows Azure Le fonctionnement interne du Fabric Controller Mettre à jour un service Mises à jour du système d’exploitation hôte La réparation d’un service

25 25 Les étapes de déploiement d’un Service Traitement des fichiers du modèle de service Déterminer les besoins en ressources (taille de VM, nombre d’instances,…) Créer les images des rôles Allouer les ressources de calcul et de réseau Préparer les nœuds Placer les images des rôles sur les nœuds Créer les machines virtuelles Démarrer les machines virtuelles et les rôles Configurer le réseau Adresses IP dynamiques (DIP) affectées aux blades Internes Adresses IP virtuelles (VIP) affectées et mappées vers les ensembles de DIP Visibles à l’extérieur Programmer les load balancers pour permettre le trafic

26 26 Allocation des ressources d’un service Objectif : allouer les composants du service en direction des ressources disponibles tout en satisfaisant toutes les contraintes dures Besoin de passage à l’échelle : nombre d’instances Besoins hardware : CPU, Mémoire, Stockage, Réseau Besoins de l’environnement d’hébergement (OS, VM) Fault domains Update domains Objectif secondaire : satisfaire les autres contraintes Préférer les allocations qui simplifient le service de l’OS hôte/de l’hyperviseur Optimiser la proximité réseau (ex : front-end, middle-tier, back-end) L’allocation du Service produit l’état de l’objectif pour chacune des ressources affectées aux composants du Service Configuration nœud et VM (OS, environnement d’hébergement) Fichiers images et configuration à déployer Processus à démarrer L’allocation du Service alloue aussi les ressources réseau telles que LB et VIP

27 27 Exemple d’une allocation de service Role B Count: 2 Update Domains: 2 Fault Domains: 2 Size: Medium Role B Count: 2 Update Domains: 2 Fault Domains: 2 Size: Medium Fault Domain 1Fault Domain 2Fault Domain 3 Load Balancer

28 28 Provisionner une instance de rôle Le FC pousse les fichiers de rôle et les informations de configuration en direction du host agent du nœud cible Le host agent crée trois VHD : Un VHD différentiel pour l’image de l’OS (D:\) Le host agent injecte un guest agent pour le FC au sein du VHD pour les Web/Worker roles Un VHD ressource pour les fichiers temporaires (C:\) Un VHD Role pour les fichiers rôle (la première lettre disponible ensuite, par exemple E:\, F:\) Le host agent crée les VM, y attache les VHD et démarre les VM Le guest agent démarre le hôte du rôle, qui appelle alors le point d’entrée du rôle Démarre le health heartbeat et accepte des commandes en provenance du host agent Le load balancer ne route seulement que vers les points de terminaison externes quand il répond à un simple HTTP GET (sonde du LB)

29 29 Provisioner les instances de VM Role Le VHD de base et le VHD différentiel d’un VM Role sont stockés dans des Windows Azure storage blobs Des versions miroirs sont créées quand les originaux sont téléchargés Les lectures depuis le VHD sont toutes réalisées à travers un service de caching de VHD Les lectures sont effectuées à la demande depuis le cache (comme la pagination) Les écritures vont en direction d’un second VHD différentiel Une opération de « Reimage » le supprime simplement et redémarre Windows Azure Blob Storage Miroir du VHD de base VHD différentiel miroir VHD de base VHD différentiel miroir VHD différentiel secondaire Nœud

30 30 A sein d’une VM de Rôle Volume de ressource Volume de l’OS Volume pour le Rôle Guest Agent Hôte du Rôle Point d’entrée du Rôle

31 31 La sécurité du Fabric Controller La machine virtuelle est la frontière de sécurité à partir de laquelle est basée la sécurité de Windows L’OS de l’hôte et le host agent du FC sont considérés comme dignes de confiance Le guest agent est indigne de confiance Le host agent du FC assure que la VM peut seulement accéder aux adresses IP affectées aux VM du même service Permet l’accès aux adresses Internet Le FC utilise des certificats et la sécurité réseau pour autoriser l’accès aux ressources du Datacenter

32 32 Sommaire Introduction au Cloud Les fondamentaux de Windows Azure Le fonctionnement interne du Fabric Controller Mettre à jour un service Mises à jour du système d’exploitation hôte La réparation d’un service

33 33 Types de mises à jour Il y a deux types de mises à jour : In-place VIP swap Mise à jour In-place : Supporte les changements de la configuration ou des binaires mais pas de la définition du service Les instances de Rôle sont mis à jour un update domain après l’autre Deux modes : automatique et manuel Mise à jour VIP swap : La définition du service peut changer mais les points de terminaison externes doivent rester les mêmes La nouvelle version du service déployée, le nouveau mappage externe VIP/DIP est échangé avec l’ancien Les changements du nombre de points de terminaux externes nécessitent un nouveau déploiement Role A UD 1 Role A UD 2 Mise à jour In-Place Mis à jour VIP Swap

34 34 Détails de la mise à jour In-Place Le FC déploie les fichiers mis à jour du rôle et de la configuration sur tous les nœuds en parallèle Prépare les nouvelles instance du rôle : Le host agent du FC crée un nouveau VHD pour le rôle Attache et monte le nouveau VHD pour le rôle Stoppe l’ancienne instance du rôle : Le FC charge le guest agent de stopper l’instance du rôle Démonte et détache l’ancien VDD du rôle Démarre les nouvelles instances du rôle : Appelle le nouveau point d’entrée du rôle Considère que la mise à jour de l’instance du rôle a été couronnée de succès quand le code du rôle signale « ready » A noter le fait que le volume de ressource est préservé lors de la mise à jour de l’instance du rôle

35 35 Sommaire Introduction au Cloud Les fondamentaux de Windows Azure Le fonctionnement interne du Fabric Controller Mettre à jour un service Mises à jour du système d’exploitation hôte La réparation d’un service

36 36 Mettre à jour l’OS de l’hôte Lancé par l’équipe Windows Azure Typiquement pas plus qu’une fois par mois Objectif : mettre à jour toutes les machines le plus rapidement possible Contrainte : ne doit pas violer le SLA Un service a besoin d’au moins deux update domains et deux instances de rôle pour respecter le SLA On ne peut pas permettre à plus d’un update domain de n’importe quel service d’être hors service à un instant donné Note : votre instance de rôle garde la même VM et les mêmes VHD, préservant ainsi les données cachées dans le volume de ressource Essentiellement un problème de coloriage de graphe Des arrêtes existent entre des sommets (nœuds) si les deux nœuds hébergeant les deux instances de hôtes pour le même rôle de service sont dans des update domains différents Les nœuds qui n’ont pas d’arrêtes entre eux peuvent être mis à jour en parallèle

37 37 Exemple d’allocations Les deux allocations sont valides du point de vue des services Allocation 1 permet à 2 nœuds de rebooter simultanément Allocation 2 ne permet qu’à un seul nœud d’être arrêté à n’importe quel moment Une mise à jour de l’OS hôte avec l’allocation 1 est 2 fois plus rapide Allocation 1 Allocation 2 Service B Role A-1 UD 2 Service B Role A-1 UD 2 Service B Role B-2 UD 2 Service B Role B-2 UD 2 Service B Role B-2 UD 2 Service B Role B-2 UD 2 Service B Role A-1 UD 2 Service B Role A-1 UD 2

38 38 Sommaire Introduction au Cloud Les fondamentaux de Windows Azure Le fonctionnement interne du Fabric Controller Mettre à jour un service Mises à jour du système d’exploitation hôte La réparation d’un service

39 39 Maintenance de la santé des nœuds et des rôles Le FC maintient la disponibilité du service en surveillant la santé du software et du hardware Basée principalement sur des heartbeats « Répare » automatiquement les rôles affectés ProblèmeDétectionRéponse de la Fabric Crash d’une instance de rôle Le guest agent du FC surveille la fin d’un rôle Le FC redémarre le rôle Une VM invitée ou un agent crashe Le host agent du FC remarque les heartbeats manquant du guest agent Le FC redémarre la VM et le rôle hébergé L’OS hôte ou l’agent crashe Le FC remarque les heartbeats manquant du host agent Tentative de récupérer le nœud. Le FC réalloue les rôles à d’autres nœuds Détection d’un problème hardware sur le nœud Le host agent en informe le FCLe FC migre les rôles vers d’autres nœuds Marque le nœud « out for repair »

40 40 Node Health Index Les timeouts varient en fonction de l’état du nœud et des opérations Basés sur des heartbeats, qui sont typiquement de 15 secondes Utilisés pour statut et récupération L’échantillonneur d’état de santé fait un reset de l’index après un échantillonnage couronné de succès Une fois que l’index tombe en dessous de 0 le FC tente de réparer le nœud Par exemple, le timeout du host agent est de 10 minutes Le temps de réaction dans le pire cas est de : intervalle de timeout + intervalle de heartbeat Node Health Index Heartbeats manqués Intervalle de Heartbeat Heartbeat manqué Récupération initiée Timeout de Heartbeat Timeout de santé En bonne santé

41 41 Déplacer une instance de rôle Déplacer une instance de rôle ressemble à une mise à jour de service Sur le nœud source : Les instances du rôle sont stoppées Les VM sont stoppées Le nœud est re-provisionné Sur le nœud destination : Mêmes étapes que lors du déploiement initial du rôle Attention : le VHD ressource n’est pas déplacé

42 42 Conclusion La mise en place d’une solution de type Platform as a Service a pour but essentiel de réduire le surcoût lié au management et aux opérations Le Fabric Controller Windows Azure est la fondation de la plateforme Windows Azure Provisionnement des machines Déploiement des services Configuration du hardware pour les services Surveillance de la santé du service et du hardware Réparation du service Le Fabric Controller continue d’évoluer…

43 43 Remerciements Merci à Mark Russinovich pour une large part de cette présentation !

44 44 Questions ?

45


Télécharger ppt "2 Windows Azure : Plongée en eaux profondes 8 février 2011 Bernard Ourghanlian CTO, CSO & DPE Lead Microsoft France CLO302."

Présentations similaires


Annonces Google