SlideShare ist ein Scribd-Unternehmen logo
1 von 96
Downloaden Sie, um offline zu lesen
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
Agenda
 Introduction
    Cloud Computing
    Windows Azure Platform
    Microsoft Online Service

 Windows Azure
    Compute
    Storage

 SQL Azure
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, …
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
Azure, vu de dessous : des machines,
... installées dans des datacenters.
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
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.
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
La Plateforme Windows Azure
Symétrie
« On Premises – In the cloud »
Symétrie « On Premises – In the cloud »
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
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
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 stockage distribué
   Allocation des ressources
   Environnement de programmation
 Avantages
   Disponibilité 24/7 et redondance
   Payez ce que vous consommez
   Simple, administration transparente
   Elasticité
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
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 »
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
  ….
Service Architectures
Web role (ASP.NET, WCF ou Fast-CGI)
    LB




           Default.aspx               Worker.cs




                          Storage
Service Architectures
Worker role
    LB




              Default.aspx             Worker.cs




                             Storage
Service Architectures
Web and worker roles



           Default.aspx             Worker.cs




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

 Gestion des abonnements

 3 offres :
    Accelerator Core
    Accelerator Extented
    Consumption
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
      ….
Site Web ASP.NET


             Default.aspx
Elasticité du Cloud


          LB
               Default.aspx




               Montée en charge
               (Scalabilité)
               Disponibilité 24/7
Execution & Stockage




               Stockage
Stockage sur Windows Azure
   Azure Storage
    Blobs            Tables         Queues
                                      …




   SQL Azure
     SQL Server 2008 in the Cloud
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)
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
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)
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…
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>
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
Environnement de développement
 Emulation des services du Cloud sur votre poste local
 Développement et test local
 Debugging dans Visual Studio
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
Mon 1èr service sur Windows Azure
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”
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
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
Configuration
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
Déploiement
 https://windows.azure.com/

 Création du service « Hosted Service »

 Upload du package Azure
    .cspkg
    .cscfg
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 “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”
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
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
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)
Development Storage
 Emulation des Azure Storage du cloud en local
 Permet le développement offline
 Requis SQL Express 2005/2008
