Grégory Renard                                   Sébastien Warin
CTO – R&I Manager Wygwam            R&I Technical Lead Wy...
Agenda
 Introduction
    Cloud Computing
    Windows Azure Platform
    Microsoft Online Service

 Windows Azure
    Compu...
Windows Azure
 « Windows » + « Azure »
    Windows = un OS ?
    Azure = Késako ?

 OS : Système d'exploitation
    Abstra...
Windows Azure
 Un OS distribué sur des milliers de machines
    Abstraction de l'infrastructure (hardware, réseau,..)
    ...
Azure, vu de dessous : des machines,
... installées dans des datacenters.
Emplacements des Data Centers
                                                  Pays-bas


                               ...
Une ou deux couches d’OS

Un hyperviseur, sur lequel
on déploie une VM hôte,
qui administre N machines
virtuelles


      ...
Desktop vs Cloud hardware
   Desktop Hardware              Cloud Hardware




• Dysfonctionnements          • Les défailla...
La Plateforme Windows Azure
Symétrie
« On Premises – In the cloud »
Symétrie « On Premises – In the cloud »
Vue du datacenter
                                                   Ressources
                                          ...
Vue du cloud

                                                   Ressources        Prévision
                             ...
Interopérabilité

        Azure Services Platform
             ™
Windows Azure… En résumé :
 Nuage de serveurs connectés:
   Abstraction de l’environnement d’exécution
   Un système de st...
Pourquoi utiliser le cloud ?
  Application demandant une très forte monté en
  charge

  Application demandant une très ha...
In the Cloud <> On Premises

  Services « In the Cloud » + données « On premises »


  Services « On premises » + donnée «...
Exemples types d'exploitation :
  Un site e-commerce qui a besoin de monter en charge
  pendant les soldes ou les fêtes de...
Service Architectures
Web role (ASP.NET, WCF ou Fast-CGI)
    LB




           Default.aspx               Worker.cs




 ...
Service Architectures
Worker role
    LB




              Default.aspx             Worker.cs




                        ...
Service Architectures
Web and worker roles



           Default.aspx             Worker.cs




                          ...
Le portail clients Online Services :
 https://mocp.microsoftonline.com

 Gestion des abonnements

 3 offres :
    Accelera...
Portail de développement et déploiement
Azure
   https://windows.azure.com

   Connexion avec son LiveID

   Gestion et de...
Site Web ASP.NET


             Default.aspx
