Livre de base sur Microsoft Azure

Ce livre fournit les informations les plus importantes sur les services clés de la plateforme Azure pour les développeurs et les professionnels de l'informatique sans expérience préalable de la technologie cloud. Des instructions détaillées étape par étape sont fournies pour aider le lecteur à apprendre les bases de l'utilisation de tous les services importants.

Le matériel sera utile non seulement pour les débutants dans le développement d'Azure, mais aussi pour les spécialistes qui ont besoin de restaurer le matériel en mémoire, ainsi que pour les personnes familières avec seulement certains des sujets abordés. Les chapitres du livre sont indépendants: pour comprendre le contenu d'un chapitre, il n'est pas nécessaire d'étudier des exemples des chapitres précédents.


Aujourd'hui, nous publions une partie du premier chapitre de ce livre. Vous pouvez télécharger la version complète gratuitement ici .



Table des matières


  • Présentation d'Azure - 1;
  • Azure Application Service et applications Web - 32;
  • Machines virtuelles - 70;
  • Service de stockage - 101;
  • Réseaux virtuels Azure - 133;
  • Bases de données - 157;
  • Azure Active Directory - 181;
  • Outils de gestion - 206;
  • Services supplémentaires Azure - 231;
  • Cas d'utilisation - 238

Présentation d'Azure


Qu'est-ce qu'Azure?


Azure est une plateforme cloud Microsoft.

Technologie Cloud - Général


Le cloud computing est une alternative moderne aux datacenters locaux habituels. Toutes les tâches d'achat et de maintenance des équipements sont entièrement à la charge du prestataire de services cloud public. Il permet aux clients d'accéder à divers services de plateforme. Les clients louent des ressources matérielles et logicielles dont ils n'ont besoin que de temps en temps. Ils transforment donc les coûts d'investissement liés à l'achat d'équipement en coûts d'exploitation. De plus, cette approche permet aux clients de louer l'accès à des ressources matérielles et logicielles, dont l'achat serait trop coûteux. Seuls les appareils proposés par le fournisseur de la plateforme cloud sont disponibles pour les clients, mais ils ne paient que lorsqu'ils sont utilisés.

Les portails Web sont utilisés pour gérer les environnements cloud (leurs ressources informatiques, stockage, réseaux et applications). Par exemple, sur le portail Azure, un utilisateur peut créer une configuration de machine virtuelle (VM) dans laquelle les caractéristiques suivantes seront définies: configuration de machine virtuelle (processeur, RAM et disques locaux), système d'exploitation, logiciel pré-déployé, configuration réseau et emplacement de la machine virtuelle. Après cela, l'utilisateur peut déployer une machine virtuelle basée sur cette configuration et commencer à travailler avec elle en quelques minutes. Auparavant, il était nécessaire de déployer une machine physique, dont l'achat à lui seul pouvait prendre plusieurs semaines, de sorte que la possibilité d'un déploiement rapide semble très attrayante.

Nous avons parlé de nuages ​​publics. Il existe également des clouds privés et hybrides. Un cloud privé est un environnement cloud créé dans le propre centre de traitement des données de l'entreprise, et les utilisateurs (employés de l'entreprise) disposent d'outils pour une utilisation indépendante de ses ressources. Les utilisateurs travaillent avec un tel environnement de la même manière qu'avec un cloud public, mais toutes les tâches liées à l'achat et à la maintenance des équipements, la sélection des ressources matérielles et logicielles sont entièrement sous la responsabilité de l'entreprise. Un cloud hybride est un environnement qui combine un cloud public et privé. Cette approche vous permet de choisir l'option la plus appropriée pour placer des charges de travail. Par exemple, si la charge sur un site Web varie considérablement, il peut être placé dans un cloud public et connecté à une base de données sécurisée dans votre cloud privé (ou dans un centre de données local).

Les solutions Microsoft prennent en charge les clouds publics, privés et hybrides. La plateforme Microsoft Azure à laquelle ce livre est dédié est un cloud public. Microsoft Azure Stack est une extension pour Windows Server 2016 qui vous permet de déployer de nombreux services Azure de base dans un centre de données local et de fournir aux utilisateurs un portail libre-service. Ces composants peuvent être intégrés à un cloud hybride via un réseau privé virtuel (VPN).

