2-Cloud (T)

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 1

Definition : Les microservices une approche de développement CRUD API REST (CLOUD NATIVE) :

logiciel qui consiste à décomposer les applications 1-Conection avec Mongodb :


Le Cloud Native décrit une approche de en éléments les plus simples. const mongoose= require(‘mongoose’)
développement logiciel dans laquelle les mongoose.connect(‘mongodb://
applications sont dés Ie début conçues pour une la différence entre une approche monolithique et 127.0.0.1:27017/Dbname’)
utilisation sur Ie Cloud. Ie microservice : .then(()=>console.log(‘connected’)
4 caractéristiques de cloud Computing : Une application monolithique est une seule unité .catch((error=>console.log(error))
-Le service doit étre en libre-service å la demande. unifiée, une architecture microservices la 2-Add Product :
-Le service doit étre mesurable décompose en un ensemble de petites unités router.post('/product/add' , async (req, res)=>{ try {
-II doit y avoir une mutualisation des ressources indépendantes. const product = new Product(req.body)
-II doit étre rapidement élastique (adaptation) Une API (interface de programmation const ProductSave =await product.save()
res.status(201).json({message:"saved" ,
4 caractéristiques de cloud native : d'application):est un ensemble de définitions et de data:ProductSave}) } catch (error) {
Microservices - Conteneurisation - Élasticité - protocoles qui facilite la création et l'intégration de res.status(400).json({message:"failed"} ) } })
évolutivité logiciels d'applications. 3-Afficher Products:
1. Décomposition en microservices. 3 avantages des API' router.get('/Products, async (req, res)=>{
2. Conteneurisation. 1)Pouvoir interagir avec un systéme sans se soucier const AllAuthor =await Product.find()
3. Évolutivité dynamique. de sa complexité et de son fonctionnement. if (AllProduct.length>0)
4. Automatisation et orchestration. 2)Souvent spécialisée dans un domaine et sur un res.status(200).json({data:AllProduct })
else res.status(400).json({message:"failed"}) })
les avantages du cloud native : use case particulie
module.exports=router
- Haute disponibilité - Déploiement plus rapide - 3)Constituent un moyen simplifié de connecter 4-Editer Products :
Coût réduit (une optimisation des coüts) votre propre infrast cture au travers du router.put('/Product/:title/edit' , async (req,res)=>{
une portabilité, une résilience, une agilité développement d'applications cloud-native. const title = req.params.title
L’approche cloud native : est une méthode de API REST: est l'interface de programmation const checkProduct = await
développement,et de gestion d'applications qui est d'applications de transfert d'état Product.findOneAndUpdate({title}, req.body,
spécifiquement conçue pour fonctionner de représentationnelle, plus communément appelée {new:true})
if
maniére optimale dans un environnement de service Web API REST.
(checkProduct)res.status(200).json({data:checkProduct}
cloud computing. la méthode POST : envoie les données à traiter à )
4 caractéristiques de l’approche cloud native une source spécifiée . else res.status(400).json({message:"failed"} ) } )
Ia décomposition en microservices, la avantage méthode post : 4-Supprimer Products :
conteneurisation, l'évolutivité Ne sont jamais paramétrées, router.delete('/Product/:title' ,async(req,res)=>{
horizontale ,l'automatisation/orchestration, une Ne restent pas dans l'historique du navigateur. // if(!req.isAdmin) ‫يال ماكانش ادمين ميمكنش‬
architecture N'ont aucune restriction de longueur de données. ‫يسيبريمي شي حد‬
// return res.status(200)json({message:"not
flexible. La méthode GET de HTTP demande des données
allowed"})
les avantages de l'approche cloud native : d'une source spécifiée. const delProduct = await
Flexibilité, évolutivité automatisation réduite Avantages de méthode GET : Product.findOneAndDelete({title:req.params.title})
A quoi se concentre ou se base rapproche de cloud • Rester dans l'historique du navigateur. if(delProduct)
native ? • étre marqué. res.status(200).json({message:"deleted"})
Cette approche se concentre sur Ie développement else res.status(400).json({message:"failed"}) })
d'applications sous Ia forme de microservices La directive "require" indique à JavaScript 5-Model (Product) :
const Schema = mongoose.Schema({
individuels, qui ne sont pas exécutés « On- d'importer la totalité du module demandée.
title:{ type:Sring ,unique:true, required:true},
Premises » (localement), mais sur des plateformes le directif "import" permet de n'importer qu'une price:{ type:Number ,unique:true, required:true} })
agiles basées sur des conteneurs. partie spécifique d'un module. module.exports = mongoose.model(Product, Schema)
L'approche de cloud native repose sur 4 piliers : Le middleware: est une fonction qui a accés au
les architectures microservices, les technologies de nécessaire, réponse objet et nouvelle fonction 6-home.ejs(views):
conteneurs , le processus de dans le cycle demande-réponse <body>…
développement(devops) et la livraison contenu avantages des conteneurs (diapo 203) : <tbody>
<% for(let i=0;i<produit.length;i++){ %> <tr>
(continuous delivery) Portabilité , Vitesse , Isolation, Facilité de la
<td><%=produit[i].title %></td>
L'approche Cloud Native repose sur quatre piliers gestion . <td> <a href="/del/<%=student[i].code %>">del</a>
qui sont liés et interdépendants. devOps : <a href="/update/<%=student[i].code%>">edit</a>
les différents modéles de cloud native : L'adoption des méthodes Agiles qui va permettre </td></tr><% } %></tbody>
Cloud public - cloud privé - cloud hybride d'lntégrer les équipes métier dans cette </body>
Fornisseurs de cloud : collaboration avec les équipes techniques et de 7-Index.js
Amazon , google cloud - Microsoft développement. L'idée est de collaborer pour const express = require("express");
const studentRoute=require('./router/RouteStudent')
Exemples de fornisseur de : délivrer une itération en améliorant Ie produit å
const userRoute=require('./router/RouteUser')
IAAS :Elastic Compute Cloud ,AWS-Compute chaque livraison de fagon continue. const ejs=require('ejs')
Engine Docker une plateforme qui permet de créer facilement des const axios=require('axios');
, GOOLE CLOUD Virtual Machine ,AZURE. conteneurs et des applications basées sur les conteneurs. const bodyParser = require("body-parser");
PAAS: AWS Elastic Beanstalk, AWS- Google App les commande docker : docker run: Lance un conteneur à
partir d'une image.docker build: Construit une nouvelle const app = express();
Engine , GOOLE CLOUD - Azure App Service - azure image Docker. docker pull: Télécharge une image Docker app.set('view engine','ejs')
function App ,AZURE depuis un registre. docker push: Envoie une image Docker require("./DBconnect");
SAAS: ZOOM , AWS Google apps , Microsoft office vers un registre. docker stop: Arrête l'exécution d'un ou app.use(express.json());
365, azure plusieurs conteneurs. docker start: Démarre un conteneur app.use(bodyParser.urlencoded())
La conteneurisation, est un type de virtualisation, arrêté. docker restart: Redémarre un ou plusieurs app.use('/api/v1/students/',studentRoute)
qui consiste a rassembler le code du logiciel et conteneurs. docker rm: Supprime un ou plusieurs app.use('/api/v1/users/',userRoute)
tous ses composants . conteneurs. docker rmi: Supprime une ou plusieurs app.get('/',async (req,res)=>{
images Docker. docker ps: Affiche les conteneurs en cours
la différence entre la conteneurisation et la const title='connexion'
machine virtuelié d'exécution. docker images: Liste les images Docker const response= await
Les conteneurs sont plus compacts que les présentes sur le système. docker exec: Exécute une axios.get('http://localhost:5000/api/v1/students')
commande à l'intérieur d'un conteneur en cours const student=response.data;
machines virtuelles et démarrent plus console.log(student)
Rapidement. d'exécution. docker logs: Affiche les journaux de sortie res.render('home',{title,student:student})})
une application monolithique d'un conteneur. docker inspect: Récupère des
est une application qui est développée en un seul informations détaillées sur un ou plusieurs conteneurs. app.listen(5000, () => {
bloc avec une méme technologie et déployée dans console.log("__Server Word__");
docker network: Gère les réseaux Docker, la création, la });
un serveur d'application.
suppression et la gestion des connexions entre les
conteneurs.

Vous aimerez peut-être aussi