Vous êtes sur la page 1sur 72

Développement

d’applications Cloud
CE QUE VOUS ALLEZ APPRENDRE
• LE CLOUD MICROSOFT AZURE
• Compute: les éléments pour exécuter vos applications
• Stockage de données/Traitements
• Intégration
• Réseau
• Gestion: monitoring, déploiement, restriction des accès
• Identité: niveau management et application
Les bénéfices du Cloud Computing
• Coût: diminution significative des coûts d’acquisition de matériels et logiciels
• Rapidité: les ressources peuvent être déployées en quelques minutes et clics
• Scalabilité: les ressources peuvent scaler en grossissant ou en s’amoindrissant en
quelques minutes en fonction des besoins réels
• Productivité: le cloud vous débarrasse des tâches d’installation et de
configuration de machines, de mises à jour de système d’exploitation, dégageant
du temps aux équipes informatiques pour se concentrer sur les aspects métier
• Fiabilité: le cloud rend le Disaster Recovery, les sauvegardes plus faciles et moins
chers
• Sécurité: la plupart des fournisseurs de cloud offre de nombreuses politiques,
technologies et contrôles qui renforcent la sécurité globale des infrastructures
Développement d’applications
Cloud avec Microsoft Azure
Qu’est-ce-que Microsoft Azure?
• C’est un fournisseur de Cloud en pleine expansion qui offre de nombreux
services
• Plus de cent services de bout en bout
• Plus de 70 offres de conformités
• Globale: ISO 27001, ISO 9001, etc
• Gouvernementale: NIST 800-171; DoD DISA L2, L4, L5; etc.
• Industrielle: APRA(Australie), DPP(Royaume Unis), etc.
• Régionale: GDPR (Union Européenne), etc.
• 90% des 500 plus grandes entreprises mondiales utilisent les services d’Azure
• Les services sont généralement facturés à l’usage
• 54 régions Azure à ce jour disponibles dans 140 pays
• Physiquement, une région Azure est un complexe de datacenters situés dans une zone géographique.
Chaque région Azure est composé d’au moins 3 zones de disponibilités (Availability Zone).
Qu’est-ce-que Microsoft Azure?
Bien comprendre l’infrastructure Globale d’Azure
• Geographies: une géographie est un marché distinct, contenant
généralement deux ou trois régions, qui préserve la résidence des
données et les limites géographiques de conformité
• Regions: une région est un ensemble de datacenters déployés dans un
périmètre contraint par la latence et connectés via un réseau régional
dédié à faible latence
• Availability Zones: les Zones de disponibilité sont des emplacements
physiques distincts au sein d'une région Azure. Chaque zone de
disponibilité est composée d'un ou plusieurs datacenters équipés d'une
alimentation, d’un système de refroidissement et d'un réseau
indépendants
Ces concepts sont très importants. Ils permettent de développer une stratégie de résilience et de haute
disponibilité au sein d’une zone de résidence de données
Bien comprendre l’infrastructure Globale d’Azure
Atteindre une résilience totale au sein d’une
même résidence de données
Structure des principales ressources dans Azure
• Resource: C’est l’entité élémentaire gérée par Azure.
• Une « Ressource » peut être une VM, un réseau virtuel, un compte de stockage
• Resource Group: toute ressource dans Azure doit appartenir à un « Resource Group »
• C’est une entité logique qui regroupe les ressources. Elle permet de gérer l’ensemble de ses ressources
comme une entité unique
• En général, on rassemble les ressources ayant le même cycle de vie dans un même Resource Group
• Subscription: toute Resource Group doit appartenir à une souscription.
• C’est l’entité de facturation des ressources Azure.
• De nombreuses règles de gestion des ressources peuvent être définies au niveau de la souscription
• Ex les « Resource Policies » qui peuvent par exemple interdire la création de certains types de ressources dans la
souscription
• Management Group: il est utilisé au niveau entreprise pour gérer l’ensemble des
souscriptions
• Il est possible de définir des règles au niveau Management Group dont hériteront toutes les
souscriptions: par exemple empêcher le déploiement de ressources dans certaines régions Az.ure.
Structure des principales ressources dans Azure
Vue panoramique des services d’Azure

Outils de gestion Outils de développement

Internet des Objets


Sécurité
EAI

Analytics App Services

Bases de données Calcul