Environnement local et comparaison Azure


Avec une infrastructure locale, les composants matériels et logiciels que vous déployez sont entièrement sous votre contrôle. Par conséquent, lors de l'achat d'équipement, ils visaient généralement une mise à l'échelle verticale (c'est-à-dire qu'ils ont essayé d'acheter un serveur avec un grand nombre de cœurs afin de fournir les performances requises). Si vous utilisez Azure, vous ne pouvez utiliser que les appareils proposés par Microsoft. Dans ce cas, afin d'augmenter la productivité, une mise à l'échelle horizontale est utilisée: il vous suffit de déployer des nœuds de calcul supplémentaires. Cette caractéristique doit être prise en compte lors de la conception de l'architecture des systèmes logiciels.Cependant, comme la pratique l'a montré, la mise à l'échelle horizontale (déploiement d'appareils à bas prix) est beaucoup plus rentable que verticale (achat d'appareils à hautes performances).

Au moment d'écrire ces lignes, les centres de données Microsoft Azure sont ouverts dans plus de 22 régions du monde: de Melbourne à Amsterdam, de São Paulo à Singapour. De plus, Microsoft a conclu un accord avec 21Vianet, et maintenant la plate-forme Azure est disponible dans deux régions de Chine. Microsoft a annoncé le déploiement d'Azure dans huit autres régions. Seules les plus grandes entreprises du monde peuvent ouvrir des centres de données avec une telle portée. Par conséquent, avec l'aide d'Azure, les entreprises de toutes tailles peuvent déployer leurs services dans les zones où leurs clients sont concentrés dans n'importe quelle région de la Terre. Et tout cela - sans même quitter le bureau!

Azure permet aux jeunes entreprises de démarrer avec des coûts très bas et de faire évoluer rapidement leur infrastructure à mesure que de nouveaux clients arrivent. L'exécution d'une ou plusieurs nouvelles machines virtuelles ne nécessite pas d'acomptes importants. Les jeunes entreprises d'aujourd'hui ont tendance à évoluer rapidement et à apprendre rapidement de leurs erreurs. L'utilisation de la technologie cloud est parfaitement conforme à ces principes.

Azure vous aide à lancer rapidement et de manière flexible de nouveaux environnements de développement et de test. Vous pouvez utiliser des scripts pour déployer ces environnements. Vous pouvez donc, si nécessaire, exécuter l'environnement de développement ou de test, effectuer des tests et le supprimer. En conséquence, l'entreprise économise beaucoup et ne dépense presque pas d'argent pour soutenir l'infrastructure.

Un autre avantage d'Azure est la possibilité de tester de nouvelles versions de logiciels sans remplacer le matériel local. Supposons que vous ayez besoin de savoir comment votre application changera lors du passage de Microsoft SQL Server 2014 à Microsoft SQL Server 2016. Pour ce faire, il vous suffit de créer une instance de SQL Server 2016 et de démarrer une copie de vos services en la connectant à une nouvelle base de données - vous n'avez pas besoin de sélectionner ni étirer les fils. Ou vous pouvez démarrer une machine virtuelle exécutant Microsoft Windows Server 2012 R2 au lieu de Microsoft Windows Server 2008 R2.

Offre cloud


Les services cloud appartiennent généralement à l'une des trois catégories suivantes: SaaS, PaaS ou IaaS. Cependant, avec le développement des technologies cloud, la frontière entre elles devient moins claire.

SaaS: logiciel en tant que service


Le logiciel, qui est hébergé dans un environnement centralisé et géré pour le compte du client, est appelé SaaS (logiciel en tant que service). En règle générale, cette approche utilise une architecture multi-locataire, c'est-à-dire que tous les clients reçoivent l'application de la même version. Il peut être mis à l'échelle sur plusieurs instances pour fournir des performances optimales quel que soit l'emplacement. Pour les licences SaaS, des frais d'abonnement mensuels ou annuels sont généralement utilisés.

Un exemple de SaaS est Microsoft Office 365. Les utilisateurs paient un abonnement mensuel ou annuel et ont accès à plusieurs produits: Exchange en tant que service (client Web Outlook et / ou application de bureau), Stockage en tant que service (OneDrive) et d'autres composants de package Microsoft Office (versions bureau et / ou Web). Dans le même temps, les abonnés reçoivent toujours la version la plus récente du produit. Vous pouvez donc, en fait, mettre à votre disposition un serveur Microsoft Exchange sans avoir à l'acheter, à l'installer et à le prendre en charge - d'autres se chargeront de gérer le serveur Exchange, y compris l'installation des correctifs et des mises à jour. Cette option est beaucoup moins chère et plus facile en termes de maintenance que l'installation du progiciel Microsoft Office et sa mise à jour annuelle.

Dropbox, WordPress et Amazon Kindle sont d'autres exemples de produits SaaS.

PaaS: une plateforme en tant que service


Dans le cadre de l'approche PaaS, vous déployez votre application dans un environnement d'hébergement d'applications dédié hébergé par le fournisseur de services cloud. Le développeur crée l'application et le fournisseur PaaS offre la possibilité de la déployer et de l'exécuter. Par conséquent, les développeurs n'ont pas besoin de gérer la maintenance de l'infrastructure, ce qui signifie qu'ils peuvent consacrer tout leur temps au développement.

Au sein d'Azure, plusieurs offres PaaS sont disponibles, notamment le composant d'application Web des services d'application Azure, ainsi que les services cloud Azure (rôle Web et rôle professionnel). Dans tous les cas, les développeurs ont de nombreuses façons de déployer l'application sans avoir à comprendre les détails de l'infrastructure de prise en charge. Les développeurs n'auront ni à créer de machines virtuelles, ni à s'y connecter à l'aide du protocole RDP (Remote Desktop Protocol), ni à installer l'application. Il leur suffit de cliquer simplement sur le bouton (ou d'effectuer une autre action tout aussi simple), et les outils Microsoft prépareront les machines virtuelles, les déploieront et y installeront l'application.