Elasticité du Cloud


          LB
               Default.aspx




               Montée en charge
               (Scalabi...
Execution & Stockage




               Stockage
Stockage sur Windows Azure
   Azure Storage
    Blobs            Tables         Queues
                                   ...
Différents rôles
                               n                    m
                                           Worker

...
Web Role
                               Site Web ou Web
                               Service
        Public Internet
   ...
Worker Role
  Avec ou sans
  connexion entrante
                         Public Internet

  Exemple : traite les
  taches ...
Windows Azure API
 Accès à l’environnement Azure via
 RoleEnvironment
 RoleEnvironment permet d’accèder
   À la configurat...
Service Models
   Description du service (Configuration,
   LocalStorage, Endpoint, …)
<?xml version="1.0" encoding="utf-8...
Service Architecture
  Internet                                       Internet




        LB            Windows Azure    ...
Environnement de développement
 Emulation des services du Cloud sur votre poste local
 Développement et test local
 Debugg...
Déploiement dans le Cloud
                        Test et
  Développement                                Déploiement
     ...
Mon 1èr service sur Windows Azure
Role Programming Model
 Défini par le RoleEntryPoint
 OnStart()
    Appellé par la Fabric au demarrage, nous permettant
  ...
Configuration
 Service Configuration
    Serviceconfiguration.csdef – Service Model
    (définition)
    ServiceConfigurat...
Monitoring
 Pas de debugging dans le Cloud (seulement en local)

 Utiliser les Traces et Debug
    DiagnosticMonitorTraceL...
Configuration
Déploiement
 Etape 1 : générer le package
    « Publish » depuis Visual Studio




 Deux fichiers :
    .CSPKG : format ZI...
Déploiement
 https://windows.azure.com/

 Création du service « Hosted Service »

 Upload du package Azure
    .cspkg
    ...
WLID : Miclive1@live.be
              WLID : Miclive2@live.be
              Password : Passw0rd




Déploiement
Mise à jours des applications
 Deux modes : VIP Swap et In-Place Upgrade
 VIP Swap:
    Utilise les environnements “Stagin...
Pour résumer…
   Pour le développeur :
      Environnement de développent familier (.NET,
      Visual Studio, ASP.NET, PH...
Services
 Blobs – Stockage de fichier nommé avec meta-donnée

 Xdrive (fevrier 2010) – Volume NTFS interfaçant les
 Blobs
...
HTTP/REST et interopérabilité
 Tous les services des Azure Storage sont exposés
 sous forme de Webservices HTTP/REST

 Tou...
Development Storage
 Emulation des Azure Storage du cloud en local
 Permet le développement offline
 Requis SQL Express 20...
Storage dans le Cloud
                     https://windows.azure.com/

 Créer un “Storage
 Account”

 Vous aurez en
 retou...
Windows Azure Storage Account
 Un utilisateur créer un Storage Account
    Peut choisir l’emplacement géographique
      “...
Windows Azure Tables
 Table d’entités composées de propriétés
 Conçu pour des milliards de entités
 Dimensionnement par pa...
Table Storage Concepts
Account, table et entité


            Account          Table         Entité



                   ...
Entités et Propriétés
 Chaque Entité peut avoir jusqu’a 255 propriétés
 Chaque Entité doit comporter les propriétés
    Pa...
Types des propriétés
 Partition key et Row key
    String (1KB max.)
 Autre propriétés
    String (64KB max.)
    Binary (...
Partition Key et les Partitions
 Toute entité à une “Partition key”
    Toutes les entités d’une table avec le même
    “P...
Partitioning
 Performance
    Utilisez un “PartitionKey” qui est commun dans vos
    requêtes
       Toujours essayer de s...
Application web consommant les
Azure Tables
Résumé Windows Azure Blobs

  Table d’entité contenant des propriétés

  Pas de schéma fixé

  Accessible en HTTP/REST bas...
Concepts du Blob Storage

                                         Blocks ou
      Account   Container     Blob
          ...
Blob Containers
 Blob Container
    Un container contient une collection de blobs

    Est défini par une visibilité
     ...
Fonctionnalité des Blobs
  Un blob peut stocker de large objet (de plusieur centaine
  de GB)

  Associé ou non à des meta...
Deux types de Blobs
  Block Blob
     Usage standard
     Chaque blob consiste en une sequence de blocks
       Chaque blo...
Ajout du stockage des « avatars »
Résumé Windows Azure Blobs
  Stokage fiable de fichiers nommés

  Accessible en HTTP/REST

  Deux types de blobs
     Bloc...
Queues
  Service de Queue
    Créer et supprimer des queues
  Message:
    Récupére le plus ancien (FIFO)
    Taille maxim...
Concept du Queue Storage
Account, queue et message


          Account       Queue         Message


                     ...
Worker Role pour miniaturation
Queues pour communication Web<>WorkerRole
Résumé Windows Azure Queues
  Fourni un service distribution de message
     Queue FIFO (First In First Out)

  Pas de lim...
De SDS à SQL Azure
                                                                                                       ...
Service Provisioning Model
           Chaque account a 0 ou plusieurs servers
               Provisionnement sur le Portal...
Architecture
        Infrastructure partagée au niveau SQL
                Routage des requêtes, securité et isolation
   ...
SQL Azure
Deploiement
SQL Azure
 Accès aux databases




Changement de la
Connection String
Gateway TDS
 Gère les aspects sécurité, inspecte les paquets pour
 vérifier leur validité d’un point de vue sécurité et gè...
Les réplicats
Environment partagé
SQL Azure
En cas de panne




                  !
Modele de conception
 Petite et moyenne base de données
    Utilisez une seule database
    Même modèle comme sur un on-pr...
Partitionnement
 1 x 10GB database
   1 Instances
 10 x 1GB databases
   10 Instances
Outils SQL & Development
Compatibilité
Dans le scope de la V1       Hors du scope de la v1
  Tables, index et vues        Transactions distribuées
...
Connexion
 Libraries et outils existants
    ADO.NET, ODBC, PHP
 Pré-installé sur les roles Azure Compute
 Support des con...
Administration Logique vs. Physique
 SQL Azure met le focus sur l’administation logique
     Création et management des sc...
Deploiement et migration

  Déploiement basic avec des Scripts SQL

  SQL Server Management Studio 2008 R2

  SQL Azure Mi...
Securité
 Utilise le modele standard SQL
    Authentifier un login, mapper à un user et role
    Autoriser les users et ro...
Tarification ?


  Web Edition              Business Edition
   1 GB Database             10GB Database
   $9.99 / mois   ...
Migration vers SQL Azure
SQL Azure … en Résumé :
   Veritable SQL Server “in the cloud”

   Administration logique

   Paiement à la demande

   Di...
Azure en conclusion
  Introduction
     Cloud Computing
     Windows Azure Platform
     Microsoft Online Service
   Windo...
Azure Roadshow
Azure Roadshow
Azure Roadshow
Azure Roadshow
Azure Roadshow
Azure Roadshow
Prochain SlideShare
Chargement dans…5
×

Azure Roadshow

2 934 vues

Publié le

Publié dans : Technologie
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 934
Sur SlideShare
0
Issues des intégrations
0
Intégrations
372
Actions
Partages
0
Téléchargements
71
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Azure Roadshow

  1. 1. Grégory Renard Sébastien Warin CTO – R&I Manager Wygwam R&I Technical Lead Wygwam MVP & Microsoft Regional Director Microsoft MSP & MCPD http://blogs.developpeur.org/redo http://sebastien.warin.fr www.wygwam.com www.wygwam.com
  2. 2. Agenda Introduction Cloud Computing Windows Azure Platform Microsoft Online Service Windows Azure Compute Storage SQL Azure
  3. 3. Windows Azure « Windows » + « Azure » Windows = un OS ? Azure = Késako ? OS : Système d'exploitation Abstraction du matériel Exécution de programmes Stockage de données Exemple : Windows Vista, Windows 7, Windows 2008, …
  4. 4. Windows Azure Un OS distribué sur des milliers de machines Abstraction de l'infrastructure (hardware, réseau,..) Héberge et exécute des services Stockage de données …. …… Service 1 Service 2 Service 3 Service N
  5. 5. Azure, vu de dessous : des machines,
  6. 6. ... installées dans des datacenters.
  7. 7. Emplacements des Data Centers Pays-bas Irlande Hong Kong Washington Virginie Singapour Australie •Plusieurs 10aines/100aines de milliers de serveurs •Economies d'échelle •Electricité, réseau … •Opérations Emplacements actuels MS Online
  8. 8. Une ou deux couches d’OS Un hyperviseur, sur lequel on déploie une VM hôte, qui administre N machines virtuelles CPU: x64 OS : Windows 2008 / Hyper-V Web Server : IIS 7 Apps : .Net, PHP, C++, etc.
  9. 9. Desktop vs Cloud hardware Desktop Hardware Cloud Hardware • Dysfonctionnements • Les défaillances des du matériel vite composants peu catastrophique pour le catastrophique pour le système système • Extensibilité limitée par • Extensibilité limitée par la CPU / HDD/ RAM puissance électrique / locaux
  10. 10. La Plateforme Windows Azure
  11. 11. Symétrie « On Premises – In the cloud »
  12. 12. Symétrie « On Premises – In the cloud »
  13. 13. Vue du datacenter Ressources IT allouées Prévision de charge Manque de ressources CAPACITE IT “Perte“ de Couts fixes capacité des ressources IT Barrière à l'innovation Charge actuelle NIVEAU DE CHARGE
  14. 14. Vue du cloud Ressources Prévision IT allouées de charge CAPACITE IT Pas de manque de ressources Pas de sur- disponibilité Ajustement des ressources en cas de baisse Réductions des d'activité investissements initiaux Charge actuelle NIVEAU DE CHARGE
  15. 15. Interopérabilité Azure Services Platform ™
  16. 16. Windows Azure… En résumé : Nuage de serveurs connectés: Abstraction de l’environnement d’exécution Un système de stockage distribué Allocation des ressources Environnement de programmation Avantages Disponibilité 24/7 et redondance Payez ce que vous consommez Simple, administration transparente Elasticité
  17. 17. Pourquoi utiliser le cloud ? Application demandant une très forte monté en charge Application demandant une très haute disponibilité Application ayant une charge variable Application ayant une durée de vie très courte Application demandant un stockage externe
  18. 18. In the Cloud <> On Premises Services « In the Cloud » + données « On premises » Services « On premises » + donnée « In the Cloud » Services + données « In the Cloud »
  19. 19. Exemples types d'exploitation : Un site e-commerce qui a besoin de monter en charge pendant les soldes ou les fêtes de noël Le site d’un évènement ou d’un film qui accueille beaucoup de monde sur une courte période de temps Un éditeur de logiciel qui veut faire une version SaaS de son logiciel Une application Web prototype pour tester un concept Lancement de votre Startup ….
  20. 20. Service Architectures Web role (ASP.NET, WCF ou Fast-CGI) LB Default.aspx Worker.cs Storage
  21. 21. Service Architectures Worker role LB Default.aspx Worker.cs Storage
  22. 22. Service Architectures Web and worker roles Default.aspx Worker.cs Storage
  23. 23. Le portail clients Online Services : https://mocp.microsoftonline.com Gestion des abonnements 3 offres : Accelerator Core Accelerator Extented Consumption
  24. 24. Portail de développement et déploiement Azure https://windows.azure.com Connexion avec son LiveID Gestion et deploiements des services Azure Hosted Service Storage Service SQL Azure ….
  25. 25. Site Web ASP.NET Default.aspx
  26. 26. Elasticité du Cloud LB Default.aspx Montée en charge (Scalabilité) Disponibilité 24/7
  27. 27. Execution & Stockage Stockage
  28. 28. Stockage sur Windows Azure Azure Storage Blobs Tables Queues … SQL Azure SQL Server 2008 in the Cloud
  29. 29. Différents rôles n m Worker LB Web Role Role Azure Storage, SQL Azure, ou …. Plusieurs types de roles : Web Role Plusieurs sous-types : ASP.NET, WCF, Fast-CGI (PHP,…) Worker Role « VM » Role (à venir)
  30. 30. Web Role Site Web ou Web Service Public Internet Basé sur IIS7 Exécution ASP.NET, Service WCF et fast-CGI (ex. PHP) Web Role Configuration XML Load Balancer (IIS7) Pipeline managé (.NET) Storage Services SSL
  31. 31. Worker Role Avec ou sans connexion entrante Public Internet Exemple : traite les taches d’une file Worker d’attente (Azure Role Queue) Comparaison : Windows Service Storage Service (daemon)
  32. 32. Windows Azure API Accès à l’environnement Azure via RoleEnvironment RoleEnvironment permet d’accèder À la configuration du service Azure Aux LocalResource (disque local) Aux informations du role comme les InstanceEndpoints (ex: pour communication inter- role) Expose des évènements quant au le cycle de vie de l’instance, etc…
  33. 33. Service Models Description du service (Configuration, LocalStorage, Endpoint, …) <?xml version="1.0" encoding="utf-8"?> <ServiceDefinition name="CloudService1" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition"> <WebRole name="WebRole"> <ConfigurationSettings> <Setting name="AccountName"/> </ConfigurationSettings> <LocalStorage name="scratch" sizeInMB="50"/> <InputEndpoints> <!-- Must use port 80 for http and port 443 for https when running in the cloud --> <InputEndpoint name="HttpIn" protocol="http" port="80" /> </InputEndpoints> </WebRole> <WorkerRole name="WorkerRole"> <ConfigurationSettings> <Setting name="AccountName"/> <Setting name="TableStorageEndpoint"/> </ConfigurationSettings> </WorkerRole> </ServiceDefinition>
  34. 34. Service Architecture Internet Internet LB Windows Azure LB Queues WebSite Site Worker Worker WebSite WebASMX, WCF) Worker (ASPX, (ASPX, ASMX, WCF) Service Service (ASPX, WCF, etc.) Service Blobs Tables Storage
  35. 35. Environnement de développement Emulation des services du Cloud sur votre poste local Développement et test local Debugging dans Visual Studio
  36. 36. Déploiement dans le Cloud Test et Développement Déploiement debugging • Visual Studio + • Emulation local du • Génération du Azure Tools Cloud package depuis • Development Visual Studio • Technologies Fabric existantes (.NET, • Development • Envoi du package ASP.NET, GCI/PHP, Storage sur Windows Azure …) • Debugging dans (via le portail Web Visual Studio ou par les API) • 10-15min plus tard, application fonctionnelle dans le Cloud
  37. 37. Mon 1èr service sur Windows Azure
  38. 38. Role Programming Model Défini par le RoleEntryPoint OnStart() Appellé par la Fabric au demarrage, nous permettant d’initialiser des taches Status à “Busy” sur le L.B. tant que ne retourne pas “true”. OnStop() Appellé quant le role se ferme Run() En général une boucle infinie pour garder le role en “vie”
  39. 39. Configuration Service Configuration Serviceconfiguration.csdef – Service Model (définition) ServiceConfiguration.cscfg – valeurs de configuration RoleEnvironment.GetConfigurationSettingValue() Ne pas utiliser le web.config pour les valeurs qui pourrait changer à l’execution
  40. 40. Monitoring Pas de debugging dans le Cloud (seulement en local) Utiliser les Traces et Debug DiagnosticMonitorTraceListener Utiliser l’API Diagnostics pour configurer et collecter EventLogs PerformanceCounters Trace/Debug information (logging) IIS Logs, Failed Request Logs Crash Dumps
  41. 41. Configuration
  42. 42. Déploiement Etape 1 : générer le package « Publish » depuis Visual Studio Deux fichiers : .CSPKG : format ZIP contenant Les roles (Web ou Worker) compilés Schéma de définition du service .CSCFG : fichier de configuration du service et des rôles
  43. 43. Déploiement https://windows.azure.com/ Création du service « Hosted Service » Upload du package Azure .cspkg .cscfg
  44. 44. WLID : Miclive1@live.be WLID : Miclive2@live.be Password : Passw0rd Déploiement
  45. 45. Mise à jours des applications Deux modes : VIP Swap et In-Place Upgrade VIP Swap: Utilise les environnements “Staging” et “Production”. Production: v1  Staging: v2, puis “swap” pour Production: v2  Staging: v1. In-Place Upgrade Mise à jour à la volée Mise à jour du service entier ou juste d’un role particulier Utilise les “Upgrade domain”
  46. 46. Pour résumer… Pour le développeur : Environnement de développent familier (.NET, Visual Studio, ASP.NET, PHP ou autre CGI) Exécution et debugging local Déploiement et Management simplifié Pour l’application Monté en charge et élasticité Haute disponibilité Paiement à la consommation
  47. 47. Services Blobs – Stockage de fichier nommé avec meta-donnée Xdrive (fevrier 2010) – Volume NTFS interfaçant les Blobs Tables – Stokage semi-structuré Une table est une collection d’entité de type clé/valeur Queues – Stockage de message dans une queue FIFO
  48. 48. HTTP/REST et interopérabilité Tous les services des Azure Storage sont exposés sous forme de Webservices HTTP/REST Tout langage/technologies sachant communiquer sur le protocole HTTP et parser du XML peut utiliser les Azure Storage API disponible pour : .NET (Microsoft.WindowsAzure.StorageClient) Java (Windows Azure SDK for Java) PHP (Windows Azure SDK for PHP)
  49. 49. Development Storage Emulation des Azure Storage du cloud en local Permet le développement offline Requis SQL Express 2005/2008
  50. 50. Storage dans le Cloud https://windows.azure.com/ Créer un “Storage Account” Vous aurez en retour : Endpoint Access Keys CDN
  51. 51. Windows Azure Storage Account Un utilisateur créer un Storage Account Peut choisir l’emplacement géographique “US Anywhere”, “US North Central”, “US South Central”, Peut heberger le Storage dans le même emplacement que le Compute Vous recevez la clé secrete 256 bit à la création du compte Information commerciale Chaque Storage Account peut stocker jusqu’à 100 TB Par défaut, limite de 5 Storage Accounts par abonnement
  52. 52. Windows Azure Tables Table d’entités composées de propriétés Conçu pour des milliards de entités Dimensionnement par partition “Partition key” & “row key” Pas de limite sur le nombre de partition Utilise ADO.NET Data Services
  53. 53. Table Storage Concepts Account, table et entité Account Table Entité Name=…hash=… Users Name=…hash=… Account Tag=…id=… PhotoIndex Tag=…,id=…
  54. 54. Entités et Propriétés Chaque Entité peut avoir jusqu’a 255 propriétés Chaque Entité doit comporter les propriétés Partition key Row key Timestamp Pas de schéma fixé pour le reste des propriètés 2 entités dans la même table peut avoir des propriétés différentes Stocké sous forme de paire de <Name, TypedValue>
  55. 55. Types des propriétés Partition key et Row key String (1KB max.) Autre propriétés String (64KB max.) Binary (64KB max.) Bool DateTime GUID Int Int64 Double
  56. 56. Partition Key et les Partitions Toute entité à une “Partition key” Toutes les entités d’une table avec le même “Partition Key” sont dans la même partition Necéssite de choisir un schéma de partitionnement pour rendre l’accès aux données scalable et performant
  57. 57. Partitioning Performance Utilisez un “PartitionKey” qui est commun dans vos requêtes Toujours essayer de spécifier la PartitionKey dans vos requetes Les entités avec la même PartitionKey sont clusterisées Les batchs et transaction sont supportés dans la même partition Montée en charge Microsoft monitore le traffic vers chaque partition Load balancing automatique sur les partitions Plus il y a de partition, plus le load balancing est simple à gérer
  58. 58. Application web consommant les Azure Tables
  59. 59. Résumé Windows Azure Blobs Table d’entité contenant des propriétés Pas de schéma fixé Accessible en HTTP/REST basé sur ADO.NET Data Service Attention à bien partitionner les entités pour la monté en charge et performance
  60. 60. Concepts du Blob Storage Blocks ou Account Container Blob Pages IMG001.JPG Pictures IMG002.JPG Account Block/Page 1 Movies MOV1.AVI Block/Page 2 Block /Page 3
  61. 61. Blob Containers Blob Container Un container contient une collection de blobs Est défini par une visibilité Private ou Public Associé à des metadonnées Les metadonnées sont des paires <clé, valeur> Jusqu’à 8KB par container
  62. 62. Fonctionnalité des Blobs Un blob peut stocker de large objet (de plusieur centaine de GB) Associé ou non à des metadonnées Métadonnées de paire de <clé, valeur>, (max. 8KB par blob) Interface REST PutBlob Insère un nouveau blob ou écrase le blob existant GetBlob Recupére le blob DeleteBlob CopyBlob …
  63. 63. Deux types de Blobs Block Blob Usage standard Chaque blob consiste en une sequence de blocks Chaque block est identifé par un BlockID Taille maximum de 200GB par blob Page Blob (nouveau) Ciblé pour les accès de type “random read/write” Chaque blob consiste en un tableau de pages Chaque page est identifiée par l’adresse de debut du blob Taille maximum de 1TB par blob
  64. 64. Ajout du stockage des « avatars »
  65. 65. Résumé Windows Azure Blobs Stokage fiable de fichiers nommés Accessible en HTTP/REST Deux types de blobs Block Blobs – streaming Page Blobs – random read/write (nouveau)
  66. 66. Queues Service de Queue Créer et supprimer des queues Message: Récupére le plus ancien (FIFO) Taille maximum de 8kb par message Operations: put get delete
  67. 67. Concept du Queue Storage Account, queue et message Account Queue Message 128x128, http://… Thumbnail Jobs 256x256, http://… Account http://… Indexing Jobs http://…
  68. 68. Worker Role pour miniaturation Queues pour communication Web<>WorkerRole
  69. 69. Résumé Windows Azure Queues Fourni un service distribution de message Queue FIFO (First In First Out) Pas de limite du nombre de messages dans la Queue La taille du message doit être <= 8KB
  70. 70. De SDS à SQL Azure ODBC, OLEDB, REST Client REST Client SQL Client* ADO.Net PHP, Ruby, … Cloud Cloud Evolution HTTP+REST HTTP+REST HTTP HTTP TDS Windows Azure Windows Azure Web App REST (Astoria) Web App Data Center Data Center REST Client ADO.Net + EF SQL Client* REST/SOAP + ACE Model TDS + TSQL Model OLD SDS SQL Azure * Client access enabled using TDS for ODBC, ADO.Net, OLEDB, PHP-SQL, Ruby, …
  71. 71. Service Provisioning Model Chaque account a 0 ou plusieurs servers Provisionnement sur le Portal Unité de facturation Chaque server a 0 ou plusieurs databases Contient les métadonnées des databases Unité de Geo-location et Authentication Nom DNS généré Chaque database a des objets SQL standard Users, Tables, Vues, Index, etc. Unité la plus petite pour la facturation
  72. 72. Architecture Infrastructure partagée au niveau SQL Routage des requêtes, securité et isolation Replication et failover automatique Load balancing Provisionnement instantané Machine 4 Machine 5 Machine 6 SQL Instance SQL Instance SQL Instance SQL DB SQL DB SQL DB User User User User User User User User User User User User DB1 DB2 DB3 DB4 DB1 DB2 DB3 DB4 DB1 DB2 DB3 DB4
  73. 73. SQL Azure Deploiement
  74. 74. SQL Azure Accès aux databases Changement de la Connection String
  75. 75. Gateway TDS Gère les aspects sécurité, inspecte les paquets pour vérifier leur validité d’un point de vue sécurité et gère la partie Login. La passerelle utilise un catalogue de données pour faire la relation vers le serveur SQL physique où se trouve la base Equilibre la charge (load balancing) des requêtes DRL Exécute les requêtes DML sur tous les réplicats
  76. 76. Les réplicats
  77. 77. Environment partagé
  78. 78. SQL Azure En cas de panne !
  79. 79. Modele de conception Petite et moyenne base de données Utilisez une seule database Même modèle comme sur un on-premise SQL Server Grosses base de données Partionnez les données dans plusieurs databases Utilisez les requêtes parallèles et merger les resultats en mémoire V1 : Publication prochaine des Best-pratices de Microsoft sur le “Scale-out” Vnext : Mise à disposition d’un couche d’abstraction pour cacher la complexité du partitionnement multi-database
  80. 80. Partitionnement 1 x 10GB database 1 Instances 10 x 1GB databases 10 Instances
  81. 81. Outils SQL & Development
  82. 82. Compatibilité Dans le scope de la V1 Hors du scope de la v1 Tables, index et vues Transactions distribuées Procédures stockées Requetes distribuées Triggers CLR Contraintes Service Broker Table variables, Type Spatial session temp tables (#t) … …
  83. 83. Connexion Libraries et outils existants ADO.NET, ODBC, PHP Pré-installé sur les roles Azure Compute Support des controles ASP.NET Clients directement connectés à la database Pas de USE
  84. 84. Administration Logique vs. Physique SQL Azure met le focus sur l’administation logique Création et management des schémas Optimisation des requêtes Securité (Logins, Users, Roles) Administration physique transparante Réplication automatique Failover transparent en cas de panne Load balancing des données pour garantir le SDL Le role DBA est plus axé sur l’administration logique avec SQL Azure
  85. 85. Deploiement et migration Déploiement basic avec des Scripts SQL SQL Server Management Studio 2008 R2 SQL Azure Migration Tool
  86. 86. Securité Utilise le modele standard SQL Authentifier un login, mapper à un user et role Autoriser les users et roles aux objets SQL Limité à l’authentication SQL Username + password Prochainement : AD Federation, WLID, et autres protocoles d’authentication Gateway TDS filtre les adresses IP autorisées
  87. 87. Tarification ? Web Edition Business Edition 1 GB Database 10GB Database $9.99 / mois $99.99 / mois Bandwidth BP $0.10 /GB en entrée $0.10 /GB en entrée $0.15 /GB en sortie $0.15 /GB en sortie
  88. 88. Migration vers SQL Azure
  89. 89. SQL Azure … en Résumé : Veritable SQL Server “in the cloud” Administration logique Paiement à la demande Disponibilité de 99,99%
  90. 90. Azure en conclusion Introduction Cloud Computing Windows Azure Platform Microsoft Online Service Windows Azure Compute et Storage SQL Azure Plateforme Windows Azure MSDN Premium

×