Réseau

Stockage
Monitoring Application Insights Automation Outils REST APIs Storage explorer & Emulator

Azure Monitor Log Analytics Advisor Visual Studio Azure PowerShell CLI ARM Templates

Sécurité Azure B2C Azure MFA Internet des objets IoT Hub Event Hubs Notification Hubs

Azure AD Key Vault Security Center EAI Service Bus Biztalk services Logic Apps

Analytics Data Lake Analytics Stream Analytics App Services CDN Media services API management

HD Insignht Machine learning Cognitive services Web Apps Mobile Apps Logic Apps API Apps

Bases de données Calculs


Redis Cache Data Factory Virtual machine scale sets Functions Batch

SQL DB SQL DW SQL SD Cosmos DB Virtual machine Cloud service Service fabric

Réseau VNet Load Balancer Application Gateway Traffic manager Express Route VPN DNS

Stockage Blob Table Queue File Data Lake Store Backup Site recovery StorSimple
Monitoring Application Insights Automation Outils REST APIs Storage explorer & Emulator

Azure Monitor Log Analytics Advisor Visual Studio Azure PowerShell CLI ARM Templates

Sécurité Azure B2C Azure MFA Internet des objets IoT Hub Event Hubs Notification Hubs

Azure AD Key Vault Security Center EAI Service


Service Bus
Bus Biztalk
Biztalk services
services Logic Apps

Analytics Data Lake Analytics Stream Analytics App Services CDN Media services API management

HD
HD Insignht
HDInsignht
Insignht Machine
Machine learning
Machinelearning
learning Cognitive
Cognitiveservices
services Web Apps Mobile Apps Logic Apps API Apps

Bases de données Calculs


Redis Cache Data Factory Virtual machine scale sets Functions Batch

SQL DB SQL DW SQL SD Cosmos DB Virtual machine Cloud service Service fabric

Réseau VNet Load Balancer Application Gateway Traffic manager Express Route VPN DNS

