C R ÉE R U N E A P P L I C A T I O N C L O U D
N A T I V E
BENMALOUK ILHAM
FILIÈRE DÉVELOPPEMENT DIGITAL – OPTION WEB FULL STACK
الشغل إنعاش و المهني التكوين مكتب
Office de la Formation Professionnelle et de la
Promotion du Travail
JANVIER 2025
2.
01
01
INTRODUIRE LE CLOUDNATIVE
Définir le cloud
1.
Définir l’approche cloud native
2.
02
CRÉER DES APIS REST SIMPLES EN
NODE JS ET EXPRESS JS
Introduire Express et Node js
1.
Créer des APIs REST
2.
Authentifier une API REST avec JWT
3.
03
CRÉER UNE APPLICATION
MICROSERVICE
S’initier aux architectures
microservices
1.
Créer une application microservices
2.
04
MANIPULER LES CONTENEURS
Appréhender la notion du conteneur •
1.
Prendre en main Docker
2.
05
DÉPLOYER UNE APPLICATION CLOUD NATIVE EN
AZURE CLOUD
Introduire Azure Cloud
1.
Déployer en Azure App service
2.
S
O
M
M
A
I
R
E
01
02
INTRODUIRE LE CLOUD
1-Concept du cloud et ses avantages
PROBLÉMATIQUE
Un entrepreneur souhaite créer une plateforme en ligne pour son entreprise afin de digitaliser
ses services et faciliter l'accès aux clients et employés. Cette plateforme doit permettre :
Aux clients de consulter et acheter des produits/services en ligne.
Aux employés d’accéder aux outils internes et de collaborer.
À l’entreprise d’analyser les données clients et optimiser ses services.
Jusqu’à présent, l’entrepreneur utilisait un serveur local hébergé sur un
ordinateur dans son bureau pour gérer ses fichiers et services internes.
Cependant, avec la croissance de son activité, il veut rendre sa plateforme
accessible en ligne pour toucher plus de clients et permettre à ses employés de
travailler à distance.
5.
01
03
1️⃣ Besoins matérielsélevés
👉 Son ordinateur actuel n’est pas conçu pour gérer des milliers de connexions simultanées.
👉 Il devra investir dans un serveur puissant, avec un bon processeur, plus de RAM et du stockage.
2️⃣ Infrastructure coûteuse
👉 Un serveur consomme beaucoup d’électricité et doit fonctionner en continu.
👉 Il aura besoin d’une salle climatisée pour éviter la surchauffe.
👉 Il devra acheter du matériel de sauvegarde pour éviter les pertes de données.
3️⃣ Maintenance et gestion
👉 Un serveur doit être surveillé en permanence pour éviter les interruptions de service.
👉 Il devra embaucher un administrateur système pour gérer le réseau et les configurations.
INTRODUIRE LE CLOUD
1- Concept du cloud et ses avantages
6.
01
04
4️⃣ Sécurité etprotection des données
👉 La plateforme contiendra des données sensibles sur les clients et l’entreprise.
👉 Il faudra mettre en place des pare-feux, des sauvegardes régulières et des
protocoles de sécurité.
👉 L’entreprise devra se protéger contre les cyberattaques et les pannes.
5️⃣ Scalabilité limitée
👉 Si l’entreprise grandit et attire plus de clients, le serveur risque d’être surchargé.
👉 Il devra acheter de nouveaux serveurs pour s’adapter à la demande, ce qui
augmente les coûts.
INTRODUIRE LE CLOUD
1- Concept du cloud et ses avantages
01
06
INTRODUIRE LE CLOUD
1-Concept du cloud et ses avantages
Le cloud computing désigne l'accès à des ressources informatiques (serveurs, stockage, bases de
données, réseaux, logiciels, etc.) via Internet. Ces ressources sont fournies par des prestataires externes
et accessibles à tout moment, sans qu'il soit nécessaire d'avoir une infrastructure locale.
👉Au lieu d’installer et de gérer ses propres serveurs, une entreprise peut louer des ressources
informatiques auprès de fournisseurs Cloud .
💡Le Cloud permet d’accéder à des services informatiques à la demande, de manière flexible et évolutive.
9.
01
07
🏢On-Premise Computing (Infrastructurelocale) ☁️ Cloud Computing
💰Coût initial élevé (achat de matériel, installation,
infrastructure…)
💸Coût initial faible (paiement à l’usage, pas
d’investissement initial important)
🛠️Maintenance à la charge de l’entreprise (équipe IT,
mises à jour, réparations)
🔧Maintenance gérée par le fournisseur (mise à jour
automatique, support technique)
🔐Sécurité interne (si bien gérée, mais plus exposée aux
cyberattaques)
🛡️Sécurité avancée fournie par des experts (protection
contre les attaques DDoS, sauvegardes automatiques)
📉Scalabilité difficile et coûteuse (ajouter des serveurs
prend du temps et de l’argent)
📈Scalabilité instantanée et flexible (ajout ou suppression
de ressources en quelques clics)
INTRODUIRE LE CLOUD
1- Concept du cloud et ses avantages
On-Premise vs Cloud Computing
10.
01
08
🏢On-Premise Computing (Infrastructurelocale) ☁️ Cloud Computing
🏢Accessibilité locale uniquement (accès limité aux
employés sur site)
🌍Disponible partout (accessible via Internet, idéal pour le
télétravail)
⚠️ Risque de panne matérielle (serveur endommagé =
interruption du service)
✅Redondance des données (les fournisseurs ont plusieurs
serveurs pour éviter les interruptions)
👩💻Besoin d’une équipe IT pour gérer l’infrastructure et les
incidents
👥Moins de personnel IT requis, car la gestion technique est
externalisée
🔄Autonomie totale, mais demande un effort important
de gestion
🔗Dépendance au fournisseur Cloud (risque lié aux
augmentations de tarifs ou aux restrictions de service)
INTRODUIRE LE CLOUD
1- Concept du cloud et ses avantages
On-Premise vs Cloud Computing
11.
01
09
INTRODUIRE LE CLOUD
1-Concept du cloud et ses avantages
Comment fonctionne le cloud ☁️ ?
Les fournisseurs Cloud comme AWS, Azure et
Google Cloud possèdent de vastes
datacenters contenant des milliers de
serveurs.
Plutôt que d'acheter du matériel, les
entreprises louent ces ressources, profitant
ainsi d’une infrastructure performante et
sécurisée sans souci de maintenance.
Fournisseurs Cloud
12.
01
10
INTRODUIRE LE CLOUD
1-Concept du cloud et ses avantages
Comment fonctionne le cloud ☁️ ?
Le Cloud Computing repose sur la virtualisation,
qui divise un serveur physique en plusieurs
machines virtuelles (VMs).
Lorsqu'un utilisateur demande une ressource
(serveur, stockage...), le fournisseur alloue
dynamiquement ces VMs, offrant flexibilité,
évolutivité et optimisation des coûts.
01
INTRODUIRE LE CLOUD
3-Différence entre cloud privé, public et hybride
15
Models de Cloud
✔️Combine Cloud
privé et public pour
plus de flexibilité.
✔️Permet d’héberger
des données
sensibles en privé et
le reste en public.
✔️Hébergé et géré
par un fournisseur
(AWS, Azure, GCP…).
✔️Économique et
scalable, mais partagé
avec d’autres clients
✔️Infrastructure
dédiée à une seule
organisation.
✔️Sécurisé et
personnalisable, mais
coûteux à maintenir.
01
INTRODUIRE LE CLOUD
4-Services du cloud (IAAS, PAAS, SAAS).
17
Services de Cloud
✔️Fournit des ressources
matérielles virtualisées
(serveurs, stockage, réseaux).
✔️L’utilisateur gère le système
d’exploitation et les
applications.
📌Exemple : AWS EC2,
Google Compute Engine,
Microsoft Azure Virtual
Machines.
✔️Fournit un environnement
de développement clé en main
(serveurs, bases de données,
outils de déploiement).
✔️L’utilisateur se concentre
uniquement sur le code et les
applications.
📌Exemple : Google App
Engine, AWS Elastic Beanstalk,
Azure App Services.
✔️Fournit des applications
directement accessibles via
Internet sans installation.
✔️L’utilisateur utilise le logiciel
sans se soucier de
l’infrastructure.
📌Exemple : Gmail, Google
Drive, Microsoft 365, Dropbox.
Question 1 :
Qu’est-ceque le Cloud Computing ?
a) Une technologie permettant de stocker des fichiers sur un ordinateur personnel
b) L'utilisation de serveurs, de stockage et de logiciels via Internet
c) Un langage de programmation pour le web
d) Une méthode de cryptographie avancée.
Quiz
23.
Question 2 :
Quelest un avantage clé du Cloud Computing ?
a) Coût initial faible et scalabilité
b) Maintenance coûteuse et rigide
c) Nécessité d’acheter un matériel puissant
d) Accès limité aux utilisateurs internes
Quiz
24.
Question 3 :
Lequeldes fournisseurs suivants n’est pas un fournisseur Cloud ?
a) AWS
b) Microsoft Azure
c) Google Cloud
d) Oracle Database
Quiz
25.
Question 4 :
Quelconcept permet aux fournisseurs Cloud de partager un même
serveur entre plusieurs utilisateurs ?
a) Conteneurisation
b) Virtualisation
c) Big Data
d) Machine Learning
Quiz
26.
Question 5 :
Quelleest la principale différence entre un Cloud public et un Cloud
privé ?
a) Le Cloud privé est plus rapide que le Cloud public
b) Le Cloud privé est accessible uniquement à une seule organisation
c) Le Cloud public est toujours gratuit
d) Le Cloud privé ne nécessite pas d’administration
Quiz
27.
Question 6 :
Pourquoiune entreprise choisirait-elle un Cloud hybride ?
a) Pour combiner les avantages du Cloud public et privé
b) Parce qu’il est moins cher qu’un Cloud public
c) Pour se passer d’un data center
d) Car il ne nécessite pas de connexion Internet
Quiz
28.
Question 7 :
Quelservice Cloud correspond à l’utilisation d’un logiciel en ligne
sans installation locale ?
a) SaaS
b) PaaS
c) IaaS
d) On-Premise
Quiz
29.
Question 8 :
Quelest un risque majeur du Cloud Computing ?
a) Manque de connectivité Internet
b) Coût initial trop élevé
c) Impossible d’héberger des sites web
d) Moins de flexibilité
Quiz
30.
Question 9 :
Vrai/Faux:
❓ Dans un environnement On-Premise, l’entreprise paie uniquement pour ce qu’elle
utilise.
❓ La virtualisation est un principe clé du Cloud Computing.
❓ Le Cloud Computing permet d’accéder aux ressources uniquement depuis le bureau
de l’entreprise.
❓ AWS, Azure et Google Cloud offrent des services similaires dans le Cloud.
❓ Un Cloud Hybride combine Cloud Public et Cloud Privé.
Quiz
31.
Question 10 :
Uneentreprise veut stocker des bases de données sensibles et assurer
un accès restreint à ses employés tout en utilisant le Cloud. Quel modèle
de déploiement est le plus adapté ?
a) Cloud public
b) Cloud privé
c) Cloud hybride
d) SaaS
Quiz
32.
02
DÉFINIR L’APPROCHE CLOUDNATIVE
1- Définition
Le Cloud Native décrit une approche de développement logiciel dans laquelle les applications sont
conçues dès le départ pour une utilisation sur le Cloud. Il en résulte des applications Cloud Native
(NCA) capables d'exploiter pleinement les avantages de l'architecture du Cloud Computing.
33.
02
DÉFINIR L’APPROCHE CLOUDNATIVE
1- Définition
Contrairement aux applications monolithiques, qui sont créées, testées et déployées comme une
seule unité, une application cloud-native est constituée de plusieurs petits services (Microservices)
indépendants, ce qui la rend plus flexible, plus rapide à déployer et plus facile à faire évoluer.
34.
02
DÉFINIR L’APPROCHE CLOUDNATIVE
1- Définition
Comment fonctionne le cloud native ?
Cette approche repose sur le développement d’applications sous la forme de microservices individuels exécutés
sur des plateformes agiles basées sur des conteneurs.
35.
02
DÉFINIR L’APPROCHE CLOUDNATIVE
1- Définition
Comment fonctionne le cloud native ?
Chaque microservice peut être modifié, mis à jour, déployé ou supprimé de manière isolée, sans impacter les
autres. Cela permet des mises à jour continues des fonctionnalités sans perturber l’ensemble de l’application,
offrant ainsi plus d'agilité dans le développement.
02
DÉFINIR L’APPROCHE CLOUDNATIVE
1- Définition
1️⃣Microservices : Découper pour mieux construire
🔹 Idée principale : On divise une application en plusieurs petits services indépendants, chacun ayant une
fonction bien précise.
🔹 Pourquoi ? Cela permet de modifier, mettre à jour ou réparer un service sans perturber le reste de
l'application.
💡Exemple : Une application d'e-commerce peut avoir :
✅Un service pour gérer le panier d’achats 🛒
✅Un service pour traiter les paiements 💳
✅Un service pour la gestion des stocks 📦
Si un problème survient avec le paiement, le panier et l’inventaire restent fonctionnels.
38.
02
DÉFINIR L’APPROCHE CLOUDNATIVE
1- Définition
2️⃣Conteneurs et Orchestration : Emballer et gérer efficacement
🔹Conteneurs : Ce sont des boîtes dans lesquelles on met une application avec tout ce dont elle a
besoin ;fichiers de configuration, les bibliothèques et les dépendances pour fonctionner. Peu importe où
on l’exécute, elle marchera de la même manière.
🔹Orchestration : Quand il y a beaucoup de conteneurs, il faut un chef d’orchestre pour les gérer, comme
Kubernetes, qui les surveille, les redémarre en cas de problème et équilibre leur charge.
💡Exemple : Imagine que chaque plat d’un restaurant est préparé dans une boîte spéciale (conteneur) et
que le serveur (Kubernetes) s’assure que les plats arrivent au bon moment et au bon endroit sans
interruption.
39.
02
DÉFINIR L’APPROCHE CLOUDNATIVE
1- Définition
3️⃣DevOps : Travailler ensemble pour être plus rapide
🔹Idée principale : Au lieu que les développeurs et les équipes informatiques travaillent séparément, ils
collaborent pour accélérer le développement et éviter les erreurs.
🔹Pourquoi ? Cela permet d’intégrer rapidement des améliorations et de corriger les problèmes sans
retarder les mises en production.
💡Exemple : Avant, les développeurs créaient du code, mais attendaient des jours avant qu’il soit validé
et mis en ligne. Avec DevOps, tout est automatisé et fluide.
40.
02
DÉFINIR L’APPROCHE CLOUDNATIVE
1- Définition
4️⃣CI/CD : Automatiser pour aller plus vite
🔹CI (Continuous Integration) : À chaque modification du code, un test automatique vérifie qu’il
fonctionne correctement.
🔹CD (Continuous Deployment) : Une fois testé, le code est automatiquement mis en production sans
interruption du service.
💡Exemple : Imagine une chaîne de montage de voitures 🚗. Avec CI/CD, chaque pièce est vérifiée et
ajoutée automatiquement, sans avoir à arrêter la production pour tout vérifier à la main.
41.
02
DÉFINIR L’APPROCHE CLOUDNATIVE
2- Avantages
✅1. Scalabilité : S'adapte automatiquement aux besoins
📌Une application Cloud Native ajuste automatiquement ses ressources en fonction de la demande. Si une
fonctionnalité est très sollicitée, de nouvelles instances ou conteneurs de son microservice peuvent être
créés pour absorber la charge. À l’inverse, si la demande diminue, ces instances peuvent être réduites pour
optimiser les coûts.
💡Exemple : Une application de streaming vidéo voit un pic d’utilisateurs lors d’un événement en direct.
Le service de diffusion vidéo est très sollicité ➡️ De nouveaux conteneurs sont créés pour gérer l'afflux
.
Après l’événement, la demande baisse ➡️ Les conteneurs inutiles sont arrêtés pour éviter de gaspiller
des ressources.
42.
02
DÉFINIR L’APPROCHE CLOUDNATIVE
2- Avantages
✅2. Portabilité : Fonctionne sur n'importe quel environnement
📌Grâce aux conteneurs (Docker, Kubernetes), une application Cloud Native peut fonctionner partout : sur
un Cloud privé, public ou hybride.
💡Exemple : Une entreprise peut déplacer son
application d’AWS vers Google Cloud sans devoir
tout redévelopper.
43.
02
DÉFINIR L’APPROCHE CLOUDNATIVE
2- Avantages
✅ 3. Résilience : Tolérance aux pannes et continuité du service
📌Une application Cloud Native est conçue pour résister aux pannes. Si un serveur tombe en panne,
l’application continue de fonctionner en se basant sur d’autres serveurs disponibles. Grâce à la répartition
des services et à l'orchestration automatique, les utilisateurs ne subissent aucune interruption.
💡Exemple : Une plateforme de streaming comme Netflix s’assure
que les vidéos restent disponibles même si un serveur rencontre un
problème.
Un serveur tombe en panne ➡️ Le trafic est redirigé
automatiquement vers d'autres serveurs en fonctionnement.
Les microservices affectés sont relancés sur d'autres
machines ou conteneurs, sans impact visible pour l'utilisateur.
44.
02
DÉFINIR L’APPROCHE CLOUDNATIVE
2- Avantages
✅ 4. Automatisation : Des processus plus rapides et fiables
📌Une application Cloud Native repose sur l’automatisation pour le déploiement, la gestion et la mise à jour
des services, réduisant ainsi l’intervention humaine et les risques d’erreurs. Grâce aux pipelines CI/CD
(Intégration et Livraison Continues), les nouvelles versions du logiciel sont testées et déployées
automatiquement.
💡Exemple : Une application de gestion de projet Cloud Native comme Trello peut recevoir des mises à
jour fréquentes sans interruption.
Un nouveau correctif ou une nouvelle fonctionnalité est développé.
Le pipeline CI/CD le teste automatiquement et l’envoie en production sans temps d’arrêt.
45.
01
DÉFINIR L’APPROCHE CLOUDNATIVE
3- Exemples
Dispose de plus de 600 services en production. Effectue des
déploiements 100 fois par jour.
Dispose de plus de 1 000 services en production. Effectue des
déploiements plusieurs milliers de fois par semaine.
Dispose de plus de 3 000 services en production. Effectue des
déploiements 1 000 fois par jour.
02