IaaS: l'infrastructure en tant que service


Le fournisseur de services cloud IaaS surveille et gère les batteries de serveurs qui exécutent des systèmes logiciels de virtualisation. Dans ces systèmes, les clients créent des machines virtuelles qui fonctionnent dans l'infrastructure du fournisseur. Le client crée une machine virtuelle exécutant Windows ou Linux (les options disponibles dépendent du fournisseur de services) et y installe tout le nécessaire. Azure vous permet de configurer des réseaux virtuels, des équilibreurs de charge et du stockage, et d'utiliser de nombreux autres services qui s'exécutent dans cet environnement. Le client ne peut pas contrôler les périphériques de virtualisation ou les systèmes logiciels, mais presque tout le reste est dans son intégralité
l'élimination. Avec cette approche (contrairement à PaaS), le logiciel contrôle le client.

Azure Virtual Machines (offre IaaS d'Azure) est un outil très populaire pour la migration de services vers Azure, car il vous permet essentiellement de migrer facilement vos solutions. Vous pouvez créer une machine virtuelle similaire à l'infrastructure de votre centre de données, dans lequel les services s'exécutent actuellement, et y transférer vos applications. Dans certains cas, des étapes supplémentaires peuvent être nécessaires (par exemple, la modification des URL afin qu'elles pointent vers de nouveaux services ou magasins), mais cette approche vous permet de déplacer de nombreuses applications.

Les ensembles évolutifs de machine virtuelle Azure (VMSS) basés sur des machines virtuelles Azure vous permettent de créer rapidement un cluster de machines virtuelles identiques. De plus, VMSS prend en charge la mise à l'échelle automatique (déploiement automatique de nouvelles machines virtuelles selon les besoins). De ce fait, VMSS est une plate-forme idéale pour l'hébergement de clusters informatiques basés sur des microservices de niveau supérieur: par exemple, pour Azure Service Fabric et Azure Container Services.

Services Azure


