Avant-propos 1. Pourquoi ce livre? 11 2. À qui s adresse cet ouvrage? 12 3. Structure de l ouvrage 12 4. Remerciements 13 Le Cloud 1. Introduction 15 2. Présentation du concept 15 2.1 Historique de l'hébergement en informatique 15 2.2 Cloud Computing 17 2.3 Quelques scénarios adaptés 18 2.4 Les différentes formes de Cloud 20 2.4.1 IaaS : infrastructure 20 2.4.2 PaaS : plateforme 21 2.4.3 SaaS: programme 22 2.4.4 Cloud privé, public ou hybride 23 3. Acteurs du Cloud 23 3.1 Quelques acteurs du marché 23 3.2 Positionnement de Microsoft 24 4. Résumé 25 La plateforme Windows Azure 1/10
1. Introduction 27 2. Présentation 27 2.1 Historique 27 2.2 Moyens matériels 28 3. Les différents services 29 3.1 Plateforme Windows Azure 29 3.2 Windows Azure 30 3.3 SQL Azure 31 3.4 Windows Azure AppFabric 33 4. Outillage de la plateforme Windows Azure 34 4.1 Kit de développement 34 4.2 Portail d'administration 35 4.3 Portail de facturation 38 5. Évolutions et futur de la plateforme 40 6. Résumé 41 Anatomie d un service hébergé 1. Introduction 43 2. Présentation générale 43 3. Scénarios d'utilisation 45 4. Environnement technique d'exécution 46 4.1 Le contrôleur de fabrique 46 2/10
4.2 Machine virtuelle de base 48 4.3 Gestion des pannes 49 4.4 Gestion des mises à jour logicielle et optimisation du centre d'hébergement 50 5. Cycle de vie d'un service 52 6. Les différents rôles 54 6.1 Rôle web 54 6.2 Rôle de travail 56 6.3 Rôle machine virtuelle 57 7. Taille de machines virtuelles et modèle de licence 59 7.1 Heure de calcul 59 7.2 Volume de données sortantes 61 8. Résumé 62 Développement de services hébergés 1. Introduction 63 2. Présentation du SDK Windows Azure 63 3. Intégration dans Visual Studio 2010 65 3.1 Structure d'une solution Cloud 65 3.2 Développement d'un rôle de travail 69 3.2.1 Mode de développement 69 3.2.2 Communication avec un rôle de travail 71 3.2.3 Planification de tâches 74 3.3 Développement d'un rôle web 75 3.3.1 Modèles de projet 75 3.3.2 Contenu d'un projet 76 3.4 Exécution d'une solution 78 3/10
3.4.1 Compilation et exécution 78 3.4.2 Fabrique de développement 79 3.4.3 Débogage local 82 4. Configuration d'un rôle 82 4.1 Fonctionnement des fichiers de configuration 82 4.1.1 Les différents fichiers 82 4.1.2 Modification des paramètres 85 4.1.3 Multi-configuration 87 4.1.4 Lecture de la configuration en.net 89 4.2 Taille et nombre d'instances 91 4.3 Points d'écoute d'un rôle 93 4.4 Contexte d'exécution du rôle 97 4.5 Rôle web multisite 98 4.6 Startup Task 102 5. Utilisation du modèle objet Azure en.net 104 5.1 Liste des librairies.net 104 5.2 Lecture/écriture sur le système de fichiers 105 5.3 Exploration du service et des instances 108 6. Résumé 109 Déploiement de services hébergés 1. Introduction 111 2. Génération d'un package 111 2.1 Depuis Visual Studio 111 2.2 En ligne de commandes 113 3. Déclaration d'un service hébergé 113 3.1 Création d'un service hébergé 113 4/10
3.2 Identification publique d'un service hébergé 115 3.3 Groupes d'affinités de région 116 3.4 Délégation des droits d'administration 117 4. Déploiement d'un service 119 4.1 Premier déploiement 119 4.1.1 Depuis le portail Windows Azure 119 4.1.2 Depuis Visual Studio 123 4.2 Administration d'un déploiement 128 4.2.1 Arrêt, démarrage et suppression 128 4.2.2 Modification de la configuration 129 4.2.3 Notion de domaine de mise à jour 130 4.2.4 Mise à niveau du système d'exploitation 132 4.2.5 Redémarrage d'instances 133 4.3 Mise à jour d'un déploiement 134 4.3.1 Mise à jour du déploiement par remplacement 134 4.3.2 Mise à jour du déploiement par échange d'environnements 137 4.3.3 Mise à jour depuis Visual Studio 140 4.4 Connexion en bureau distant 141 5. Résumé 148 Le stockage dans Windows Azure 1. Introduction 149 2. Présentation générale 149 2.1 Introduction au stockage dans Windows Azure 149 2.2 Scénarios d'utilisation 151 2.3 Modèle de licence 152 3. Développer avec le stockage 153 3.1 Stockage en environnement de développement 153 5/10
3.2 Déclaration d'un compte de stockage dans Windows Azure 154 3.3 Sécurité des données 157 3.4 Introduction à l'api 159 3.5 Utilisation d'un compte de stockage dans un rôle Windows Azure 159 3.6 Connexion depuis Visual Studio 162 4. Les différents types de stockage : comprendre et développer 163 4.1 Tables 163 4.1.1 Fonctionnement technique 163 4.1.2 Optimisation de l'accès aux données en table 165 4.1.3 Utilisation de l'api 166 4.2 Queues 171 4.2.1 Dans le détail 171 4.2.2 Utilisation de l'api 173 4.3 Blobs 176 4.3.1 Introduction 176 4.3.2 Utilisation de base de l'api 177 4.3.3 Page et block 183 4.3.4 Sécurité d'accès et nom de domaine personnalisé 186 4.3.5 Clé d'accès partagée 188 5. Résumé 191 Performances de services hébergés 1. Introduction 193 2. Suivi incidents 193 2.1 API de Diagnostic 193 2.2 Configuration du diagnostic 194 2.3 Activation de la collecte d'informations 197 2.3.1 Informations applicatives 197 2.3.2 Logs IIS, crash dumps et événements Windows 199 2.3.3 Suivi des compteurs de performance 200 6/10
2.4 Planification de la collecte d'informations 201 2.4.1 Collecte automatisée 201 2.4.2 Collecte à la demande 202 2.5 Modification dynamique de la configuration du diagnostic 205 2.6 SCOM Azure Management Pack 207 3. Débogage et performances 208 3.1 Débogage avec IntelliTrace 208 3.2 Analyse des performances avec le profilage 213 4. Résumé 216 Utilisation avancée de Windows Azure 1. Introduction 217 2. Distribution de données (CDN) 217 3. Distribution de trafic 222 4. Stockage de type drive 223 5. Rôle machine virtuelle 225 6. Création d'un réseau virtuel 228 7. Résumé 233 SQL Azure 1. Introduction 235 7/10
2. Fonctionnement de SQL Azure 235 2.1 Scénarios d'utilisation 235 2.2 Infrastructure et mode d'hébergement 237 2.2.1 Historique 237 2.2.2 Sous le capot : le serveur SQL 238 2.2.3 Sous le capot : de la vue de la base de données 239 2.2.4 Réplicas de base de données 240 2.3 Modèle de licence et coût d'hébergement 241 2.4 Comparaison vis-à-vis de SQL Server 242 2.5 Comparaison vis-à-vis de Azure Storage 243 2.5.1 Contexte et ambiguïté 243 2.5.2 Quand faut-il utiliser SQL Azure? 244 2.5.3 Quand faut-il utiliser le stockage de Windows Azure? 244 2.5.4 Utilisation conjointe 245 2.6 Montée en charge de SQL Azure 246 2.6.1 Les contraintes 246 2.6.2 Scale-out 247 3. Utilisation de SQL Azure 248 3.1 Création de base de données 248 3.2 Notion de pare-feu 251 3.3 Connexion applicative 253 3.4 Spécificités du développement sur SQL Azure 257 3.5 Outillage 258 3.5.1 SQL Server Management Studio 258 3.5.2 Microsoft Database Manager pour SQL Azure 261 3.5.3 Visual Studio 266 3.5.4 SQL Azure et Application de couche de données 269 3.6 Quelques instructions utiles 274 4. Migration et synchronisation de données 276 4.1 Assistant de migration depuis SQL Server 276 4.2 Synchronisation de bases de données 278 8/10
5. Résumé 279 Windows Azure AppFabric 1. Introduction 281 2. Présentation de Windows Azure AppFabric 281 2.1 Présentation générale 281 2.2 Mode de commercialisation 282 3. Bus des services 283 3.1 Présentation générale du service 283 3.2 Mise en œuvre 284 3.2.1 Déclaration dans Azure 284 3.2.2 Exposition de données au travers de WCF 285 3.2.3 Scénario de publication/abonnement 291 3.2.4 Rubriques et files d'attente 293 4. Cache distribué 297 4.1 Présentation du service 297 4.2 Mise en œuvre 299 4.2.1 Déclaration dans Azure 299 4.2.2 Utilisation en.net 301 4.2.3 Gestion de session ASP.NET et cache de page 304 5. Service de contrôle d'accès 305 5.1 Présentation générale 305 5.2 Mise en place 306 5.3 Utilisation dans une application web 309 6. Résumé 311 9/10
Annexe 1. Outils additionnels 313 1.1 Introduction 313 1.2 Liste des outils 313 2. Environnement de développement et langages non Microsoft 315 2.1 Introduction 315 2.2 Serveurs applicatifs 315 2.3 Langages de développement 316 2.4 Environnements de développement 317 3. Services de commercialisation de données et d'applications 317 3.1 Introduction 317 3.2 Windows Azure Marketplace 317 3.3 Windows Azure DataMarket 318 Index 319 10/10