Introduction àWindows AzureLundi 8 février 2010 – CLO202Guillaume Belmas, WygwamThomas Conté, Microsoft
Présentation des PrésentateursGuillaume BelmasArchitecte et Manager de Wygwam Parisguillaumeb@wygwam.comtwitter.com/kangoo06blogs.developpeur.org/kangooThomas ContéArchitecte, Division Plateforme & Ecosystème, Microsofttconte@microsoft.comtwitter.com/tomconteblogs.msdn.com/tconte
www.wygwam.com Wygwam ParisWygwam NordWygwam BeluxWygwam Suisse
AgendaIntroductionLes trois types de CloudScénarios pour le Cloud ComputingVue d’ensemble de la plateforme AzureLes briques de la plateforme AzureWindows Azure: Compute, Storage & ManagementSQL AzureAzure AppFabricConclusionExemple d’application
IntroductionPrésentation & Rappels
Pourquoi le Cloud
“Croissance Rapide “  “Puissance Ponctuelle“ InactivitéCompute Compute UtilisationMoyenneUtilisationUtilisationTempsTempsTravaux ponctuels, par exemple batchLa capacité excédentaire est inutiliséeTime to market peut être ralentiService populaire = montée en chargeTenir le rythme de croissance challenge l’ITComplexité du déploiement initial“Pics Imprévisibles“  “Pics Prévisibles“  Compute Compute UtilisationMoyenneUtilisationMoyenneTempsTempsPics de demande difficiles à prévoirLes pics impactent les performancesImpossible de prévoir les cas extrêmesServices à forte saisonnalitéPics dus à une augmentation de la demandeComplexité IT et capacité gâchéeScénarios pour le Cloud
Microsoft & Cloud ComputingSoftware as a ServiceSAASPlatform as a ServicePAASInfrastructure as a ServiceIAAS
Plateforme Azure: vue d’ensembleComputeStorageManagementManagementRelational dataConnectivityAccess control
Azure en Un SlideBusiness PortalUser CodeDeveloper PortalService ManagementRESTRuntime APIVM Setup……Storage ClusterStorage ClusterVS ToolsCompute ClusterCloud VMAzure SDKRESTDatacenters MicrosoftDesktop
Déploiement mondialNorthern EuropeNorth Central USA2010Western Europe Eastern AsiaSouth Central USA2010Southeast Asia
Service bus & Access control disponiblesStockagedisponibleInstancessurveilléesBase de donnéesdisponibleComputeaccessibleLes endpoints du Service Bus & Access Control ontuneconnectivitéexterneOpérationsur les requêtes / messages correctementeffectuéesLes services de stockagesontdisponibles & accessibles (connectivité)Vosrequêtes de stockagesonttraitéesLa base de donnéesestconnectée à la passerelle internetToutes les base sontsurveillées en parmanenceTous les rôles en exécutionsontsurveillésSi un rôleest en mauvaise santé, une action corrective estinitiéeVotre service connecté & accessible via le WebLes rôlesexternesontuneconnectivité Internet>99.9%>99.9%>99.9%>99.95%>99.9%Garanties de Services (SLA)
Azure au sein de la plateforme
InteropérabilitéZENDFRAMEWORK
Démo: bien commencerPortail commercial & portail développeurEnvironnement de travail:Visual Studio + SDK Azure
Et bien d’autres outils…Azure Storage Explorer:http://azurestorageexplorer.codeplex.com/Windows Azure MMC:http://code.msdn.microsoft.com/windowsazuremmc
Windows AzureWindows Azure « Compute »Windows Azure « Storage »Windows Azure « Management »
Windows Azure: ComputeComputeStorageManagementPlateforme d’exécution automatisée, hautement disponible, forte capacité à monter en chargeMontée en charge par « scale out »Multiples tailles de machines virtuelles (S, M, L, XL)
Deux types de « Rôles » disponiblesWeb RoleWorkerRoleRôle « générique »Un point d’entrée: Run() puis carte blanchePeut, entre autres, effectuer des tâches de fond pour le compte des Web RolesEnvironnement IIS 7 / ASP.NETPublie des applications Web ou des servicesCommunique avec les Workers directement (TCP/IP) ou via les files d’attentePlusieurs rôles spécialisés (FastCGI, WCF, etc..)
Articulation Web Role/ WorkerRoleTablesBlobLoadBalancing(géré par Azure)Web RoleWorkerRoleWeb RoleWorkerRoleWeb RoleWorkerRoleWeb RoleWorkerRoleMontée en chargepar configurationWorkerRoleWeb RoleTCP/IPQueuesMessageMessage
DémoWindows Azure « Compute »Portail développeur: créer un serviceVisual Studio: développer & déployer un service
Windows Azure: StorageComputeManagementStorage
Windows Azure StorageBlobs: stockage de fichiers volumineux, avec métadonnéesIdentifié simplement par son nomBlock Blob, Page BlobContent Delivery NetworkTables: stockage structuré, ensemble d’entités comportant des propriétésPas de schéma fixe: paires (nom, valeur)Données structurées, pas relationnellesQueues: transmission garantie de messagesPermet de traiter des tâches en asynchrone entre nœudsDrives: volume NTFS durable monté dans la VMPermet d’utiliser des API NTFS standardJusqu’à 1 To par drive, jusqu’à 8 drives par VM
Zoom sur les DrivesNouveaudans la version 1.1 (February 2010) du SDK et le Windows Azure Guest OS 1.1Permet à une application Azure d’accéder à un lecteur de disque NTFS (ex. X:\) pour stocker des données durablesImplémenté sous la forme d’un Page Blob contenant un VHD formaté en NTFSPossibilité de cacher les données sur un disque local à la VMOpérations:CreateMountUnmountSnapshotCopy
Articulation Roles et StoragesLoad Balancer : Répartiteur de chargeWebRoles :Web UIBlob : Stockage des images et des miniaturesQueue : Ordres de traitementWorkers :traitement des images
DémoWindows Azure « Storage »
Windows Azure: ManagementComputeStorageManagementObjectif: automatiser la surveillance et les opérationsFonction cruciale pour atteindre le degré d’élasticité désiréAPI de gestion REST protégée par certificats: gestion et automatisation des déploiementsAPI de diagnostics: récupération dans Storage des logs applicatifs et système, compteurs de performances, etc.
API de Management & Diagnostics
Administration PowerShellhttp://code.msdn.microsoft.com/azurecmdlets
API de DiagnosticsDiagnosticMonitorConfigurationdiagConfig = DiagnosticMonitor.GetDefaultInitialConfiguration();diagConfig.Logs.ScheduledTransferPeriod= System.TimeSpan.FromMinutes(1.0);diagConfig.DiagnosticInfrastructureLogs.ScheduledTransferLogLevelFilter = LogLevel.Error;diagConfig.DiagnosticInfrastructureLogs.ScheduledTransferPeriod= System.TimeSpan.FromMinutes(1.0);diagConfig.WindowsEventLog.DataSources.Add("System!*");diagConfig.WindowsEventLog.ScheduledTransferPeriod= System.TimeSpan.FromMinutes(1.0);DiagnosticMonitor.Start("DiagnosticsConnectionString", diagConfig);
SQL Azure
SQL AzureBusiness AnalyticsReportingData SyncDatabaseBase de données relationnelle « as a service »Utilise le protocole TDS et le T-SQL standard de SQL ServerModèle de programmation connu: ADO.NET, Entity Framework, WCF Data Services…Deux éditions: Web (1 Go) et Business (10 Go)SQL Azure Data Sync pour synchroniser SQL Azure et bases « à demeure »
Provisioning dans SQL AzureChaque compte possède un serveurGérés par Azure, créés dans un portail communInstrument de facturationChaque serveur possède des databasesContient métadonnées pour les BDDUnité d’identification et de sécuritéUnité de géo-localisationLe serveur est une vue logique de vos BDDChaque BDD a des objets SQL standardUtilisateurs, tables, vues, index, etc.CompteServeur       Database