La plateforme cloud Azure comprend de nombreux services. Examinons certains d'entre eux.

  • Services informatiques. Cette catégorie comprend les machines virtuelles Azure (exécutant Linux et Windows), les services cloud, les services d'application (applications Web, applications mobiles, Logic Apps, applications API et applications de fonctionnalité), un service batch (pour effectuer de grandes tâches de calcul parallèle et batch) ), RemoteApp, Service Fabric et Azure Container Services.
  • Services de données. Cela inclut le stockage Microsoft Azure (qui comprend les services d'objet blob, de file d'attente, de table et Azure), Azure SQL Database, DocumentDB, StorSimple et Redis Cache.
  • Services d'application. Cette catégorie comprend les services utilisés pour créer et exécuter des applications, notamment Azure Active Directory (Azure AD), un bus de service pour la connexion de systèmes distribués, HDInsight pour le traitement de grandes données, Azure Scheduler et Azure Media Services.
  • Services réseau. Ce groupe comprend les services Azure tels que les réseaux virtuels, ExpressRoute, Azure DNS, le gestionnaire de trafic Azure et le réseau de distribution de contenu Azure.

Lors de la migration d'une application, il est important de comprendre quels services sont disponibles dans le cadre d'Azure, car ces connaissances aideront à simplifier la migration de l'application et à accroître sa flexibilité. Il est impossible de décrire en détail tous les services disponibles dans le cadre de ce livre, nous avons donc sélectionné certains des plus intéressants. Le chapitre 9 (Azure Advanced Services) fournit une liste de ces services et une brève explication de leurs capacités.

Nouveau monde: Azure Resource Manager


Azure Resource Manager est une nouvelle approche pour déployer des ressources.

Qu'est ce que c'est


Le modèle de déploiement Azure Service Management (ASM) est utilisé pour déployer des services depuis le lancement de la version d'évaluation publique. Les services gérés par ASM sur le portail Azure sont appelés classiques. En 2015, Microsoft a introduit le modèle de déploiement à l'aide d'Azure Resource Manager (un remplacement moderne et plus fonctionnel pour ASM), qui est recommandé pour gérer les nouvelles charges de travail.

Ces modes de déploiement sont souvent appelés «plans de contrôle» car ils sont utilisés non seulement pour déployer des services, mais aussi pour les gérer. Il ne faut pas les confondre avec les «plans de données» - des outils de gestion des données utilisés par le service.

L'infrastructure dans Azure contient généralement de nombreuses ressources, dont certaines sont interconnectées: par exemple, les services de composants sont requis pour exécuter une application Web. Supposons que vous ayez besoin de deux machines virtuelles qui exécutent une application Web. Pour stocker des données, une base de données située sur le même réseau virtuel sera utilisée. Resource Manager vous permet de déployer tout cela au sein d'un seul groupe de ressources qui peut être géré dans son ensemble. Le déploiement, la mise à jour et la suppression de toutes les ressources appartenant au même groupe sont effectués en une seule action.

Dans cet exemple, le groupe de ressources contiendra les éléments suivants:

  • Machine virtuelle 1
  • Machine virtuelle 2
  • Réseau virtuel
  • Compte de stockage
  • Base de données SQL Azure

En outre, vous pouvez créer un modèle qui décrit avec précision toutes les ressources du gestionnaire de ressources liées au déploiement. Après cela, il suffit d'effectuer une opération dans le plan de contrôle pour déployer ce modèle Resource Manager en tant que groupe de ressources. Dans le même temps, Azure Resource Manager s'assurera que toutes les ressources sont déployées correctement. En outre, le gestionnaire de ressources prend en charge diverses fonctionnalités pour travailler avec les ressources déployées: sécurité, audit et balisage.

Quels sont les avantages de Resource Manager?


L'utilisation de Resource Manager offre un certain nombre d'avantages. Il vous permet de déployer des ressources plus rapidement, car il effectue des opérations non pas séquentiellement (comme ASM), mais en parallèle. Le modèle de déploiement utilisant Azure Resource Manager permet à chaque service de travailler avec son fournisseur de services et, si nécessaire, de le mettre à jour indépendamment des autres services. Le stockage Azure a un fournisseur de services, les machines virtuelles en ont un autre, etc. Lors de l'utilisation du modèle ASM, tous les services devaient être mis à jour en même temps.Par conséquent, si un service terminait la mise à jour plus tôt que les autres, il devrait toujours attendre que les autres soient publiés. Voici quelques avantages plus importants du modèle de déploiement avec Azure Resource Manager:

Possibilité de déployer à l'aide de modèles

  • Vous pouvez créer un modèle JSON et le réutiliser pour déployer toutes les ressources d'une solution en une seule fois. Vous n'avez plus besoin de commencer à créer une machine virtuelle via le portail, attendre la fin du processus, commencer à créer la suivante, etc.
  • Vous pouvez redéployer les mêmes ensembles de ressources à l'aide du modèle. Supposons que vous configuriez des ressources dans un environnement de test et réalisiez qu'elles ne correspondent pas à vos besoins. Vous pouvez supprimer ce groupe de ressources (cela supprimera automatiquement toutes les ressources qui y sont incluses), modifier le modèle et réessayer. Pour modifier l'ensemble des ressources déployées, changez simplement le modèle et redémarrez son déploiement: Resource Manager changera les ressources pour correspondre au nouveau modèle.
  • À l'aide du modèle, vous pouvez créer rapidement plusieurs versions de l'infrastructure: par exemple, un environnement intermédiaire et un environnement de travail. Différents champs (par exemple, nom de la machine virtuelle, nom du réseau, compte de stockage, etc.) peuvent être paramétrés puis téléchargés plusieurs fois le modèle avec différentes valeurs de paramètres.

Resource Manager est capable de détecter les dépendances dans les modèles et vous permet de spécifier des dépendances supplémentaires. Par exemple, déployer une machine virtuelle avant de créer un compte de stockage pour les fichiers VHD qui stockent des disques avec le système d'exploitation et les données est une mauvaise idée.