Storage dans le Cloud
                     https://windows.azure.com/

 Créer un “Storage
 Account”

 Vous aurez en
 retour :
    Endpoint
    Access Keys
 CDN
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
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
Table Storage Concepts
Account, table et entité


            Account          Table         Entité



                                        Name=…hash=…

                             Users

                                        Name=…hash=…

            Account

                                         Tag=…id=…

                           PhotoIndex

                                         Tag=…,id=…
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>
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
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
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
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é sur ADO.NET
  Data Service

  Attention à bien partitionner les entités pour la
  monté en charge et performance
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
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
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
     …
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
Ajout du stockage des « avatars »
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)
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
Concept du Queue Storage
Account, queue et message


          Account       Queue         Message


                                      128x128,
                                      http://…
                     Thumbnail Jobs
                                      256x256,
                                      http://…
           Account

                                      http://…

                      Indexing Jobs

                                      http://…
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 limite du nombre de messages dans la
  Queue

  La taille du message doit être <= 8KB
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, …
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
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
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è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
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-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
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
  Procédures stockées          Requetes distribuées
  Triggers                     CLR
  Contraintes                  Service Broker
  Table variables,             Type Spatial
  session temp tables (#t)     …
  …
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
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
Deploiement et migration

  Déploiement basic avec des Scripts SQL

  SQL Server Management Studio 2008 R2

  SQL Azure Migration Tool
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
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
Migration vers SQL Azure
SQL Azure … en Résumé :
   Veritable SQL Server “in the cloud”

   Administration logique

   Paiement à la demande

   Disponibilité de 99,99%
Azure en conclusion
  Introduction
     Cloud Computing
     Windows Azure Platform
     Microsoft Online Service
   Windows Azure
     Compute et Storage
  SQL Azure

  Plateforme Windows Azure MSDN
  Premium
Azure Roadshow

Weitere ähnliche Inhalte

Was ist angesagt?

ArchiTech Load Balancing (NLB), Fermes et Jardins
ArchiTech Load Balancing (NLB), Fermes et JardinsArchiTech Load Balancing (NLB), Fermes et Jardins
ArchiTech Load Balancing (NLB), Fermes et Jardinsbenjguin
 
Livre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logicielLivre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logicielMicrosoft Décideurs IT
 
Faire du débordement de charge d’un cluster Windows HPC Server avec Windows A...
Faire du débordement de charge d’un cluster Windows HPC Server avec Windows A...Faire du débordement de charge d’un cluster Windows HPC Server avec Windows A...
Faire du débordement de charge d’un cluster Windows HPC Server avec Windows A...Microsoft
 
Windows Azure IaaS: machines virtuelles, réseau, ...
Windows Azure IaaS: machines virtuelles, réseau, ... Windows Azure IaaS: machines virtuelles, réseau, ...
Windows Azure IaaS: machines virtuelles, réseau, ... Microsoft Technet France
 
Windows azure
Windows azureWindows azure
Windows azureVox Teneo
 
L'Offre Dell et MS pour la virtualisation de votre IT
L'Offre Dell et MS pour la virtualisation de votre ITL'Offre Dell et MS pour la virtualisation de votre IT
L'Offre Dell et MS pour la virtualisation de votre ITMicrosoft
 
NoSQL User Group Paris - 21 Juin 2011 - GigaSpaces
NoSQL User Group Paris - 21 Juin 2011 - GigaSpacesNoSQL User Group Paris - 21 Juin 2011 - GigaSpaces
NoSQL User Group Paris - 21 Juin 2011 - GigaSpacesFastConnect
 
Révolution dans l'analytique et les entrepôts de données à découvrir avec Intel
Révolution dans l'analytique et les entrepôts de données à découvrir avec IntelRévolution dans l'analytique et les entrepôts de données à découvrir avec Intel
Révolution dans l'analytique et les entrepôts de données à découvrir avec IntelMicrosoft Décideurs IT
 
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...Microsoft Technet France
 
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Christophe Laporte
 
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é
 
JSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéJSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéChristophe Laporte
 
AzureFest Québec - 2011-05-25
AzureFest Québec - 2011-05-25AzureFest Québec - 2011-05-25
AzureFest Québec - 2011-05-25Frédéric Harper
 
Développez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows AzureDéveloppez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows AzureMicrosoft
 
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
 

Was ist angesagt? (20)

ArchiTech Load Balancing (NLB), Fermes et Jardins
ArchiTech Load Balancing (NLB), Fermes et JardinsArchiTech Load Balancing (NLB), Fermes et Jardins
ArchiTech Load Balancing (NLB), Fermes et Jardins
 
Livre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logicielLivre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logiciel
 
Cloud introduction
Cloud introductionCloud introduction
Cloud introduction
 
Faire du débordement de charge d’un cluster Windows HPC Server avec Windows A...
Faire du débordement de charge d’un cluster Windows HPC Server avec Windows A...Faire du débordement de charge d’un cluster Windows HPC Server avec Windows A...
Faire du débordement de charge d’un cluster Windows HPC Server avec Windows A...
 
Windows Azure IaaS: machines virtuelles, réseau, ...
Windows Azure IaaS: machines virtuelles, réseau, ... Windows Azure IaaS: machines virtuelles, réseau, ...
Windows Azure IaaS: machines virtuelles, réseau, ...
 
Windows azure
Windows azureWindows azure
Windows azure
 
L'Offre Dell et MS pour la virtualisation de votre IT
L'Offre Dell et MS pour la virtualisation de votre ITL'Offre Dell et MS pour la virtualisation de votre IT
L'Offre Dell et MS pour la virtualisation de votre IT
 
Drupal aegir AWS
Drupal aegir AWSDrupal aegir AWS
Drupal aegir AWS
 
NoSQL User Group Paris - 21 Juin 2011 - GigaSpaces
NoSQL User Group Paris - 21 Juin 2011 - GigaSpacesNoSQL User Group Paris - 21 Juin 2011 - GigaSpaces
NoSQL User Group Paris - 21 Juin 2011 - GigaSpaces
 
Révolution dans l'analytique et les entrepôts de données à découvrir avec Intel
Révolution dans l'analytique et les entrepôts de données à découvrir avec IntelRévolution dans l'analytique et les entrepôts de données à découvrir avec Intel
Révolution dans l'analytique et les entrepôts de données à découvrir avec Intel
 
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
 
Au-delà de Small Business Server
Au-delà de Small Business ServerAu-delà de Small Business Server
Au-delà de Small Business Server
 
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
 
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
 
JSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéJSS2013 : Haute disponibilité
JSS2013 : Haute disponibilité
 
EM12c - Chargeback
EM12c - ChargebackEM12c - Chargeback
EM12c - Chargeback
 
AzureFest Québec - 2011-05-25
AzureFest Québec - 2011-05-25AzureFest Québec - 2011-05-25
AzureFest Québec - 2011-05-25
 
Php dans le cloud
Php dans le cloudPhp dans le cloud
Php dans le cloud
 
Développez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows AzureDéveloppez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows 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
 

Ähnlich wie Azure Roadshow

Windows Azure et e-commerce
Windows Azure et e-commerceWindows Azure et e-commerce
Windows Azure et e-commerceMicrosoft
 
Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012Alexis Hassler
 
Le cloud microsoft - Version courte ;)
Le cloud microsoft - Version courte ;)Le cloud microsoft - Version courte ;)
Le cloud microsoft - Version courte ;)Nicolas Georgeault
 
