Vous êtes sur la page 1sur 5

Chapitre 1: Introduire le cloud computing et l’approche cloud native Application cloud native

M.CHAKOUJ 3 Source : Documentation Microsoft Lien 1:


https://learn.microsoft.com/fr-fr/azure/architecture/microservices/ Lien 2:
https://azure.microsoft.com/fr-fr/resources/cloud-computing-dictionary/what-is-cloud-computing
Lien 3 : https://learn.microsoft.com/en-us/dotnet/architecture/cloud-native/definition Definition
Pour simplifier, le cloud computing est la fourniture de services informatiques (notamment les
serveurs, le stockage, les bases de données, la gestion réseau, les logiciels, les outils d’analyse et la
veille) via Internet (le cloud) dans le but d’accélérer l’innovation, d’offrir des ressources flexibles et
de profiter d’économies d’échelle. En règle générale, vous payez uniquement les services cloud que
vous utilisez (réduisant ainsi vos coûts d’exploitation), gérez votre infrastructure plus efficacement et
adaptez l’échelle des services en fonction des besoins de votre entreprise .
https://azure.microsoft.com/fr - fr/resources/cloud -computing - dictionary/what -is -cloud -
computing Application cloud native M.CHAKOUJ 4 Avantages du cloud computing Application cloud
native M.CHAKOUJ 5 Coût La migration vers le cloud permet aux entreprises de réduire leurs coûts
informatiques en éliminant la nécessité d'investir dans du matériel, des logiciels et la gestion
d'infrastructures sur site. En optant pour le cloud computing, les entreprises peuvent éviter les
dépenses liées aux serveurs, à l'alimentation électrique et au refroidissement, ainsi qu'à l'expertise
informatique requise. Cela permet d'éviter des factures élevées. Vitesse Les services de cloud
computing sont disponibles en libre-service et à la demande, ce qui permet aux entreprises d'accéder
rapidement à d'importantes ressources de calcul et de bénéficier d'une grande flexibilité, sans avoir à
se soucier de la planification de la capacité. Cela offre aux entreprises une plus grande liberté et
réduit la pression liée à la gestion des ressources informatiques. Avantages du cloud computing
Application cloud native M.CHAKOUJ 6 Mise à l’échelle mondiale Un avantage clé du cloud
computing est sa capacité de mise à l'échelle élastique, ce qui signifie qu'il est possible d'ajuster
dynamiquement les ressources informatiques telles que la puissance de calcul, le stockage ou la
bande passante en fonction des besoins réels, au moment et à l'endroit où ils sont nécessaires. Cela
permet une allocation efficace des ressources et une adaptation rapide aux fluctuations de la
demande. Productivité Le cloud computing permet de décharger les équipes informatiques des
tâches chronophages liées à la gestion du matériel et des logiciels sur site, leur permettant ainsi de se
concentrer davantage sur la réalisation des objectifs de l'entreprise. En éliminant ces corvées, le
cloud offre une plus grande productivité et un meilleur alignement avec les priorités de l'entreprise.
Avantages du cloud computing Application cloud native M.CHAKOUJ 7 Performances Les services de
cloud computing de grande envergure sont basés sur des réseaux de centres de données sécurisés
bénéficiant de mises à niveau régulières du matériel pour assurer des performances optimales. Cela
se traduit par des avantages significatifs tels qu'une latence réseau réduite pour les applications et
des économies d'échelle accrues par rapport aux centres de données traditionnels. Fiabilité: Le cloud
computing simplifie la sauvegarde des données, la reprise d’activité après sinistre et la continuité des
activités. Il rend ces activités moins coûteuses, car les données peuvent être mises en miroir sur
plusieurs sites redondants au sein du réseau du fournisseur de cloud. Avantages du cloud computing
Application cloud native M.CHAKOUJ 8 Sécurité De nombreux fournisseurs de cloud offrent un vaste
éventail de stratégies, technologies et contrôles qui renforcent globalement votre situation de
sécurité, contribuant ainsi à protéger vos données, vos applications et votre infrastructure contre des
menaces potentielles. Part de marché des fournisseurs de cloud Application cloud native M.CHAKOUJ
9 Modèles de déploiement du cloud Application cloud native M.CHAKOUJ 10 Il existe trois modes de
déploiement de services cloud : le cloud public, le cloud privé et le cloud hybride. Les clouds publics :
sont des déploiements de cloud computing largement répandus, où les ressources cloud sont
détenues et gérées par un fournisseur tiers et accessibles via Internet. Dans ce modèle, l'ensemble
de l'infrastructure, du matériel et des logiciels est la propriété du fournisseur de cloud, tel que
Microsoft Azure,AWS,GCP. Dans ce type de déploiement les utilisateurs partagent les ressources
matérielles, de stockage et réseau avec d'autres organisations, accédant aux services et gérant leurs
comptes via un navigateur web, ce qui en fait une option courante pour des services tels que le
courrier électronique, les applications bureautiques, le stockage et les environnements de
développement en ligne. Modèles de déploiement du cloud Application cloud native M.CHAKOUJ 11
Un cloud privé : est un ensemble de ressources de cloud computing utilisées exclusivement par une
entreprise ou une organisation, soit dans son propre centre de données, soit hébergé par un
fournisseur de services tiers. Dans un cloud privé, la maintenance des services et de l'infrastructure
est réalisée sur un réseau privé, et le matériel et les logiciels sont dédiés uniquement à cette
organisation. Les clouds privés offrent la possibilité de personnaliser les ressources en fonction des
besoins informatiques spécifiques d'une organisation. Ils sont couramment utilisés par les
organismes publics, les institutions financières et les grandes organisations qui nécessitent un
contrôle optimal de leurs opérations stratégiques. Modèles de déploiement du cloud Application
cloud native M.CHAKOUJ 12 Un cloud hybride combine une infrastructure locale ou privée avec un
cloud public, permettant ainsi le déplacement des données et des applications entre les deux
environnements. Les organisations adoptent souvent une approche de cloud hybride pour répondre
à des exigences réglementaires et de souveraineté des données, ainsi que pour optimiser les
investissements technologiques existants ou résoudre des problèmes de latence. Le cloud hybride
évolue également pour inclure des charges de travail de périphérie, ce qui permet de rapprocher le
traitement des données des appareils IoT, réduisant ainsi la latence et permettant un
fonctionnement fiable même en cas de déconnexion prolongée. Types de services cloud : IaaS, PaaS,
serverless et SaaS Application cloud native M.CHAKOUJ 13 Types de services cloud : IaaS, PaaS,
serverless et SaaS Application cloud native M.CHAKOUJ 14 Infrastructure as a service (IaaS): C’est la
catégorie la plus basique des services de cloud computing. Avec l’ IaaS, vous louez une infrastructure
informatique (serveurs, machines virtuelles, stockage, réseaux et systèmes d’exploitation) auprès
d’un fournisseur de services cloud, avec un paiement en fonction de l’utilisation Platform-as-a-
Service (PaaS) est un service de cloud computing qui fournit un environnement permettant aux
développeurs de créer, tester, déployer et gérer des applications logicielles. Grâce à l'infrastructure
PaaS, les développeurs peuvent se concentrer sur la création d'applications sans se soucier de la
configuration ou de la gestion des serveurs, du stockage, du réseau et des bases de données sous-
jacents nécessaires au développement. Types de services cloud : IaaS, PaaS, serverless et SaaS
Application cloud native M.CHAKOUJ 15 Software-as-a-Service (SaaS) est une méthode de
distribution d'applications logicielles via Internet, permettant un accès à la demande et généralement
sur abonnement. Les fournisseurs de services cloud hébergent et gèrent les applications ainsi que
l'infrastructure sous-jacente, s'occupant des tâches de maintenance telles que les mises à jour
logicielles et les correctifs de sécurité, tandis que les utilisateurs se connectent à l'application via
Internet, en utilisant un navigateur web sur leurs appareils tels que téléphones, tablettes ou
ordinateurs. L'informatique Serverless (Function as a Service(FaaS)) : se concentre sur le
développement d'applications sans la nécessité de gérer en permanence les serveurs et
l'infrastructure associée. Le fournisseur de cloud prend en charge la configuration, la planification de
la capacité et l'administration des serveurs, offrant ainsi une architecture hautement évolutive basée
sur des événements, où les ressources ne sont utilisées que lorsque des fonctions ou des
déclencheurs spécifiques sont activés. Types de services cloud : IaaS, PaaS, serverless et SaaS
Application cloud native M.CHAKOUJ 16 Débat Serverless vs PaaS Adrian Cockcroft :Vice president of
cloud architecture strategy at Amazon Web Services Utilisations du cloud computing: Application
cloud native M.CHAKOUJ 17 Créer des applications natives Cloud Créez, déployez et mettez à
l’échelle rapidement des applications (web, mobiles et API). Tirez parti des technologies et approches
natives Cloud , telles que les conteneurs, Kubernetes, l’architecture de microservices, la
communication pilotée par des API et DevOps. Stocker, sauvegarder et récupérer des données
Protégez vos données à moindre coût et à grande échelle en les transférant via Internet vers un
système de stockage en ligne hors site, accessible à partir de tout emplacement et appareil. Diffuser
des logiciels à la demande Également appelés logiciel en tant que service (SaaS, software as a
service), les logiciels à la demande vous permettent d’offrir à vos clients les versions et mises à jour
les plus récentes des logiciels, à tout moment et en tout lieu. Analyser des données Unifiez vos
données entre les équipes, les divisions et les emplacements dans le cloud. Utilisez ensuite des
services cloud, par exemple de Machine Learning et d’intelligence artificielle, pour extraire des
informations analytiques qui vous permettent de prendre des décisions éclairées. Qu’est-ce qu’une
architecture Cloud Native ? Application cloud native M.CHAKOUJ 18 Une architecture cloud native
repose sur trois piliers fondamentaux : 1. L'utilisation de composants microservices, qui offrent la
flexibilité et la résilience des applications en utilisant des langages de programmation différents ; 2.
L'adoption de conteneurs légers et sécurisés pour encapsuler les applications et leurs dépendances,
offrant une portabilité multiplateformes ; 3. L'utilisation de fonctions serverless, telles qu'Azure
Function,AWS Lambda, qui permettent d'exécuter du code sans se préoccuper de l'infrastructure
sous-jacente, simplifiant ainsi le déploiement et la gestion des applications. En résumé, une
architecture cloud native repose sur des composants microservices, des conteneurs et des fonctions
serverless, offrant ainsi une approche moderne et agile pour développer, déployer et gérer des
applications dans le cloud. Application monolithique • Une application monolithique est une
architecture logicielle dans laquelle l'ensemble de l'application est conçu, développé et déployé en
tant qu'unité unique et indivisible. Dans ce modèle, toutes les fonctionnalités de l'application, qu'il
s'agisse de l'interface utilisateur, de la logique métier ou de la gestion des données, sont regroupées
et interconnectées au sein d'un seul et même code de base. • Dans une application monolithique,
toutes les parties de l'application s'exécutent dans un même processus, généralement sur un serveur
unique. Application cloud native M.CHAKOUJ 19 Les microservices vs application monolithique Les
microservices sont une approche d'architecture logicielle qui consiste à diviser une application en
plusieurs services indépendants, chacun ayant sa propre logique métier et communiquant avec les
autres services via des interfaces bien définies. Les microservices sont conçus pour être autonomes
et sont souvent déployés dans des conteneurs. Cette approche permet de faciliter la maintenance et
la mise à l'échelle de l'application, ainsi que de rendre l'application plus résiliente aux pannes. Les
microservices peuvent être développés en utilisant différents langages de programmation et
technologie, et communiquent souvent via des API REST ou des messages asynchrones. Application
cloud native M.CHAKOUJ 20 Conception d’architecture de microservices Une architecture de
microservices se compose d’un ensemble de petits services autonomes. Chaque service est
autonome et doit implémenter une fonctionnalité unique dans un contexte borné. Un contexte
borné est une division naturelle au sein d’une entreprise qui fournit une délimitation explicite dans
laquelle un modèle de domaine existe. Application cloud native M.CHAKOUJ 21 Conception
d’architecture de microservices Gestion/orchestration. Ce composant est chargé de placer les
services sur des nœuds, d’identifier les défaillances, de rééquilibrer les services entre les nœuds, etc.
En général, ce composant est une technologie prête à l’emploi comme Kubernetes, plutôt qu’un
élément personnalisé. Application cloud native M.CHAKOUJ 22 Conception d’architecture de
microservices API Gateway : la passerelle d’API est le point d’entrée des clients. Au lieu d’appeler
directement les services, les clients appellent la passerelle d’API, qui transfère l’appel aux services
appropriés sur le back-end. L’utilisation de la passerelle d’API offre les avantages suivants : •Il
dissocie les clients des services. Les services peuvent être versionnés ou refactorisés sans avoir à
mettre à jour tous les clients. •Les services peuvent utiliser des protocoles de messagerie qui ne sont
pas compatibles avec le web, comme AMQP. •La passerelle d’API peut exécuter d’autres fonctions
transversales, telles que l’authentification, la journalisation, la terminaison SSL et l’équilibrage de
charge. •Stratégies prêtes à l’emploi, telles que la limitation de nombres de requêtes, la mise en
cache, la transformation et l’agrégation des données pour la construction des réponses ,la validation.
Application cloud native M.CHAKOUJ 23 Conception d’architecture de microservices Avantages
Agilité: Les microservices offrent un déploiement indépendant, simplifiant la gestion des correctifs et
des fonctionnalités, sans redéploiement complet, avec la possibilité de revenir à une version
précédente en cas de problème. Équipes spécialisées de taille restreinte. Un microservice doit être
suffisamment petit pour qu’une seule équipe de fonctionnalité puisse le générer, le tester et le
déployer. Les petites équipes favorisent une plus grande souplesse. Pot-pourri de technologies. Les
équipes peuvent choisir la technologie qui convient le mieux à leur service à l’aide de diverses piles
technologiques. Application cloud native M.CHAKOUJ 24 Conception d’architecture de microservices
Avantages • Isolation des erreurs : Les microservices permettent une haute disponibilité en cas de
défaillance individuelle grâce à la gestion des défaillances et à la communication asynchrone entre
les services.. • Extensibilité. Les microservices peuvent être mis à l'échelle indépendamment,
optimisant l'utilisation des ressources et évitant un scale-out complet de l'application. Les
orchestrateurs comme Kubernetes permettent d'emballer davantage de services sur un hôte,
améliorant l'efficacité des ressources. Application cloud native M.CHAKOUJ 25 Conception
d’architecture de microservices Avantages • Isolation des données. Il est beaucoup plus facile
d’effectuer des mises à jour de schéma, car un seul microservice est concerné. Dans une application
monolithique, les mises à jour de schéma peuvent devenir très difficiles, car les différentes parties de
l’application impliquer les mêmes données, d’où le risque de modifier le schéma. Application cloud
native M.CHAKOUJ 26 Conception d’architecture de microservices Défis • Complexité : une
application de microservices possède plus d’éléments mobiles qu’une application monolithique
équivalente. Si chaque service est plus simple, le système dans son ensemble est plus complexe. •
Développement et test:L'écriture de services dépendants nécessite une approche différente de celle
des applications monolithiques, avec des défis de refactorisation et de test des dépendances de
services. • Manque de gouvernance : L'approche décentralisée des microservices peut causer des
problèmes de gestion dus à la diversité des langages et frameworks. L'établissement de normes
projet peut aider à maintenir la flexibilité tout en gérant les fonctionnalités transversales. •
Surcharge du réseau et latence : L'utilisation de nombreux services granulaires peut augmenter les
communications et la latence, nécessitant une conception prudente des API et l'utilisation de
modèles de communication asynchrone. Application cloud native M.CHAKOUJ 27 Conception
d’architecture de microservices Défis • Intégrité des données : chaque microservice étant
responsable de la persistance de ses propres données, la cohérence des données peut être une
gageure. Adoptez la cohérence éventuelle dans la mesure du possible. • Gestion : une expérience
réussie avec les microservices exige une culture DevOps mature. La mise en place d’une
journalisation corrélée entre les services peut poser des problèmes. En règle générale, la
journalisation doit mettre en corrélation plusieurs appels de services pour une même opération
utilisateur. • Gestion des versions : les mises à jour apportées à un service ne doivent pas perturber
les services qui en dépendent. Plusieurs services pouvant être mis à jour à tout moment, sans une
conception minutieuse, vous risquez de rencontrer des problèmes de compatibilité descendante ou
ascendante. • Ensemble de compétences : les microservices sont des systèmes hautement distribués.
Évaluez avec soin les chances de réussite en tenant compte des compétences et de l’expérience de
l’équipe. Application cloud native M.CHAKOUJ 28 Conception d’architecture de microservices
Processus de génération d’une architecture de microservices 1. Utilisez l’analyse de domaine pour
modéliser les microservices. 2. Utilisez la tactique de la conception pilotée par domaine pour
concevoir des microservices. 3. Identifiez les limites des microservices. Source : Documentation
Microsoft lien: https://learn.microsoft.com/fr-fr/azure/architecture/microservices/ Application cloud
native M.CHAKOUJ 29 Activité pratique 1. Créer un compte dans la plateforme Azure :
https://azure.microsoft.com/en-us/free/students/ Explorer les services proposés par Azure. 2. Créer
un compte dans la plateforme AWS : https://aws.amazon.com/education/awseducate/ Explorer les
services proposés par AWS.

Vous aimerez peut-être aussi