TechDays 2010 (CLO202) : Introduction à Windows Azure

  • 2.
    Introduction àWindows AzureLundi8 février 2010 – CLO202Guillaume Belmas, WygwamThomas Conté, Microsoft
  • 3.
    Présentation des PrésentateursGuillaumeBelmasArchitecte et Manager de Wygwam Parisguillaumeb@wygwam.comtwitter.com/kangoo06blogs.developpeur.org/kangooThomas ContéArchitecte, Division Plateforme & Ecosystème, Microsofttconte@microsoft.comtwitter.com/tomconteblogs.msdn.com/tconte
  • 4.
    www.wygwam.com Wygwam ParisWygwamNordWygwam BeluxWygwam Suisse
  • 5.
    AgendaIntroductionLes trois typesde CloudScénarios pour le Cloud ComputingVue d’ensemble de la plateforme AzureLes briques de la plateforme AzureWindows Azure: Compute, Storage & ManagementSQL AzureAzure AppFabricConclusionExemple d’application
  • 6.
  • 7.
  • 8.
    “Croissance Rapide “ “Puissance Ponctuelle“ InactivitéCompute Compute UtilisationMoyenneUtilisationUtilisationTempsTempsTravaux ponctuels, par exemple batchLa capacité excédentaire est inutiliséeTime to market peut être ralentiService populaire = montée en chargeTenir le rythme de croissance challenge l’ITComplexité du déploiement initial“Pics Imprévisibles“ “Pics Prévisibles“ Compute Compute UtilisationMoyenneUtilisationMoyenneTempsTempsPics de demande difficiles à prévoirLes pics impactent les performancesImpossible de prévoir les cas extrêmesServices à forte saisonnalitéPics dus à une augmentation de la demandeComplexité IT et capacité gâchéeScénarios pour le Cloud
  • 9.
    Microsoft & CloudComputingSoftware as a ServiceSAASPlatform as a ServicePAASInfrastructure as a ServiceIAAS
  • 10.
    Plateforme Azure: vued’ensembleComputeStorageManagementManagementRelational dataConnectivityAccess control
  • 11.
    Azure en UnSlideBusiness PortalUser CodeDeveloper PortalService ManagementRESTRuntime APIVM Setup……Storage ClusterStorage ClusterVS ToolsCompute ClusterCloud VMAzure SDKRESTDatacenters MicrosoftDesktop
  • 12.
    Déploiement mondialNorthern EuropeNorthCentral USA2010Western Europe Eastern AsiaSouth Central USA2010Southeast Asia
  • 13.
    Service bus &Access control disponiblesStockagedisponibleInstancessurveilléesBase de donnéesdisponibleComputeaccessibleLes endpoints du Service Bus & Access Control ontuneconnectivitéexterneOpérationsur les requêtes / messages correctementeffectuéesLes services de stockagesontdisponibles & accessibles (connectivité)Vosrequêtes de stockagesonttraitéesLa base de donnéesestconnectée à la passerelle internetToutes les base sontsurveillées en parmanenceTous les rôles en exécutionsontsurveillésSi un rôleest en mauvaise santé, une action corrective estinitiéeVotre service connecté & accessible via le WebLes rôlesexternesontuneconnectivité Internet>99.9%>99.9%>99.9%>99.95%>99.9%Garanties de Services (SLA)
  • 14.
    Azure au seinde la plateforme
  • 15.
  • 16.
    Démo: bien commencerPortailcommercial & portail développeurEnvironnement de travail:Visual Studio + SDK Azure
  • 24.
    Et bien d’autresoutils…Azure Storage Explorer:http://azurestorageexplorer.codeplex.com/Windows Azure MMC:http://code.msdn.microsoft.com/windowsazuremmc
  • 25.
    Windows AzureWindows Azure« Compute »Windows Azure « Storage »Windows Azure « Management »
  • 26.
    Windows Azure: ComputeComputeStorageManagementPlateformed’exécution automatisée, hautement disponible, forte capacité à monter en chargeMontée en charge par « scale out »Multiples tailles de machines virtuelles (S, M, L, XL)
  • 27.
    Deux types de« Rôles » disponiblesWeb RoleWorkerRoleRôle « générique »Un point d’entrée: Run() puis carte blanchePeut, entre autres, effectuer des tâches de fond pour le compte des Web RolesEnvironnement IIS 7 / ASP.NETPublie des applications Web ou des servicesCommunique avec les Workers directement (TCP/IP) ou via les files d’attentePlusieurs rôles spécialisés (FastCGI, WCF, etc..)
  • 28.
    Articulation Web Role/WorkerRoleTablesBlobLoadBalancing(géré par Azure)Web RoleWorkerRoleWeb RoleWorkerRoleWeb RoleWorkerRoleWeb RoleWorkerRoleMontée en chargepar configurationWorkerRoleWeb RoleTCP/IPQueuesMessageMessage
  • 29.
    DémoWindows Azure « Compute »Portaildéveloppeur: créer un serviceVisual Studio: développer & déployer un service
  • 30.
  • 31.
    Windows Azure StorageBlobs:stockage de fichiers volumineux, avec métadonnéesIdentifié simplement par son nomBlock Blob, Page BlobContent Delivery NetworkTables: stockage structuré, ensemble d’entités comportant des propriétésPas de schéma fixe: paires (nom, valeur)Données structurées, pas relationnellesQueues: transmission garantie de messagesPermet de traiter des tâches en asynchrone entre nœudsDrives: volume NTFS durable monté dans la VMPermet d’utiliser des API NTFS standardJusqu’à 1 To par drive, jusqu’à 8 drives par VM
  • 32.
    Zoom sur lesDrivesNouveaudans la version 1.1 (February 2010) du SDK et le Windows Azure Guest OS 1.1Permet à une application Azure d’accéder à un lecteur de disque NTFS (ex. X:\) pour stocker des données durablesImplémenté sous la forme d’un Page Blob contenant un VHD formaté en NTFSPossibilité de cacher les données sur un disque local à la VMOpérations:CreateMountUnmountSnapshotCopy
  • 33.
    Articulation Roles etStoragesLoad Balancer : Répartiteur de chargeWebRoles :Web UIBlob : Stockage des images et des miniaturesQueue : Ordres de traitementWorkers :traitement des images
  • 34.
  • 35.
    Windows Azure: ManagementComputeStorageManagementObjectif:automatiser la surveillance et les opérationsFonction cruciale pour atteindre le degré d’élasticité désiréAPI de gestion REST protégée par certificats: gestion et automatisation des déploiementsAPI de diagnostics: récupération dans Storage des logs applicatifs et système, compteurs de performances, etc.
  • 36.
    API de Management& Diagnostics
  • 37.
  • 38.
    API de DiagnosticsDiagnosticMonitorConfigurationdiagConfig= DiagnosticMonitor.GetDefaultInitialConfiguration();diagConfig.Logs.ScheduledTransferPeriod= System.TimeSpan.FromMinutes(1.0);diagConfig.DiagnosticInfrastructureLogs.ScheduledTransferLogLevelFilter = LogLevel.Error;diagConfig.DiagnosticInfrastructureLogs.ScheduledTransferPeriod= System.TimeSpan.FromMinutes(1.0);diagConfig.WindowsEventLog.DataSources.Add("System!*");diagConfig.WindowsEventLog.ScheduledTransferPeriod= System.TimeSpan.FromMinutes(1.0);DiagnosticMonitor.Start("DiagnosticsConnectionString", diagConfig);
  • 39.
  • 40.
    SQL AzureBusiness AnalyticsReportingDataSyncDatabaseBase de données relationnelle « as a service »Utilise le protocole TDS et le T-SQL standard de SQL ServerModèle de programmation connu: ADO.NET, Entity Framework, WCF Data Services…Deux éditions: Web (1 Go) et Business (10 Go)SQL Azure Data Sync pour synchroniser SQL Azure et bases « à demeure »
  • 41.
    Provisioning dans SQLAzureChaque compte possède un serveurGérés par Azure, créés dans un portail communInstrument de facturationChaque serveur possède des databasesContient métadonnées pour les BDDUnité d’identification et de sécuritéUnité de géo-localisationLe serveur est une vue logique de vos BDDChaque BDD a des objets SQL standardUtilisateurs, tables, vues, index, etc.CompteServeur Database