Cloud Computing 3A ESI 2024
Cloud Computing 3A ESI 2024
Cloud Computing 3A ESI 2024
2023/2024
Avant de commencer
2
L’utilisation du cloud au
quotidien
3
Chapitre 1: Contextualisation
et Définitions
4
Historique et contextualisation
5
Source : https://www.hebergeurcloud.com/cloud-computing-apercu/
Naissance du CLOUD Computing
Idée:
• Louer ces ressources à d’autres entreprises. Naissance du Cloud computing en 2010
6
Définition
De nombreuses définitions sont disponibles, Mais la définition la plus complète provient de
l’Institut national des normes et de la technologie (NIST) par Peter Mell et Tim Grance :
« Le Cloud Computing est un modèle qui permet un accès réseau pratique et sur demande à un
pool partagé de ressources informatiques configurables (par exemple, des réseaux, des serveurs,
du stockage, des applications et des services) qui peut être rapidement approvisionné et
disponible sans trop d’efforts de gestion ou d’interaction d’opérateurs.
Ce modèle de cloud favorise la disponibilité et est composé de cinq caractéristiques
essentielles, de trois modèles de service et de quatre modèles de déploiement »
Source : https://www.nist.gov/fusion-search?s=cloud
7
Définition
Les cinq caractéristiques essentielles, de trois modèles de service et de quatre modèles de
déploiement (NIST) :
Source : https://www.nist.gov/fusion-search?s=cloud 8
Electricité Vs Cloud
• Tout le processus d’allumage d’un éclairage est masqué derrière le simple fait
d’actionner un interrupteur.
• Quand vous achetez une ampoule, vous ne payez pas d’avance votre fournisseur
d’électricité pour la durée pendant laquelle vous allez l’utiliser.
• Vous payez plutôt pour la quantité d’électricité que vous utilisez réellement.
• De plus, vous ne cherchez pas à savoir comment ni quand les centrales vont
implémenter les dernières technologies.
• Enfin, vous n’avez pas à gérer la scalabilité du réseau électrique. Par exemple, quelle
que soit la croissance démographique de votre localité, vous pouvez être assuré que
vos lampes resteront allumées.
9
Electricité Vs Cloud
• Cette gestion est un obstacle superflu lorsque vous livrez votre application à vos
utilisateurs. Il existe heureusement une solution à ce problème :
Le cloud computing.
10
Definitions : Fournisseur / Provider
• La société qui fournit ces services est appelée un fournisseur de cloud. Microsoft, Amazon et Google
sont des exemples de fournisseurs.
• Le fournisseur de cloud est responsable du matériel physique nécessaire à l’exécution du travail, et de
maintenir ce matériel à jour. Les services informatiques offerts tendent à varier en fonction du
fournisseur de cloud. Toutefois, ils comprennent généralement les éléments suivants :
• Puissance de calcul, comme des serveurs Linux ou des applications web utilisés pour les tâches de
calcul et de traitement
• Stockage, comme des fichiers et des bases de données
• Réseau, comme des connexions sécurisées entre le fournisseur cloud et votre entreprise
• Analytique, comme la visualisation de la télémétrie et des données de performances
11
Definitions :
Fournisseur /
Provider
12
Définition : On-premise Vs Cloud
Les solutions cloud permettent aux utilisateurs de se servir des mêmes applications
disponibles via internet. Celles-ci permettent d’effectuer les mêmes actions, mais
depuis un serveur accessible à distance.
13
Comparaison: On premise Vs Cloud (Cout)
14
Evolution: On premise Vs Cloud (Cout)
15
Evolution du Cloud (Cas du Covid19)
La visio-conférence
Zoom a connu une croissance phénoménale, en décembre elle enregistrait 10 millions d’utilisateur, chiffre qui a
depuis été multiplié par 30 pour atteindre 300 millions d’utilisateurs en avril. Une progression de 3000%
16
Avantages du cloud
17
Avantages du Cloud (Coût)
➢ la facilité d'augmenter ou de
diminuer les ressources.
➢ Souplesse / flexibilité.
➢ Évolutivité/ Élasticité.
18
Avantages du Cloud (Coût)
• permettre des économies grâce à la mutualisation des services sur un grand nombre de clients;
• Le cloud computing permet aux petites entreprises d'avoir accès à des services jusque là réservés
aux grandes entreprises en raison de leur coût;
• L'abonnement à des services de cloud computing peut permettre à l'entreprise de ne plus avoir à
acquérir des actifs informatiques comptabilisés dans le bilan et nécessitant une durée
d'amortissement.
• Les dépenses informatiques peuvent être comptabilisées en tant que dépenses de fonctionnement.
19
Avantages du cloud (business)
20
Inconvénients du cloud
21
Inconvénients du cloud
22
Les challenges du cloud
23
Chapitre 2: Caractéristiques,
Modèles de service et Modèles de
déploiement 24
Rappel:
Les cinq caractéristiques essentielles, de trois modèles de service et de quatre modèles de
déploiement (NIST) :
Source :
https://www.nist.gov/fusio
n-search?s=cloud 25
Caractéristiques
Cloud Computing: Caractéristiques
Service à la demande
26
Cloud Computing: Caractéristiques
Caractéristiques
27
Cloud Computing:
Caractéristiques : Caractéristiques
Ressources partagées
28
Cloud Computing: Caractéristiques
Caractéristiques
Elasticité Rapide
l’élasticité est la capacité de mettre à l’échelle des ressources à la fois horizontale ou bien verticale.
le cloud provisionne et libère les ressources dynamiquement et en mode transparent
29
Cloud Computing: Caractéristiques
Caractéristiques
Service mesuré
Les fournisseurs offrent à leurs clients la possibilité de mesurer leur consommation au plus petit
échel (/seconds parfois) ce qui permet un « pay as you go» très transparente.
30
Rappel: les modèles de service
Source :
https://www.nist.gov/fusio
n-search?s=cloud 31
Cloud Computing: Caractéristiques
les modèles de service
Les Services du Cloud peuvent être divisés en 3 couches (pile) :
32
Cloud Computing: Caractéristiques
les modèles de service
33
les modèles de service : IAAS
34
les modèles de service : IAAS
35
les modèles de service : PAAS
36
les modèles de service : PAAS
• Analytique ou décisionnel. Les outils fournis en tant que service avec PaaS permettent aux organisations d’analyser et
d’explorer leurs données. Elles peuvent trouver des insights et des modèles, et prédire des résultats afin d’améliorer la
prise de décisions commerciales ayant trait, par exemple, aux prévisions, à la conception des produits et à la
rentabilité.
37
les modèles de service : SAAS
38
IAAS VS PAAS VS SAAS
IaaS PaaS Saas
Coûts initiaux Il n’existe aucun coût initial. Les Il n’existe aucun coût initial. Les Les utilisateurs n’ont aucun coût initial ;
utilisateurs paient uniquement pour ce utilisateurs paient uniquement pour ce ils paient un abonnement, généralement
qu’ils utilisent. qu’ils utilisent. mensuel ou annuel.
Propriété de l’utilisateur L’utilisateur est responsable de l’achat, L’utilisateur est responsable du Les utilisateurs utilisent simplement les
de l’installation, de la configuration et développement de ses propres logiciels des applications ; ils ne sont pas
de la gestion de ses propres systèmes applications. responsables de la gestion ou de la
d’exploitation de logiciel, middleware Il n’est pas responsable de la gestion de maintenance de ces logiciels.
(intergiciels) et applications. l’infrastructure ou du serveur.
Il peut se concentrer sur l’application ou
la charge de travail qu’il souhaite
exécuter.
Propriété du fournisseur de cloud Le fournisseur de cloud doit s’assurer Le fournisseur de cloud est responsable Le fournisseur de cloud est responsable
que l’infrastructure cloud sous-jacente de la gestion des systèmes du provisionnement, de la gestion et de
(par exemple, les machines virtuelles, le d’exploitation et de la configuration du la maintenance des logiciels des
stockage et le réseau) est disponible réseau et des services. applications.
pour l’utilisateur. Ils fournissent une plateforme managée
complète sur laquelle exécuter
l’application.
39
Cloud Computing: Caractéristiques
Les Fournisseurs du cloud
40
Synthèse IAAS VS PAAS VS SAAS
• De tous les services cloud, IaaS est celui qui demande le plus de gestion de la part de
l’utilisateur. Ce dernier est responsable de la gestion des systèmes d’exploitation, des
données et des applications.
• PaaS nécessite moins de gestion de la part de l’utilisateur. Le fournisseur de cloud gère les
systèmes d’exploitation, tandis que l’utilisateur est responsable des applications et des
données qu’il exécute et stocke.
• SaaS nécessite le moins de gestion. Le fournisseur de cloud gère tout ; l’utilisateur final n’a
qu’à utiliser les logiciels.
41
Types du
cloud et
responsabilité
s
42
Types du cloud et responsabilités
43
Autres Modèles de service : Vers XaaS
Source : https://www.nist.gov/fusion-search?s=cloud
45
Cloud Computing: Caractéristiques
les modèles de Déploiement
46
Cloud Computing: Caractéristiques
Cloud Public
les ressources et les services
(application, stockage...) sont
destinés au grand large public,
gérés par un fournisseur externe
et fournis aux consommateurs
comme des services tiers.
Ces services sont accessibles via
internet et partagés entre
plusieurs entités.
Un scénario d’utilisation courant consiste à déployer une application web ou un site de blog sur
du matériel et des ressources qui sont détenus par un fournisseur de cloud.
47
Cloud Public
Avantages
✓ Haute scalabilité/agilité : pas besoin d’acheter un nouveau serveur à des fins de scalabilité
✓ Tarif de type paiement à l’utilisation : uniquement payer ce qui est utilisé (aucune dépense en capital)
✓ pas responsabilité côté client de la maintenance ni des mises à jour du matériel
✓ Connaissances techniques minimales pour la configuration et l’utilisation.
Inconvénients
• Il peut y avoir des exigences de sécurité spécifiques qu’un cloud public ne permet pas de respecter
• Il peut y avoir des politiques publiques, des normes sectorielles ou des exigences légales que les clouds publics ne
peuvent pas respecter
• Les exigences métier particulières, telles que le fait de devoir gérer une application héritée, peuvent être difficiles à
respecter
48
Cloud Computing: Caractéristiques
Cloud Privé
Un scénario d’utilisation est le suivant : une organisation a des données qui ne peuvent pas être placées
dans le cloud public, peut-être pour des raisons légales.
Autre scénario possible : une politique publique exige que des données spécifiques soient conservées
dans le pays ou de façon privée. Voir CNIL en France, CNDP au Maroc
49
Cloud Privé
Avantages
•Garantir que la configuration peut prendre en charge n’importe quel scénario ou application existante
•Le client a totalement le contrôle (et la responsabilité) de la sécurité
•Les clouds privés peuvent répondre à des critères de sécurité, de conformité ou de réglementation stricts
Inconvénients
50
Cloud Hybride
Cette approche se révèle utile quand des ressources qui ne peuvent pas être placées dans le cloud, peut-être pour des
raisons légales. Par exemple, certaines données spécifiques ne peuvent pas être exposées publiquement (telles que des
données médicales) et doivent donc être conservées dans un centre de données privé.
Autre exemple : une ou plusieurs applications qui s’exécutent sur du matériel ancien qui ne peut pas être mis à jour.
Dans ce cas, c’est possible de continuer à exécuter l’ancien système localement et le connecter au cloud public pour
l’autorisation ou le stockage. 51
Cloud Hybride
Avantages
•Bénéficier d’une grande flexibilité quant au choix des éléments que à exécuter localement et de ceux dans le cloud.
•tirer parti des économies d’échelle offertes par les fournisseurs de cloud public pour acquérir des services et des ressources à
moindre coût à compléter avec son propre équipement si cela s’avère plus économique.
•Utiliser son propre équipement pour faire face aux scénarios de sécurité, de conformité ou hérités dans lesquels il faut
contrôler complètement l’environnement
Inconvénients
•Cette approche peut être plus coûteuse que la sélection d’un modèle de déploiement, car elle implique quelques dépenses
en capital initiales.
•Elle peut se révéler plus difficile à configurer et à gérer.
52
Cloud Computing: Caractéristiques
Cloud Communautaire
Cloud communautaire: ce type de modèle est contrôlé et utilisé par des personnes
partageant des préoccupations ou des intérêts communs.
Ce système est géré soit par ces personnes, soit par un fournisseur de service, et il peut
être localisé à en interne ou à externe.
53
Cloud Computing: Caractéristiques
les modèles de déploiement
54
Chapitre 3: Contextualisation
technologique et cas d’utilisation
55
Cloud Vs Big Data
56
Cloud Vs Fog Vs Edge
57
Cas d’utilisation du Cloud
Cloud Computing: Caractéristiques
Analyse du Big Data
De nombreuses organisations doivent traiter de grandes quantités de données. Ces données peuvent provenir
de capteurs, d’expériences, de transactions ou d’activités sur des pages web.
Le traitement du Big Data nécessite généralement beaucoup de ressources de calcul et de stockage, mais,
selon les besoins de l’organisation, il peut être périodique ou saisonnier.
Par exemple, Amazon peut avoir des travaux décisionnels ou analytiques configurés pour la fin de journée,
susceptibles de mobiliser quelques centaines de serveurs pendant quelques heures.
Dans ces scénarios, ces ressources peuvent être acquises à la demande. De nombreuses entreprises disposent
même de pipelines d’analytique entièrement automatisés qui collectent, analysent et stockent
automatiquement des données à l’aide de ressources approvisionnées à la demande.
58
Cas d’utilisation du Cloud:
Cloud Computing: Caractéristiques
Calcul haute performance (HPC)
À côté de l’expérimentation physique, la simulation sur ordinateur est devenue populaire dans des domaines
comme l’astrophysique, la mécanique quantique, l’océanographie ou la biochimie.
Ce type de charges de travail exigeantes en calcul sont généralement exécutées sur des clusters dédiés ou dans
des installations de calcul intensif.
Les scientifiques s’intéressent désormais de plus en plus au cloud pour les demandes de ressources HPC.
par exemple:
•Cycle Computing a configuré un cluster AWS EC2 de 3 809 instances pour permettre à une société
pharmaceutique d’exécuter des travaux de modélisation moléculaire. Le cluster a un total de 30 472 cœurs,
26,7 To de RAM et 2 Po de stockage sur disque.
59
Cas d’utilisation du Cloud
Cloud Computing: Caractéristiques
Stockage et archivage en ligne
L’une des ressources importantes disponibles grâce au cloud computing est le stockage. Les options de stockage en
ligne sont les suivantes :
•Stockage d’objets basé sur le web : Des services comme le stockage Blob Azure permettent aux utilisateurs de
stocker des téraoctets de données sous la forme de simples objets, accessibles via HTTP. De nombreux sites web
utilisent le stockage Blob Azure pour stocker du contenu statique comme des images.
•Sauvegarde et récupération : Des services assurent une sauvegarde en ligne des données client. Il s’agit d’une
excellente solution de sauvegarde sécurisée hors site.
•Streaming multimédia et distribution de contenu : Des services comme stockent de grandes quantités de
données, et facilitent également la distribution du contenu.
•Stockage personnel : Des services comme Dropbox et OneDrive sont populaires parmi les utilisateurs pour le
stockage de documents personnels en ligne afin de pouvoir y accéder à tout moment, en tout lieu.
60
Les acteurs du
Cloud International
Chapitre 2 : les
caractéristiques du Cloud
61
Cloud Computing: Caractéristiques
Les acteurs du Cloud au Maroc
Source : https://www.whtop.com/fr/top.10-alexa-ranking/country-ma 62
Chapitre 4- L’écosystème du cloud:
Architecture de réfèrence du
Cloud Computing 63
Cloud Computing: Caractéristiques
L’architecture de Réfèrence (NIST)
Source:
https://bigdatawg.nist.gov/_uploadfiles/
M0008_v1_7256814129.pdf
64
Cloud Computing: Caractéristiques
Les acteurs du cloud - Définition
Source:
https://bigdatawg.nist.gov/_uploadfiles/M0008_v1_7256814129.pdf
65
Cloud Computing: Caractéristiques
Les acteurs du cloud - Relation
Source:
https://bigdatawg.nist.gov/_uploadfiles/
M0008_v1_7256814129.pdf
66
Cloud Computing: Caractéristiques
Les acteurs du cloud - Consumer
Source:
https://bigdatawg.nist.gov/_uploadfiles/
M0008_v1_7256814129.pdf
67
Cloud Computing: Caractéristiques
Les acteurs du cloud - Provider
Source:
https://bigdatawg.nist.gov/_uploadfiles/M0008_v1_7256814129.pdf
68
Cloud Computing: Caractéristiques
Les acteurs du cloud - Provider
https://crmtrilogix.com/Cloud-Blog/Cloud-Models/Cloud-Management-Platform-
Architecture/180
69
Cloud Computing: Caractéristiques
Les acteurs du cloud - Auditor
Les risques associés au Cloud dépendent de plusieurs facteurs dont :
➢ La sécurité et la confidentialité des données sont souvent vues comme des questions cruciales,
➢ il existe également un grand nombre d'autres problèmes à prendre en compte lors de la transition vers
le nuage, tels que les problèmes réglementaires, juridiques et liés à la conformité.
70
Cloud Computing: Caractéristiques
Les acteurs du cloud - Broker
Service d’Intermédiation : un courtier cloud améliore un service donné en améliorant certaines
capacités spécifiques et en fournissant des services à valeur ajoutée aux consommateurs cloud.
L'amélioration peut être la gestion de l'accès aux services cloud, la gestion des identités, les
rapports de performance, la sécurité renforcée, etc.
Service d’Arbitrage: signifie qu'un courtier a la flexibilité de choisir les services de plusieurs
agences. Le courtier cloud, par exemple, peut utiliser un service de notation de crédit pour
mesurer et sélectionner une agence avec le meilleur score.
71
Cloud Computing: Caractéristiques
Les acteurs du cloud - Carrier
72
Cloud Computing: Caractéristiques
Exemple des architectures IBM et
oracle
73
chapitre 5: Les techniques côté
provider –La virtualisation
74
Cloud Computing: Caractéristiques
Cloud computing et virtualisation
• la virtualisation fait abstraction des détails physiques du matériel et fournit
une virtualisation des ressources à un niveau applicatif très élevé.
75
Cloud Computing: Caractéristiques
Rappel La virtualisation : Définition
• La virtualisation est utilisée pour générer un ou plusieurs systèmes physiques virtuels simulés sur un
système physique réel. Elle permet d’utiliser une ressource informatique virtuelle à partir d’une
machine physique réelle.
• Ces systèmes virtuels allouent et partagent l'utilisation des ressources physiques tels qu’un processeur,
une interface réseau ou un disque dur, pour fonctionner comme une machine physique.
• Lorsqu’un système virtuel n'utilise pas les ressources d'un système physique, celles-ci peuvent être
utilisées par un autre système virtuel. Alors que Dans un environnement non virtualisé, les ressources
du système peuvent être inactives pendant une période de temps
76
Cloud Computing: Caractéristiques
Rappel La virtualisation : Définition
Définition:.
Hyperviseur est une plateforme de virtualisation, qui permet l’abstraction
de la couche matérielle de la machine hôte. Il permet aussi l'exécution des
différents systèmes invités sur le système hôte. Il gère leur fonctionnement
et fournit l'isolation entre les systèmes invités.
L’hyperviseur a 2 rôles majeurs :
1. Créer des ressources virtuelles
propres à chaque VM
2. Répartir ses propres ressources : il
joue le rôle de chef d’orchestre pour
allouer à chaque VM les ressources dont
elles ont besoin, au bon moment et dans
les bonnes quantités
77
Intérêt
Cloud de la virtualisation
Computing: pour les
Caractéristiques
providers
1. Améliorer le déploiement :
• l’installation et la configuration de nouveaux serveurs physiques et systèmes d’exploitation peuvent être
fastidieuse et consommatrice de temps.
• sans parler de la migration des applications hébergées sur les anciens serveurs.
Cas réel : une seule application peut bloquer la mise à jour du système d’exploitation d’un serveur et par
conséquent, toutes les autres applications sont également condamnées à rester sur le système d’exploitation
actuel.
Solution: la virtualisation permettrait que le système ne pouvant pas être mis à jour devienne une machine
virtuelle sur laquelle serait hébergée l’application qui fonctionne uniquement sur ce système d’exploitation. Par
contre, les autres applications pourraient être hébergées sur une autre machine virtuelle fonctionnant avec le
système d’exploitation mis à jour.
78
Intérêt de la virtualisation pour les
providers
2.Optimiser la portabilité :
• Il est possible de déplacer des machines virtuelles d’un serveur physique à un autre de façon simple et rapide.
• Flexibilité cruciale lors de d’opération de maintenance ou d’indisponibilités imprévues d’une machine physique.
• Les machines virtuelles s’adaptent simplement en fonction des différents types d’infrastructures physiques qui
les hébergent.
79
Cloud Computing:
Intérêt Caractéristiques
de la virtualisation pour les
providers
4.Réduire les coûts
• la réduction des coûts est perceptible au niveau du matériel.
• l’achat de matériel réseau tel que les routeurs est aussi considérablement réduit.
• un gain de place dans les locaux de l’entreprise ainsi que des économies d’énergie importantes dans les domaines du
refroidissement et d’électricité.
• Grâce à la simplification du déploiement, de la maintenance, de la sauvegarde et d’autres opérations, la virtualisation permet
aux administrateurs de diminuer le temps de travail lié à ces sujets afin de participer à d’autres projets
80
Cloud Computing: Caractéristiques
Techniques de base du cloud
81
Cloud Computing: Caractéristiques
La virtualisation des serveurs
82
Cloud Computing: Caractéristiques
La virtualisation du Desktop
• La virtualisation du poste de travail est la capacité de présenter à l’utilisateur sa
configuration personnalisée (bureau, applications métiers, paramètres de
personnalisation) quel que soit le terminal utilisé pour travailler.
• VDI pour Virtual Desktop Infrastructure, une solution consistant à faire s’exécuter
sur un serveur de l’entreprise, à la fois l’OS et les applications d’un poste client tout
en déportant l’affichage sur un poste distant qui du coup n’a plus nécessairement
besoin d’un OS local.
• Pour l’utilisateur, le bénéfice principal découle d’une plus grande flexibilité.
• Une fois cette solution déployée, il devient possible d’accéder à son environnement
personnalisé depuis n’importe quel poste de travail de l’entreprise, mais aussi de
l’extérieur via un VPN
83
Cloud Computing: Caractéristiques
La virtualisation des applications
84
Cloud Computing: Caractéristiques
La Virtualisation de stockage
• Virtualisation du stockage vise à cartographier virtuellement les différentes ressources de stockage d’une entreprise
telles que les disques durs, la mémoire flash ou les lecteurs de bandes et de les rendre disponibles comme un pool
de stockage lié (data Store).
• C’est une solution de virtualisation établit une couche de virtualisation entre les serveurs d’applications et le
matériel de stockage existants
• L’objectif est que les applications n’aient plus besoin de savoir sur quels disques, partitions ou sous-systèmes de
stockage résident leurs données
85
La Virtualisation du réseau
86
La Virtualisation du réseau
Pourquoi la virtualisation de réseau ?
• La virtualisation de réseau découple les services réseau du matériel sous-jacent et permet d’effectuer le
provisionnement virtuel de tout un réseau.
• Les ressources du réseau physique, telles que les commutateurs et les routeurs, sont regroupées et accessibles par
n’importe quel utilisateur par l’intermédiaire d’un système de gestion centralisé.
• La virtualisation de réseau permet également de procéder à l’automatisation de nombre de tâches administratives,
ce qui réduit ainsi le nombre d’erreurs manuelles et le délai de provisionnement. Elle renforce la productivité et
l’efficacité du réseau
• La virtualisation externe: combine plusieurs réseaux ou parties de réseau en une unité virtuelle.
• La virtualisation interne: utilise des logiciels pour reproduire ou fournir la fonctionnalité d’un réseau physique
unique.
87
Avantages la virtualisation
Cloud Computing: pour les
Caractéris:ues
fournisseurs cloud
une machine virtuelle (VM permet de réaliser la virtualisation lourde.
Car un nouveau système complet est crée dans le système hôte, pour qu’il ait ses propres ressources.
88
Limitations de la virtualisation
90
Chapitre 6: Applications Cloud
Native
91
Définition des Cloud Natives
Cloud Native concerne la modification de la façon dont sont crées les systèmes d’entreprise essentiels.
Les systèmes Cloud natifs sont conçus pour adopter un changement rapide, une grande échelle et une
résilience.
« Les technologies Cloud-natives permettent aux organisations de créer et d’exécuter des applications
évolutives dans des environnements dynamiques et modernes, tels que des clouds publics, privés et hybrides.
Les conteneurs, les maillages de service, les microservices, l’infrastructure immuable et les API déclaratives
illustrent cette approche.
Ces techniques permettent aux systèmes faiblement couplés qui sont résilients, gérables et observables.
Combinée à une automatisation robuste, elle permet aux ingénieurs d’apporter des modifications très
importantes et prévisibles avec un acharnement minimal. »
Source: https://github.com/cncf/foundation/blob/master/charter.md
92
Intérêt des Cloud Natives
• Les utilisateurs attendent une réactivité rapide, des fonctionnalités novatrices et des temps d’arrêt nuls.
• Les problèmes de performances, les erreurs récurrentes et l’incapacité à se déplacer rapidement ne sont plus
acceptables. Les entreprises seront facilement déplacés vers votre concurrent.
• Cloud Native concerne la Vitesse et l' agilité.
• Les systèmes d’entreprise évoluent de l’activation des fonctionnalités métier aux armes de transformation
stratégique qui accélèrent la rapidité et la croissance de l’entreprise.
• Il est impératif de mettre les idées sur le marché immédiatement.
93
Les piliers du Cloud Natives
94
Les piliers du Cloud Natives
95
CI/CD
96
CI/CD
L’approche CI/CD automatise le développement des applications. Tout en instaurant des éléments de surveillance
pour s’assurer que l’application fonctionne bien. Et ce tout au long de la phase d’intégration, de test et de
déploiement. CI/CD signifie distribution et déploiement continus.
•Dans le premier cas ce sont les développeurs qui déploient leur code et leurs modifications dans le dépôt situé
dans une structure de gestion de version comme Git ou Github. Charge ensuite à un responsable de vérifier la
conformité du code et de procéder aux tests pour vérifier que tout fonctionne.
•Dans le deuxième cas ce travail est effectué par une machine. C’est le but ultime du processus CI/CD qui consiste
à supprimer l’intervention humaine pour gagner en temps et en efficacité. Le code est compilé et testé sur
l’ordinateur grâce à ce que l’on appelle un build automatisé. S’il n’y a pas de bug le tout est mis en production
automatiquement. Cette approche permet aux développeurs de se concentrer sur la conception et le développement
et sur les fonctionnalités de l’application.
97
CI/CD
Quels sont les avantages du processus CI/CD ?
Le premier avantage du processus CI/CD est d’accélérer la mise en production des applications et ainsi
leur commercialisation. Elle revêt aussi d’autres intérêts :
• Permettre une évolutivité constante de l’application tout en disposant d’un environnement stable en
production. Le code étant toujours soigneusement testé avant le déploiement.
• Favoriser une plus grande qualité du code. Les développeurs n’ayant plus à se soucier de certaines
phases, ils peuvent apporter améliorations et corrections à leur code plus souvent.
• Sortir des applications avec plus de fonctionnalités pour le même prix, le processus CI/CD
accélérant les phases de test et de déploiement.
• Intégrer plus facilement de nouveaux développeurs au projet.
• Eviter les problèmes d’intégration en cascades et réduire la dette technique.
98
Les piliers du Cloud Natives
99
DevOps
La philosophie derrière mouvement Devops :
100
DevOps
• Devops est un mouvement visant à réduire la friction organisationnelle entre les "devs" (chargés de faire
évoluer le système d'information) et les "ops" (chargés d'exploiter les applications existantes).
• Les initiateurs du mouvement sont principalement des administrateurs systèmes de base qui ont commencé
du constat suivant :
• si une équipe d'exploitation est primée sur la stabilité du système alors que l'équipe de développement est
récompensée à chaque nouvelle fonctionnalité, il est évident que ces deux équipes vont se retrouver en
conflit perpétuel.
• Le mouvement devops en plus de réfléchir à une nouvelle organisation de l'entreprise, vise à trouver des
techniques et des outils pour favoriser cette coopération.
101
Les piliers du Cloud Natives
102
Containerisation
103
Containerisation
• Les conteneurs Linux s'exécutent en natif sur leur système d'exploitation, qu'ils partagent entre eux. Les
applications et services restent ainsi légers et s'exécutent rapidement en parallèle.
• Les conteneurs Linux représentent une nouvelle évolution du développement et déploiement des applications
• Les images de conteneurs Linux permettent d'assurer la portabilité et le contrôle des versions des applications.
• Les développeurs ont ainsi la garantie que ce qui fonctionne sur leur ordinateur portable fonctionnera aussi dans
l'environnement de production.
• Il propose une interface standard (démarrage, arrêt, variables d'environnement, etc.),et assure l'isolation des
applications et peut être géré plus facilement en tant que module d'une application plus importante (plusieurs
conteneurs) 104
Containerisation: Docker
• Docker est un outil open source qui peut empaqueter une application et ses dépendances dans un
conteneur virtuel, qui pourra être exécuté sur n'importe quel serveur Linux.
• Ceci permet d'étendre la flexibilité et la portabilité d’exécution d'une application, que ce soit sur la
machine locale, un cloud privé ou public, etc.
• Docker permet de construire, livrer et exécuter n'importe quelle application, n'importe où.
• Docker a été créé pour les besoins d'une société de Platform as a Service (PaaS) appelée DotCloud.
Finalement, en mars 2013, l'entreprise a créé une nouvelle structure nommée Docker Inc et a placé en
open source son produit Docker.
• Microsoft a travaillé avec la communauté Docker afin de porter le client Docker vers Windows, le
rendant facile à gérer les hôtes Docker et les conteneurs Docker pour ceux qui utilisent Windows
comme machines de développement.
105
Containerisation: Docker
Stateless vs Stateful
• le cas d'une base de donnée MySQL, celle-ci est stateful car elle stocke un état. Si la base de donnée est
redémarrée, les données sont toujours retrouvable.
• Stateless est donc l'inverse : l'application ne stocke pas d'état. Vous pouvez prendre le cas du protocole
HTTP, celui-ci est stateless. À chaque nouvelle requête HTTP, les mêmes séries d'actions seront
réalisées.
• L'immutabilité (stateless) d'un conteneur est aussi importante. Un conteneur ne doit pas stocker de
données qui doivent être pérennes, car il les perdra (à moins de les pérenniser en créant un volume)
106
Les piliers du Cloud Natives
107
Les microservices
• les entreprises doivent concevoir leurs applications dès le départ à partir d'architectures répondant à
leurs besoins et qui sont parfaitement adaptées au cloud.
• C'est ainsi que l'architecture Microservices est apparue, apportant une réponse concrète à toutes
ces préoccupations et la promesse d'obtenir, au bout, des applications dites "Cloud-native".
• Les microservices correspondent à un type d'architecture logicielle dans laquelle les grosses
applications sont conçues à partir de petites unités autonomes qui interagissent via des API
indépendantes du langage logiciel utilisé.
• Chaque service a une portée limitée, se concentre sur une seule tâche et est totalement
indépendant.
• Cette configuration permet aux directeurs IT et aux développeurs de construire des systèmes
modulaires.
• Des API REST sont souvent employées pour relier chaque microservice aux autres.
110
Les Pionniers des microservices
- Maintenance corrective
- Maintenance évolutive
- Maintenance prédictive
Entreprise Expérience
Netflix A plus de 600 services en production. Déploie cent fois par jour.
Uber A plus de 1 000 services en production. Déploie plusieurs milliers de fois par
semaine.
WeChat A plus de 3 000 services en production. Déploie 1 000 fois par jour
111
Les Pionniers des microservices
Today, the Netflix application leverages 500+ microservices and API Gateways that handles over 2 billion API edge
requests daily. Learn more about microservices at Netflix here.
113
Kubernetes pour Gestion des
architectures Microservices
114
CNCF : Cloud Native Computing Foundation
• It’s a community of doers, bringing cloud native computing to the world through open source technology
• Objective : MAKE CLOUD NATIVE UBIQUITOUS
• CNCF is the open source, vendor-neutral hub of cloud native computing, hosting projects like Kubernetes
and Prometheus to make cloud native universal and sustainable.
115
Application Twelve-Factor: la migration en
cloud
• L' application à 12 facteurs est une méthodologie largement acceptée pour la construction d’applications basées sur
le Cloud.
• Il décrit un ensemble de principes et de pratiques que les développeurs suivent pour créer des applications
optimisées pour les environnements Cloud modernes.
• Une attention particulière est accordée à la portabilité entre les environnements et l’automatisation.
• Bien qu’applicables à n’importe quelle application basée sur le Web, de nombreux praticiens considèrent Twelve-
Factor comme une base solide pour la création d’applications Cloud natives
• Les systèmes basés sur ces principes peuvent être déployés et mis à l’échelle rapidement et ajouter des
fonctionnalités pour réagir rapidement aux changements de marché.
Source: https://12factor.net/
116
Application Twelve-Factor
1 Base de code: Une seule base de code pour chaque microservice, stockée dans son propre référentiel. Suivi avec
le contrôle de version, il peut être déployé dans plusieurs environnements ( intermédiaire, production).
2 Les dépendances : Chaque microservice isole et conditionne ses propres dépendances, en adoptant des
modifications sans affecter l’ensemble du système.
3 Configurations : Les informations de configuration sont déplacées hors du microservice et sont externalisées à
l’aide d’un outil de gestion de la configuration en dehors du code. Le même déploiement peut se propager dans les
environnements avec la configuration correcte appliquée.
4 Services de stockage Les ressources auxiliaires (Les data stores, caches, lesmessages) doivent être exposées
via une URL. Cela découple la ressource de l’application.
Source: https://12factor.net/
117
Application Twelve-Factor
5 Build, Release, exécute: Chaque version doit appliquer une séparation stricte entre les étapes de génération, de mise
en œuvre et d’exécution. Chaque version doit être marqué d’un ID unique et prendre en charge la possibilité
d’effectuer une restauration. Les systèmes CI et de CD modernes aident à respecter ce principe.
6 Processus : Chaque microservice doit s’exécuter dans son propre processus, isolé des autres services en cours
d’exécution. Externaliser l’État requis sur un service de sauvegarde, tel qu’un cache distribué ou un magasin de
données.
7 Liaison de port: Chaque microservice doit être autonome avec ses interfaces et fonctionnalités exposées sur son
propre port. Cela permet d’isoler les autres microservices.
8 Accès concurrentiel Les services sont mis à l’échelle sur un grand nombre de petits processus identiques (copies)
au lieu de mettre à l’échelle une seule grande instance sur la machine la plus puissante disponible.
Source: https://12factor.net/
118
Application Twelve-Factor
9 Disposability Les instances de service doivent être jetables, favorisant des Démarrages rapides pour augmenter les
possibilités d’évolutivité et les arrêts progressifs pour que le système reste dans un état correct. Les conteneurs de l’arrimeur
avec un orchestrateur répondent fondamentalement à cette exigence.
10 Parité dev/prod : Conserver les environnements tout au long du cycle de vie des applications comme possible, en évitant les
raccourcis coûteux. Ici, l’adoption de conteneurs peut contribuer de façon considérable en promouvant le même
environnement d’exécution.
11 Journalisation: Traiter les journaux générés par les microservices en tant que flux d’événements. Traiter-les avec une
agrégation d’événements et Propagez les données aux outils de gestion des journaux et de l’exploration de données, comme
Azure Monitor ou Splunk, et enfin un archivage à long terme.
12. Processus d’administration: Exécuter des tâches d’administration/de gestion en tant que processus unique. Les tâches
peuvent inclure le nettoyage des données et l’extraction des analytiques pour un rapport. Les outils qui exécutent ces tâches
doivent être appelés à partir de l’environnement de production, mais séparément de l’application.
Source: https://12factor.net/
119
chapitre 7: SERVERLESS/FAAS
120
Serverless / FaaS
121
Servless / FaaS
• Le modèle serverless diffère des machines virtuelles et des conteneurs dans le fait que le payement est
effectué seulement pour le temps de traitement utilisé par chaque fonction au fil de son exécution.
• Les machines virtuelles et les conteneurs sont facturés pour la durée de leur exécution, même si les
applications qui s’y trouvent sont inactives.
• Cette architecture ne fonctionne pas pour chaque application, mais quand la logique de l’application peut
être séparée en unités indépendantes,
• Son grand avantage est de pouvoir tester les applications séparément, les mettre à jour séparément et les
lancer en quelques microsecondes, ce qui fait de cette approche l’option de déploiement et maintenance la
plus rapide.
122
Servless / FaaS
123
Servless / FaaS
124
Servless : les fournisseurs
125
Machines Virtuelles Vs Conteneurs Vs
Servless
https://docs.microsoft.com/fr-fr/learn/modules/principles-cloud-computing 126
Conclusion
127
Formations & Certifications gratuites
• https://learn.microsoft.com/en-us/training/azure/
• https://www.cncf.io/certification/training/
• https://learn.microsoft.com/fr-fr/training/paths/azure-fundamentals-describe-azure-
architecture-services/
128