Les données on-premise et dans le cloud. Quelles options ?
Les données on-premise et dans le cloud. Quelles options ?Les données on-premise et dans le cloud. Quelles options ?
Les données on-premise et dans le cloud. Quelles options ?Microsoft
 
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
 
Construire des Applications Web Performantes - Rule Book Webinar
Construire des Applications Web Performantes - Rule Book WebinarConstruire des Applications Web Performantes - Rule Book Webinar
Construire des Applications Web Performantes - Rule Book WebinarAmazon Web Services
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Microsoft Technet France
 
Les clouds, du buzz à la vraie science
Les clouds, du buzz à la vraie scienceLes clouds, du buzz à la vraie science
Les clouds, du buzz à la vraie scienceFrederic Desprez
 
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévuAWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévuAmazon Web Services
 
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
 
Microsoft - Solution Virtualisation Windows Server 08
Microsoft - Solution Virtualisation Windows Server 08Microsoft - Solution Virtualisation Windows Server 08
Microsoft - Solution Virtualisation Windows Server 08actualblog
 
Valtech - Cloud computing - Infrastructure as a Service
Valtech - Cloud computing - Infrastructure as a ServiceValtech - Cloud computing - Infrastructure as a Service
Valtech - Cloud computing - Infrastructure as a ServiceValtech
 
Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]
Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]
Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]IBM France PME-ETI
 
Comparaison des solutions Paas
Comparaison des solutions PaasComparaison des solutions Paas
Comparaison des solutions Paasyacine sebihi
 
Guss sql IaaS PaaS 20131202
Guss sql IaaS PaaS 20131202Guss sql IaaS PaaS 20131202
Guss sql IaaS PaaS 20131202Julien Plée
 
Comment intégrer une application ASP.NET dans Windows Azure
Comment intégrer une application ASP.NET dans Windows AzureComment intégrer une application ASP.NET dans Windows Azure
Comment intégrer une application ASP.NET dans Windows AzureMicrosoft Technet France
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services PlatformGregory Renard
 
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
 

Ähnlich wie Azure Roadshow (20)

Windows Azure et e-commerce
Windows Azure et e-commerceWindows Azure et e-commerce
Windows Azure et e-commerce
 
Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012
 
Le cloud microsoft - Version courte ;)
Le cloud microsoft - Version courte ;)Le cloud microsoft - Version courte ;)
Le cloud microsoft - Version courte ;)
 
Les données on-premise et dans le cloud. Quelles options ?
Les données on-premise et dans le cloud. Quelles options ?Les données on-premise et dans le cloud. Quelles options ?
Les données on-premise et dans le cloud. Quelles options ?
 
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...
 
DB Forum 2012 - EM12c & DBaaS
DB Forum 2012 - EM12c & DBaaSDB Forum 2012 - EM12c & DBaaS
DB Forum 2012 - EM12c & DBaaS
 
Construire des Applications Web Performantes - Rule Book Webinar
Construire des Applications Web Performantes - Rule Book WebinarConstruire des Applications Web Performantes - Rule Book Webinar
Construire des Applications Web Performantes - Rule Book Webinar
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...
 
Les clouds, du buzz à la vraie science
Les clouds, du buzz à la vraie scienceLes clouds, du buzz à la vraie science
Les clouds, du buzz à la vraie science
 
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévuAWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu
 
Azure et e commerce
Azure et e commerceAzure et e commerce
Azure et e commerce
 
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
 
Microsoft - Solution Virtualisation Windows Server 08
Microsoft - Solution Virtualisation Windows Server 08Microsoft - Solution Virtualisation Windows Server 08
Microsoft - Solution Virtualisation Windows Server 08
 
Valtech - Cloud computing - Infrastructure as a Service
Valtech - Cloud computing - Infrastructure as a ServiceValtech - Cloud computing - Infrastructure as a Service
Valtech - Cloud computing - Infrastructure as a Service
 
Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]
Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]
Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]
 
Comparaison des solutions Paas
Comparaison des solutions PaasComparaison des solutions Paas
Comparaison des solutions Paas
 
Guss sql IaaS PaaS 20131202
Guss sql IaaS PaaS 20131202Guss sql IaaS PaaS 20131202
Guss sql IaaS PaaS 20131202
 
