Azure Roadshow
Upcoming SlideShare
Loading in...5
×
 

Azure Roadshow

on

  • 2,537 views

 

Statistics

Views

Total Views
2,537
Views on SlideShare
2,220
Embed Views
317

Actions

Likes
2
Downloads
50
Comments
0

9 Embeds 317

http://sebastien.warin.fr 177
http://www.cloudmagazine.fr 98
http://blogs.developpeur.org 17
http://www.slideshare.net 14
http://cloudmagazine.fr 3
http://webcache.googleusercontent.com 3
http://blogs.codes-sources.com 2
http://translate.googleusercontent.com 2
http://static.slidesharecdn.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Azure Roadshow Azure Roadshow Presentation Transcript

  • 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