La sécurité

  • Pour contrôler l'accès aux ressources du groupe, vous pouvez utiliser un nouveau mécanisme appelé RBAC (Role-Based Access Control). Par exemple, vous pouvez attribuer à l'utilisateur le rôle de "propriétaire", puis il aura les droits d'administrateur complets par rapport aux ressources de ce groupe - mais pas d'autres ressources d'abonnement. D'autres rôles sont également fournis, par exemple, «lecteur» (vous permet de tout lire sauf les données secrètes) et «participant» (vous permet d'effectuer presque toutes les opérations, sauf pour ajouter et supprimer des accès).

Facturation

  • Pour organiser toutes les ressources d'un groupe pour une facturation pratique, vous pouvez attribuer des balises à chaque ressource, puis recevoir des données de paiement pour l'utilisation des ressources avec une balise spécifique.

    , , - , . , .

Remarque , . .


Microsoft .

  • PowerShell (CLI) . , , , , .
  • . , , PowerShell DSC -. .
  • PowerShell Azure CLI (, ).
  • . . , ? . .


. , . :

  • , .
  • .
  • . : - , .
  • .
  • , , .
  • , .


, , . , .

, .

. . , . . 5 (« Azure») Vnet . , Azure.

, . , , , , , . .

. , .

JSON. «mystorage» « » (West US). ; newStorageAccountName ( ) location (). , .

{ "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "newStorageAccountName": { "type": "string", "defaultValue": "mystorage", "metadata": { "description": " DNS-   ,       ." } }, "location": { "type": "string", "defaultValue": "West US", "allowedValues": [ "West US", "East US" ], "metadata": { "description": "    ,      Premium." } } }, "resources": [ { "type": "Microsoft.Storage/storageAccounts", "name": "[parameters('newStorageAccountName')]", "apiVersion": "2015-06-15", "location": "[parameters('location')]", "properties": { "accountType": "Standard_LRS" } } ] } 

Modèle de déploiement classique


Parlons un peu de ce qui s'est passé avant le Resource Manager. Maintenant, ces ressources sont appelées classiques. Par exemple, un client peut avoir des comptes de stockage, des machines virtuelles et des réseaux virtuels qui sont gérés à l'aide du modèle de déploiement classique. Le modèle classique et le modèle de déploiement utilisant Azure Resource Manager ne sont pas compatibles - les ressources Resource Manager ne peuvent pas interagir avec les ressources classiques et vice versa. Par exemple, le composant PaaS Azure Cloud Services est classique, vous ne pouvez donc l'utiliser qu'avec des comptes de stockage classiques. Il existe une exception à cette règle: vous pouvez héberger des machines virtuelles Resource Manager dans des comptes de stockage classiques. Cette fonctionnalité simplifie la migration des machines virtuelles du modèle de déploiement classique vers le modèle de déploiement à l'aide d'Azure Resource Manager.

Remarque: lors d'une telle migration, vous devrez peut-être vous connecter au portail Azure classique, qui affiche les ressources classiques, mais manque de ressources Resource Manager, et vice versa.
Remarque Il existe deux versions du portail. Le portail actuel est le portail Azure, disponible sur portal.azure.com . La plupart des fonctionnalités ont été déplacées vers le portail Azure, mais il existe quelques exceptions, comme Azure Active Directory (Azure AD). La version précédente du portail est appelée «portail Azure classique» (https://manage.windowsazure.com). Il peut désormais être utilisé pour gérer les services Azure AD, ainsi que pour configurer et mettre à l'échelle des ressources classiques (telles que les services cloud).
Vous pouvez transférer vos ressources du modèle de déploiement classique vers le modèle de déploiement à l'aide d'Azure Resource Manager.

  • Les fichiers, les tables et les objets blob peuvent être migrés d'un compte de stockage classique vers un nouveau compte de stockage Resource Manager à l'aide d'AzCopy. Remarque: les tables doivent être exportées à partir d'un compte classique, puis importées dans le compte Resource Manager.
  • Les machines virtuelles peuvent être migrées comme suit: désactivez-les, copiez le fichier VHD vers un nouveau compte de stockage du gestionnaire de ressources, puis recréez la machine virtuelle à l'aide du fichier VHD.
  • Les réseaux virtuels peuvent être créés en tant qu'objets Vnet dans Resource Manager.
  • De plus, le service de migration a été lancé (il est maintenant au stade d'une version d'évaluation publique). Pour le moment, il n'est pas recommandé de l'utiliser pour des charges de production. Voir l' article pour plus de détails.

Considération du modèle de déploiement PowerShell


Le chapitre 8 («Outils de gestion») présente plusieurs outils Azure, notamment les applets de commande Azure PowerShell et la CLI Azure.

Lors du développement du modèle de déploiement à l'aide du Resource Manager, les spécialistes Azure ont cherché à créer des applets de commande PowerShell qui ne fonctionneraient que pour le modèle de déploiement à l'aide du Resource Manager. Au lieu du mot Azure, le nom AzureRm est indiqué dans le nom de ces applets de commande. Par exemple, pour créer un compte de stockage classique, vous pouvez utiliser l'applet de commande New-AzureStorageAccount. Pour créer un compte de stockage dans Resource Manager, vous devez exécuter l'applet de commande New-AzureRmStorageAccount.

Ceci est fait pour que l'utilisateur puisse immédiatement comprendre quel type de ressource il crée. De plus, cela permet d'exécuter correctement des scripts créés précédemment. Chaque fois que vous déployez une ressource Resource Manager, vous devez spécifier le groupe de ressources dans lequel vous souhaitez la placer. En outre, certaines applets de commande Resource Manager (par exemple, l'applet de commande pour créer une machine virtuelle) prennent en charge des paramètres plus détaillés que les applets de commande de modèle classiques.

Une dernière remarque: seules les applets de commande PowerShell associées aux comptes de stockage liés au plan de gestion sont affectées par les modifications (par exemple, les applets de commande pour la création, la suppression et la liste des comptes de stockage). Pour les applets de commande PowerShell, qui sont utilisées pour accéder au contenu des référentiels (objets blob, tables, files d'attente et fichiers), rien n'a changé. Il vous suffit de leur transmettre le lien vers le compte de stockage souhaité et ils sont prêts à l'emploi.



Vous pouvez télécharger la version complète du livre gratuitement et l'étudier sur le lien ci-dessous.

Télécharger

Source: https://habr.com/ru/post/fr423183/


All Articles