Comment intégrer une application ASP.NET dans Windows Azure
Comment intégrer une application ASP.NET dans Windows AzureComment intégrer une application ASP.NET dans Windows Azure
Comment intégrer une application ASP.NET dans Windows Azure
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services Platform
 
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
 

Azure Roadshow

  • 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. Agenda Introduction Cloud Computing Windows Azure Platform Microsoft Online Service Windows Azure Compute Storage SQL Azure
  • 3.
  • 4. 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, …
  • 5. 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
  • 6. Azure, vu de dessous : des machines,
  • 7. ... installées dans des datacenters.
  • 8. 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
  • 9. 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.
  • 10. 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
  • 12. Symétrie « On Premises – In the cloud »
  • 13. Symétrie « On Premises – In the cloud »
  • 14. 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
  • 15. 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
  • 16. Interopérabilité Azure Services Platform ™
  • 17. 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é
  • 18. 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
  • 19. 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 »
  • 20. 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 ….
  • 21. Service Architectures Web role (ASP.NET, WCF ou Fast-CGI) LB Default.aspx Worker.cs Storage
  • 22. Service Architectures Worker role LB Default.aspx Worker.cs Storage
  • 23. Service Architectures Web and worker roles Default.aspx Worker.cs Storage
  • 24.
  • 25. Le portail clients Online Services : https://mocp.microsoftonline.com Gestion des abonnements 3 offres : Accelerator Core Accelerator Extented Consumption
  • 26. 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 ….
  • 27.
  • 28. Site Web ASP.NET Default.aspx
  • 29. Elasticité du Cloud LB Default.aspx Montée en charge (Scalabilité) Disponibilité 24/7
  • 31. Stockage sur Windows Azure Azure Storage Blobs Tables Queues … SQL Azure SQL Server 2008 in the Cloud
  • 32. 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)
  • 33. 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
  • 34. 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)
  • 35. 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…
  • 36. 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>
  • 37. 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
  • 38. Environnement de développement Emulation des services du Cloud sur votre poste local Développement et test local Debugging dans Visual Studio
  • 39. 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
  • 40. Mon 1èr service sur Windows Azure
  • 41. 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”
  • 42. 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
  • 43. 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
  • 45. 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
  • 46. Déploiement https://windows.azure.com/ Création du service « Hosted Service » Upload du package Azure .cspkg .cscfg
  • 47. WLID : Miclive1@live.be WLID : Miclive2@live.be Password : Passw0rd Déploiement
  • 48. 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”
  • 49. 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
  • 50.
  • 51. 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
  • 52. 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)
  • 53. Development Storage Emulation des Azure Storage du cloud en local Permet le développement offline Requis SQL Express 2005/2008
  • 54. Storage dans le Cloud https://windows.azure.com/ Créer un “Storage Account” Vous aurez en retour : Endpoint Access Keys CDN
  • 55. 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
  • 56. 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
  • 57. Table Storage Concepts Account, table et entité Account Table Entité Name=…hash=… Users Name=…hash=… Account Tag=…id=… PhotoIndex Tag=…,id=…
  • 58. 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>
  • 59. 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
  • 60. 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
  • 61. 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
  • 62. Application web consommant les Azure Tables
  • 63. 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
  • 64. 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
  • 65. 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
  • 66. 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 …
  • 67. 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
  • 68. Ajout du stockage des « avatars »
  • 69. 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)
  • 70. 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
  • 71. Concept du Queue Storage Account, queue et message Account Queue Message 128x128, http://… Thumbnail Jobs 256x256, http://… Account http://… Indexing Jobs http://…
  • 72. Worker Role pour miniaturation Queues pour communication Web<>WorkerRole
  • 73. 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
  • 74.
  • 75. 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, …
  • 76. 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
  • 77. 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
  • 79. SQL Azure Accès aux databases Changement de la Connection String
  • 80. 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
  • 83. SQL Azure En cas de panne !
  • 84. 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
  • 85. Partitionnement 1 x 10GB database 1 Instances 10 x 1GB databases 10 Instances
  • 86. Outils SQL & Development
  • 87. 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) … …
  • 88. 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
  • 89. 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
  • 90. Deploiement et migration Déploiement basic avec des Scripts SQL SQL Server Management Studio 2008 R2 SQL Azure Migration Tool
  • 91. 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
  • 92. 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
  • 94. SQL Azure … en Résumé : Veritable SQL Server “in the cloud” Administration logique Paiement à la demande Disponibilité de 99,99%
  • 95. Azure en conclusion Introduction Cloud Computing Windows Azure Platform Microsoft Online Service Windows Azure Compute et Storage SQL Azure Plateforme Windows Azure MSDN Premium