Stockage Blob Table Queue File Data Lake Store Backup Site recovery StorSimple
Services de stockage dans Azure
Services de stockage Azure
• Un compte de stockage Azure permet d’avoir accès à des services de stockage
de données dans Azure
• Stockage d’objets Blob
• Partage de fichiers (File Share)
• File d’attente (Queue)
• Tables et disques
• Il fournit un namespace unique pour l’ensemble des ressources de stockage
• Le nom du compte de stockage doit être unique à travers tout Azure
• Le namespace fait partie de l’url permetant d’accéder aux ressources de stockage du
compte d’où la nécessité qu’il soit unique
Type de compte de stockage Services de Options de utilisation
stockage pris en redondance
charge
Standard General Purpose V2 Azure Blob LRS(stockage Recommandé pour la
(usage général V2) (notamment Data rédondant local) plupart des scénarios
Lake Storage), File GRS (Stockage Géo- utilisant Stockage
d'attente et rédondant) Azure.
Stockage Table, RA-GRS (GRS en
Azure Files lecture seule)
Premium block blobs Stockage Blob (Data LRS Recommandé pour les
(Objets blob de blocs Premium) Lake ZRS (stockage scénarios aux taux
BLOB = Binary Large Object Storage Storage redundant interzone) élevés de transactions,
inclus) ceux utilisant des
objets plus petits ou
nécessitant une
latence de stockage
faible
Type de compte de stockage Services de stockage Options de redondance utilisation
pris en charge
Premium file shares (Partages Azure Files LRS Utilisez ce type de compte
de fichiers Premium) ZRS si vous voulez un compte
de stockage qui prend en
charge les partages de
fichiers SMB et NFS
Premium page blobs Objets blob de pages LRS Type de compte de
(Objets blob de pages uniquement stockage Premium pour les
Premium) objets blob de pages
uniquement.
Réplication de données dans Azure
• Dans Azure, plusieurs copies des données sont systématiquement stockées
afin de les protéger contre les événements planifiés ou non
• Défaillences matérielles, pannes réseaux, pannes électriques, etc.
• Différentes options de rédondances sont proposées en fonction des besoins
• Réplication dans la région primaire
• Réplication vers une deuxième région Azure éloignée de plusieurs centaines de km de la
région primaire
• Nécessité ou non pour l’application d’avoir accès en lecture aux données répliquées
dans la région secondaire si la région primaire devient indisponible pour une raison
quelconque
Rédondance dans la région primaire
• Les données d’un compte de stockage sont toujours répliquées au moins trois
fois dans la région primaire (celle que vous choisissez pour déployer le stockage)
• Deux options sont proposées pour répliquer les données au sein de cette région
• Stockage localement Redondant (LRS): les données sont copiées de façon synchrone trois
fois au sein d’un même emplacement physique dans la région primaire. C’est l’option la
moins chère mais elle n’est pas recommandée pour les applications nécessitant une haute
disponibilité
• Stockage redondant interzone (ZRS): les données sont copiées de façon synchrone dans
différents Availability Zone au sein de la région primaire. Elle est recommandée pour les
applications nécessitant une haute disponibilité
Rédondance dans la région primaire

Stockage localement redondant Stockage redondant interzone (ZRS)


(LRS)
Les données sont
répliquées dans
trois Availability
Zone différents au
sein de la même
région primaire

Les données sont répliquées au sein


du même Availability Zone
Rédondance dans une région secondaire
• Pour les applications nécessitant une durabilité importante, il est possible en plus de répliquer les données
vers une région secondaire située à plusieurs centaines de km de la région primaire
• La Durabilité des données est la capacité de garder les données stockées cohérentes, intactes sans influence des
pannes de disque ou de toute forme de corruption. Une durabilité de 99,999999999% (11 neufs) signifie que si
vous stockez 10 millions d'objets, vous vous attendez à perdre un objet de vos données tous les 10 000 ans.
• Le service Stockage Azure offre deux options pour la copie des données vers une région secondaire 
• Le stockage géoredondant (GRS): LRS dans la région primaire + une copie asynchrone vers un emplacement
unique de la région secondaire
• Le stockage géoredondant interzone (GZRS): ZRS dans la région primaire + une copie asynchrone dans un
emplacement unique da la région secondaire
• Le stockage géoredondant avec accès en lecture (RA-GRS): c’est une GRS avec possibilité de lire
également les données dans la région secondaire
• Le stockage géoredondant interzone avec accès en lecture (RA-GZRS): c’est une GZRS avec possibilité de lire également les
données dans la région secondaire
Rédondance dans une région secondaire

Stockage géoredondant (GRS) Stockage géoredondant interzone (GZRS)


Geo-zone redundant storage
Réplication de données dans Azure - Usages
Scénario de panne LRS ZRS GRS/RA-GRS GZRS/RA-GZRS
Un nœud au sein d’un Oui Oui Oui Oui
datacenter devient
indisponible
Indisponibilité d’un Non Oui Oui1 Oui
datacenter complet (zonal ou
non)
Une panne à l’échelle de la Non Non Oui1 Oui1
région se produit dans la
région primaire
Un accès en lecture à la Non Non Oui (avec RA-GRS) Oui (avec RA-GZRS)
région secondaire est
disponible si la région
primaire devient indisponible
Stockage Blob
• Azure Blob Storage est la solution Microsoft pour le stockage objet. Il est
optimisé pour le stockage de gros volumes de données non structurées (texte
et données binaires)
• Le stockage blob est idéal pour:
• Servir des images ou des documents directement à des navigateurs
• Stocker des fichiers pour un accès distribué
• Streaming de vidéos ou d’audios
• Ecrire sur des fichiers de logs
• Stocker des fichiers pour sauvegarde et restauration, Disaster Recovery et archivage
• Stocker des données pour des traitements analytics avec des services Azure ou on-
premises
Stockage Blob – les Concepts
• Container: les « containers » sont des entités du compte de stockage dans lesquelles sont placées
les objets blob. Il est possible de définir des politiques de sécurité au niveau du container pour les
appliquer à tous les blob contenus dans ce dernier
• Un compte de stockage peut contenir un nombre quelconque de containers et un container peut
contenir un nombre quelconque de blobs dans la limite d’un volume total de 500 TiB de données
par compte de stockage
• le service blob est basé sur un schéma de stockage plat, et non pas un schéma hiérarchique (pas de
notion de dossier ou de sous-dossier)
• on se réfère à un objet via l’url au format suivant:
http://moncomptedestockage.blob.core.windows.net/moncontainer/ monblob 
• ex: http://fsomdadata.blob.core.windows.net/videos/video.mp4
Storage Container Blob
Account video.mp4
videos
fsomdadata image1.jpg
images
image2.png
Les types de Blob
• Azure propose trois types d’objets blob
• Les objets blob de blocs (block blob) stockent du texte et des données binaires.
Ils sont composés de blocs de données qui peuvent être gérés individuellement.
Les objets blob de blocs peuvent stocker jusqu’à environ 190,7 Tio de données.
• Les objets blob d’ajout (Append blob) se composent de blocs, comme les objets
blob de blocs, mais sont optimisés pour les opérations d’ajout. Les objets blob
d’ajout sont parfaits pour les scénarios tels que la consignation des données (les
logs) issues des machines virtuelles.
• Les objets blob de page (page blob) stockent des fichiers à accès aléatoire d’une
taille maximale de 8 Tio. Les objets blob de pages stockent les fichiers de disque
dur virtuel (VHD) et servent de disques pour les machines virtuelles Azure.
Stockage en Partage de Fichiers (File Share)
• Compte de stockage (storage account): tout accès au stockage Azure
se fait à travers un compte de stockage
• Partage (Share): un Partage de Fichiers (File Share) dans Azure est un
partage de fichiers supportant le protocole SMB, Server Message
Block (il peut donc être monté sur une VM windows, Mac ou Linux).
Tout répertoire ou fichier doit être créé au sein d’un File Share parent
• Répertoire (Directory): une hiérarchie optionnelle de répertoires
• Fichier (File): un fichier au sein du partage.
Stockage en Partage de Fichiers (File Share)
Stockage Azure Table
• Azure Table Storage permet de stocker de larges volumes de données
structurées. Il s’agit en fait d’un service de stockage NOSQL idéal pour stocker
des données structurées non relationnelles
• Les usages généraux de ce service incluent:
• Stockage de larges volumes de données structurées alimentant une application web
• Stockage de datasets ne nécessitant pas de jointure complexes, clés étrangères ou des
procédures stockées et pouvant être dénormalisés pour des accès rapides
• Exécution rapide de requêtes en utilisant des index gérés par un cluster
Stockage Azure Table - Concepts
• Compte de stockage
• Table: une table est une collection d’entités. Les tables n’imposent pas
de schémas aux entités (principe du NOSQL). Une même table peut
donc contenir des entités ayant des propriétés différentes
• Entité (Entity): une entité est un ensemble de propriétés semblables à
une ligne de base de données relationnelle.
• Propriété (Property): une propriété est une paire « nom-valeur »
Stockage Azure Table
Stockage Azure Queue
• C’est un service conçu pour stocker un nombre très important de
messages accessibles de n’importe où via HTTP ou HTTPS
• Une Queue contient un ensemble de messages. Le nm d’une Queue
doit être composé de caractères en miniscule exclusivement.
• Un message dans une Queue a une taille maximum de 64 KB. Par
défaut un message peut démeurer dans une Queue jusqu’à sept jours
• Lorsqu’un message est récupéré dans une Queue, elle devient
invisible pendant 30s au sein de celle-ci. Le message doit être
explicitement supprimé si l’on veut éviter qu’il soit traité plusieurs
fois.
Services de mise en réseau Azure
Le service Express Route
Le service ExpressRoute permet d’étendre le réseau privé local d’une
entreprise dans le cloud Microsoft Azure via une connexion privée
assuré par un fournisseur de connectivité.
Le VPN Gateway (Passerelle VPN)
La passerelle VPN aide à créer des connexions chiffrées intersites vers
votre réseau virtuel à partir d’emplacements locaux, ou à créer des
connexions chiffrées entre des réseaux virtuels. Différentes configurations
sont disponibles pour les connexions de passerelle VPN, notamment de
site à site, de point à site ou de réseau virtuel à réseau virtuel
Le service Azure Bastion
Le service Azure Bastion est un nouveau service PaaS complètement managé par
la plateforme que l’on provisionne au sein du réseau virtuel. Il fournit une
connectivité RDP/SSH sécurisée aux machines virtuelles, directement dans le
portail Azure via le protocole TLS. Lorsque l’on se connecte via Azure Bastion, les
machines virtuelles n’ont pas besoin d’une adresse IP publique
Le service DDoS Protection
Ce service fournit des mesures contre les menaces DDoS les plus sophistiquées.
Ses fonctionnalités améliorées d’atténuation des attaques DDoS permettent de
protéger les application et les ressources déployées dans les réseaux virtuels.
Le service Azure Firewall (Parfeu Azure)
Ce service de sécurité réseau informatique géré (PaaS) protège les
ressources Réseau virtuel Azure.
Web Application Firewall (WAF)
Le WAF offre une protection des applications web contre les codes malveillants
exploitant une faille de sécurité et les vulnérabilités telles que les injections de
code SQL. Il fournit une protection prête à l’emploi contre les 10 principales
vulnérabilités établies par OWASP par le biais de règles managées.
Les Network Security Group (NSG)
Les NSG permettent de filtrer le trafic réseau depuis et vers les ressources
Azure dans un réseau virtuel.
Un groupe de sécurité réseau contient des règles de sécurité qui autorisent ou
rejettent le trafic réseau entrant et sortant vers différents types de ressources
Azure. Pour chaque règle, l’on peut spécifier la source et la destination, le port
et le protocole.
Le Content Delivery Network (CDN)
Le réseau de diffusion de contenu (CDN) Azure offre aux développeurs une
solution globale pour la distribution rapide de contenu haut débit aux utilisateurs
en mettant en cache leur contenu sur des nœuds physiques disposés
stratégiquement dans le monde entier. 

1- Alice fait une requête pour une ressource


2- la ressource n’ est pas dans le cache CDN et est donc redirigé
vers le serveur origine
3- le serveur envoie la ressource au CDN
4- la ressource est renvoyée à Alice
5- D’autres utilisateurs font des requêtes pour récupérer la
même ressource
6- la ressource étant dans le cache local, elle est immédiatement
renvoyée à ces utilisateurs sans passer par le serveur origine
Azure Traffic Manager
Azure Traffic Manager est un équilibreur de charge du trafic DNS qui permet de distribuer le trafic de
manière optimale aux services dans toutes les régions Azure globales, tout en offrant réactivité et
haute disponibilité. De nombreuses méthodes de routage du trafic telles que la priorité, la
pondération, les performances, la répartition géographique, le sous-réseau pour distribuer le trafic

Exemple de routage basé sur la priorité des points de


terminaison avec Traffic Manager
Les Load Balancer (équilibreurs de charge)
Azure Load Balancer fournit un équilibrage de charge de couche 4 hautement performant et à faible
latence pour tous les protocoles UDP et TCP. Il gère les connexions entrantes et sortantes.
Application Gateway
Azure Application Gateway est un équilibreur de charge du trafic web qui permet de gérer le trafic vers
les applications web. Application Gateway peut prendre des décisions de routage basées sur des
attributs supplémentaires d’une requête HTTP, par exemple des en-têtes d’hôte ou le chemin d’un URI.
Azure Network Watcher & Azure Monitor
• Azure Network Watcher offre des outils permettant d’effectuer un monitoring et des
diagnostics, d’afficher les métriques et d’activer et de désactiver les journaux d’activité pour
les ressources se trouvant sur un réseau virtuel Azure.
• Azure Monitor optimise la disponibilité et les performances des applications en fournissant
une solution complète pour collecter, analyser et agir sur les données de télémétrie des
environnements cloud et locaux. Il aide à comprendre le fonctionnement des applications
et identifie de façon proactive les problèmes qui les affectent et les ressources dont elles
dépendent.
Services de calculs (Comupte)
Azure
Vue d’ensemble des services compute et services
liés
Machines virtuelles
• Vous pouvez créer dans Azure des machines virtuelles et les exploiter en tant que
IaaS.
• Il est possible d’utiliser une image fournie par Azure, une image qui vous est propre
ou une image fournie par un partenaire pour créer une machine virtuelle
• Les VM peuvent être créées et gérées dans Azure à l’aide des moyens suivants
• Le portail Azure
• Azure Powershell et les templates ARM ( Azure Resource Manager)
• Azure CLI
• Les SDK clients d’Azure
• API REST
• Lors de la création d’une VM, différents paramètres doivent être indiqués en
fonction des besoins (emplacement de la VM, taille, type, OS, etc.)
Azure Availability Set
• Un Availability Set est un groupement logique de VMs permettant à Azure de
comprendre comment est organisé une application afin d’optimiser sa redondance et
sa disponibilité
• Un Availability Set comprend deux domaines importants:
• Fault Domain: il regroupe les VM dont les infrastructures matérielles partagent la même source
d’alimentation électrique et partagent la même infrastructure physique réseau (switch…)
• Update domaine: il regroupe les VM dont les infrastructures matérielles reçoivent
simultanément les mises à jour de la part de Microsoft et peuvent redémarrer en même temps
• Une application hautement disponible bénéficie à être déployée sur un availability
set. Elle est alors assurée que toutes les VM ne seront pas simultanément impactées
par une maintenance planifiée de mise à jour Microsoft ou qu’en cas de problème
reseau ou électrique, toutes ses VM ne soient pas impactées. Elle reste alors
disponible grâce aux VM non impactées.
Virtual Machines Scale Sets
• Ce sont des ressources Azure que l’on utilise pour déployer et gérer
des VMs identiques. Elles sont conçues pour prendre en charge le
scaling automatique des machines virtuelles.
• On peut augmenter ou diminuer le nombre de VM dans la scale set
en modifiant le paramètre « capacity » de ce dernier et en
redéployant son template.
• Un Scale Set de VM est créé dans un VNET (réseau virtuel) et les VM
individuelles dans le Scale Set ne disposent pas d’adresse IP publique
Scalabilité Automatique
• La scalabilité automatique permet d’allouer ou de désallouer dynamiquement
des ressources en fonction de la charge sur les services. Il est possible de
spécifier les nombres minimal et maximal d’instances de VM à exécuter. Les
VM sont alors allouées ou désallouées en fonction de règles que l’on spécifie
• ex, en fonction de la charge mémoire et CPU
Sacalibilité Horizontale vs Scalabilité
Verticale
• Scalabilité horizontale: la scalabilité se fait horizontalement, i-e, en augmentant
ou reduisant le nombre d’instances de VM
• Scalabilité verticale: elle conserve le même nombre d’instances de VM mais
rend ces dernières plus ou moins puissantes en augmentant/diminuant pour
chaque VM sa taille mémoire, son nombre de CPU ou sa taille de stockage.
Azure Backup
• C’est le service Microsoft dédié à la sauvegarde et la restauration des
ressources et des données dans le cloud Azure
• C’est une solution fiable, sécurisée et relativement abordable pour
remplacer les solutions de sauvegarde locales.
• Elle a les fonctionnalités suivantes
• Gestion automatique de stockage
• Scalabilité illimitée (en termes de volume)
• De multiples options de stockage
• Des sauvegardes applicatives consistantes
• Rétention à long terme
Azure Cloud Services
• C’est un service PaaS conçu pour héberger les applications web scalables, fiables et relativement
moins chères à faire fonctionner
• Il donne plus de contrôle sur les VM et permet d’installer ses propres logiciels sur ces dernières
et d’y accéder à distance.
• Avec Cloud Services, on ne crée pas les VM mais on fournit une configuration indiquant au
service combien d’instances de VM on souhaite créer, la taille des instances et c’est le service qui
les crée ensuite
• Cloud service est capable de détecter une VM ou une application en panne et peut démarrer de
nouvelles VM ou applications pour palier ces pannes.
• Avec Cloud Services, il est important d’éviter de conserver l’état des applications sur les espaces
de stockage des instances de VMs. Préférer une sauvegarde de l’état dans une base de données
ou un stockage autonomes.
Rôles Cloud Services
• Deux types de rôles
• Web role: déploie et exécute automatiquement les applications dans IIS
• Worker role: exécute les application en mode standalone. N’utilise pas de serveur IIS. Il
est surtout utilisé pour exécuter les traitements batch.
Les composants Cloud Services
• Un service Cloud Services est créé à partir de trois composants
• Le fichier ServiceDefinition.csdef spécifie les paramètres à utiliser par Azure pour
configurer le service, ex les emplacements, end points (points de terminaison), certificats,…
• Le fichier ServiceConfiguration.cscfg contient les valeurs utilisées pour configurer les VM
créées par le service,ex nombre d’instances, type d’instances, ports…
• Le fichier ServicePackage.cspkg: Pour déployer une application dans Cloud Services, celle-
ci doit être préalablement packagée en utilisant l’outil CSPack en ligne de commande.
CSPack génère un fichier de package applicatif qui peut être téléchargé dans un compte de
service Azure via le Portail. Ce compte sera utilisé pour le déploiement de l’application.
Azure Service Fabric
• C’est une plateforme de systèmes distribués qui permet le packaging, le
déploiement et la gestion de microservices scalables et fiables.
• Les microservices sont des applications constituées de petits services spécialisés,
indépendants, scalables et versionnés qui communiquent les uns avec les autres
via des protocoles standards et en utilisant des interfaces bien définis
• Chaque service stocke et gère ses propres données
• Ils peuvent etre développés dans n’importe ²quel langage de programmation
• Chaque service à un nom unique permettant de le localiser
• L’inconvénient majeur de cette approche, c’est que lorqu’il s’agit de créer des vues ou des
requêtes sur les données de l’application, il est obligatoire de requêter à travers des
sources de données disparates.
Composants de Service Fabric
• La principale brique de l’infrastructure de Service Fabric est le cluster
• Un cluster est un ensemble de machines physiques ou virtuelles connectées au
sein dun réseau et à travers lequel sont déployés et gérés les microservices.
• Une machine faisant partie d’un cluster est appelée un Node (nœud). Chaque
nœud dans Service Fabric dispose d’un service Windows à démarrage
automatique FabricHost.exe qui s’exécute au démarrage et lance deux
exécutables Fabric.exe et FabricGateway.exe. Ces deux exécutables gèrent la
communication entre les Nodes ainsi que les Nodes.
Azure App Services – les briques de base
• La principale brique de Azure App Service est App Service Plan ou App Service
Environment. L’option App Service Environment est plus sophistiquée que App
Service Plan
• Au sein de App Service Plan/Environment, on peut héberger différents services
• Web App
• Web Job (batch)
• API App
• Mobile Backend Service
• Azure Functions
Azure App Service et les services liés
App Service Plan
• Un App Service Plan représente un ensemble de fonctionnalités et de capacités que l’on peut
partager entre de multiples applications au sein d’une même souscription et région
géographique. Les applications déployées dans un App Service Plan partagent toutes les
mêmes ressources de calculs
• App Service Plan supporte une grande variété de Frameworks de développement dont:
ASP.NET,classic ASP, node.js, PHP, Python, Java s’exécutant tous au sein de IIS (Internet
Information Services, serveur web HTTP)
• Chaque App Service Plan définit:
• Une région (West US, EAST US, France Central, …)
• Un nombre d’instances de VM
• La taille des instances de VM (Small, Medium, Large)
• Un niveau tarifaire (Pricing Tier): les fonctionnalités varient en fonction du niveau tarifaire
Azure Web App
• Web App est un service destiné à héberger des applications web
• Les principales fonctionnalités de App Service Web App comprennent:
• Support de multiples langages et Frameworks
• Des optimisations DevOps
• Sécurité et Compliance (ISO, SOC et PCI)
• Des templates d’applications
• Une integration avec Visual Studio
API Apps
• Ce service facilite le développement, l’hébergement et la consommation d’APIs. Il fournit
des fonctionnalités avancées de sécurité
• Les principales fonctionnalités sont:
• Possibilité d’apporter sa propre API telle quelle: de nombreux langages sont supportés comme Java,
C#, PHP, node.js, etc.
• Simplicié de consommation – support intégré pour Swagger API
• Contrôle d’accès simple – protège l’API contre les accès non authentifiés sans modification à votre
code
• Intégration avec Visual Studio
• Intégration avec Logic App
• API Apps est concerné par l’hébergement des APIs. Il faut se tourner vers d’autres
solutions pour leur gestion.
API Management
• Le service API Management est conçu pour gérer les APIs
• Lorsque l’on place un frontend d’API Management devant une API, on peut alors
monitorer celle-ci, limiter les usages, manipuler les entrées/Sorties, consolider
plusieurs API sur un unique point de terminaison, etc. Les APIs gérées peuvent
être hébergées n’importe où
Azure Content Delivery Network (CDN)
• Le CDN d’Azure place des contenus d’applications web sur des serveurs placés à
des endroits stratégiques de par le monde pour fournir un débit maximal lors de
délivrance de contenus aux utilisateurs
• Par ex, vous développez une application qui sert des vidéos et l’hébergez au Burkina. Mais
vous vous apercevez que les principaux consommateurs de vos vidéos sont situés aux
USA. Si un utilisateur situé aux USA essaie de lire une de vos vidéos, il fera face à des
problèmes de latence du fait de l’éloignement. Dans ce scénario vous pouvez utiliser le
CDN pour reduire cette latence.
Bases de données relationnelles en PaaS Azure
• Azure fournit des solutions PaaS pour les bases de données
relationnelles classiques du marché.
• Elle gère l’infrastructure (serveurs et stockage) et l’utilisateur se
contente de gérer les données (migration, création, modification,
supression, etc.)
• Les solutions PaaS proposées sont
• Azure Database for SQL Serveur
• Azure Database for MySQL
• Azure Database for Maria DB
• Azure Database for Postgre SQL
Autres services de bases de données Azure
• Azure SQL Managed Instance: conçu pour les migrations Lift and Shift vers
Azure. Configuration et facturation basée sur les vCore. Les instances restent
gérées par Microsoft (modèle PaaS).
• Azure Cosmos DB: Une base de données NOSQL
• Base de donnée globalement distribuée: possibilité d’ajouter ou de suppression d’une
région quelconque Azure dans la configuration de votre base Cosmos DB. Les données
sont alors répliquées dans toutes les régions ajoutées.
• API pour Cassandra, MongoDB, Graph, SQL
• SLA haute disponibilité: 99,999%, SLA (garantie) sur le débit et la consistance
(importante étant donnée que c’est une base distribuée)
Autres services Azure autour des bases relationnelles
• Azure Data Migration Services: permet de migrer les données de votre site (vos datacenters
privés) vers les bases de données sur Azure
• Azure SQL Data Sync: permet de répliquer les données automatiquement depuis les bases sur
votre datacenter vers les bases de données sur Azure
• SQL Stretch Database: permet de migrer la donnée froide depuis votre datacenter vers le cloud
Azure. SQL SD a un fonctionnement différent des autres bases de données. C’est une base
hybride qui maintient la donnée chaude (c-a-d fréquemment utilisée sur votre datacenter) et
migre la donnée froide (peu fréquemment utilisée) vers le cloud
• Azure Data Factory: c’est un ETL proposé par Azure. Il permet donc d’extraire la donnée de
différentes sources, de la transformer éventuellement et de la charger le résultat vers une
destination. Data Factory propose de nombreux connecteurs pour se connecter à différentes
sources de données. Elle peut se connecter aussi bien à des sources on-premises (localisées
sur vos sites) ou sur le cloud (Azure ou autres)
• Tous les services de BDD sont proposés avec un réseau virtuel que l’on peut configurer pour
accepter des requêtes venant de certaines sources uniquement.
• Ils s’intègrent avec Azure AD (Active Directory) qui permet de gérer les utilisateurs de ces
bases
Écosystème des services de bases de données Azure
Azure DevOps
• Azure DevOps fournit des services aux développeurs, leur permettant de
planifier leur travail, de collaborer sur du code, de construire et de déployer des
applications
• On peut s’en servir pour déployer aussi bien du code source d’application que du
code modélisant une infrastructure (Infrastructure as code avec les templates
ARM).
• Possible de construire toute l’infrastructure de votre aplication avec du code (Machines
virtuelles, bases de données, etc)
Quelques uns des services proposés par Azure DevOps
• Azure Repos: un ensemble d’outils pour la gestion de versions de code
• Fournit des repositories Git et des repos Team Foundation Version control (solution Microsoft
pour la gestion de configuration)
• Permet de créer de multiples branches pour le développement, les tests, la mise en production.
Chaque branche représente une version de code et il est possible de donner accès à une branche
à un développeur ou un groupe de développeurs particuliers. Les développeurs autorisés peuvent
alors récupérer le code vers leur repository local, le modifier et publier ses modifications vers la
branche. Les modifications de différentes branches peuvent être consolider(mergées) dans une
branche supérieure comme une branche de test par exemple. Une fois testé, le code peut être
poussé vers la branche Master dédiée à la production.
• Azure pipelines: service pour l’intégration continue (CI) et le déploiement(CD)
continue
• Pipeline de build applicatif (compilation, test unitaire, tests d’intégration, packaging de
l’application)
• Pipeline de déploiement: déploiement automatique de l’application vers une destination (par ex
Azure Web Apps)

Vous aimerez peut-être aussi