Cloud Flashcards
Cloud
Designe les serveurs accessible su inernet. C’est l’utilisation des services informatique à distance permet aux utilisateurs d’accéder aux même fichiers,apps de n’importe quel appareil.
Serveur
un serveur infor c’est un syst infor qui fournit des services,relie un poste jouant le rôle de serveur à différents poste utilisateur;
Limites d’un serveur
la securité des données
Cloud computing 4 carct doit posséder
-Le service doit être en libre-service à la demande.
-Le service doit etre mesurable.
-Il doit y avoir une mutualisation des ressources.
-doit etre rapidement elastique.
Les avantages du cloud
-faible coût et disponibilité continue
-Maintenance allégée.
-Flexibilité.
-Hebergement d’app et de services.
-Optimisation du resource.
Cloud publics
est un env crées à partir d’une infrastructure info via laquelle un prestataire de service (fournisseur cloud)r met à la disposition de ses clients des ressources via internet.
Cloud privés
un env dédié a un utilisateur finale ou à un groupe.
Cloud hybride
c’est un en v mixte qui regroupe le cloud privé et publique on offrant les avantage du cloud publics en terme de flexibilité et evolutivité et les avantages du cloud privé en terme de securité et conformité
Les services du cloud
IAAS,PAAS,SAAS
IAAS(infrastructure as a service)
ce type de service le fournisseur de solution fournit les fcts de virtualisation,de serveurs,systeme de stockage et les reseaux.
PAAS(Platform as a service)
est semblabe a IAAS sauf que le fournisseur fournit egalement le systeme d’exploitation et runtime(env d’exec).
SAAS(software as a service)
le fournisseur fournit et gere une app compléte accessible par l’utilisateur via un navigateur web ou un client lourd.
Cloud native
decrit une approche de dev logicielle dont les apps sont dés le debut conçus pour une utilisation sur le cloud.Se concentre sur le dev d’app sous la forme microservices individuels executés par des conteneurs sur des plateforme agile.
Avantages du cloud native
-flexibilité.
-evolutivité.
-haut nv d’automatisation.
-scalabilité,agilité.
Microservices
designent une architecture et une approche de developpement logiciel consiste à decomposer les applis en composants autonomes et independants.Sont beaucoup plus faciles à créer tester deployer et mettre à jour.
Les conteneurs
Regroupe le code d’une app avec les fichiers de configuration,les biblios et les dependances requises pour que l’app s’execute.
API (interface de programmation d’application)
est l’intermediaire permettant à 2 systs informatique totalement indépendants d’interagir entre eux de maniére automatique sans intervention humaine.
avantages des APIS
-permet de partager les données avec les clients et d’autre utilisateurs.
-permet de pouvoir intéragir avec un syst sans se soucier de sa complexité et de son fonctionnement.
Http(hyper text transfer protocole)
créer pour fourninr la communication entre les clients et le serveur.
Node js
un env pour developper et deployer des apps web a base de JS.est un env d’execution signle thread.
caractéristique de Node JS
-facile.
-evolutif.
-Multi plateforme.
-maintenable.
Express
est un framework node pour developper la partie backend
postman
est un outil de dev des API qui simplifier chaque étape du cycle de vie des apis
La conteneurisation
est un type de virtualisation, qui consiste à rassembler le code du logiciel et tous ces composants de manière à les isoler dans leurs propre conteneur sur tt les infrastructure
Docker
est une plateforme de conteneurs permet de créer facilement des conteneurs.
difference MV
==>Utilisation du plus de ressourse(performance du systéme).
==>Occuper beaucoup d’espace disque
difference Conteneurs
==>Moins de ressource,reduire la pression sur la mémoire de la machine hote.
==>Démarre rapidement
Avantages du conteneur
Vitesse,portabilité ,scalabitlité,…
Moteur Docker
L’app qu’on installe sur notre machine hote pour créer gérer et executer des conteneurs docker.
Docker Daemon
Le serveur docker ecoute les requtes Api,peut egalement communiquer avec d’autres serveurs.
Client Docker
Interface utilisateur principale pour communiquer avec le syst docker.
Register Docker
systéme de catalogage pour héberger, pousser et extraire des images Docker.
Image Docker
Un modèle en lecture seul utilisé pour créer des contneurs Docker se compose d’une série de couches qui contienets tt les installations,dependace,……
Volumes
fournissent un systeme de stockage accessible en ecriture au dessus de l’image du conteneur ,permettant aux programmes d’ecrire des données tt en maintenant l’image elle-même en lecture seule.
Lister les images docker sur l’hote local
docker image ls
Extraire telecharge image depuis docker hub
docker pull <imag></imag>
Pousser envoyer image vers un register
docker push <image></image>
Supprimer image depuis local
docker rmi <image></image>
Conteneur docker
espace dans laquel une app tourne acevc son propre environnement,permet d’éxécuter un microservices .
Créer et démare u conteneur
docker run –name <nom_conteneur> <nom_image></nom_image></nom_conteneur>
liste les conteneurs actifs
docker ps
Arrête un conteneur
docker stop <id_conteneur></id_conteneur>
Supprime un conteneur
docker rm <id_conteneur></id_conteneur>
DockerFile
est un fichier qui liste les instructions a executer pour construire une image.
FROM ImageName
Sert à spécifier l’image de base que vous allez utiliser, image qui est présente sur docker hub
RUN <command></command>
La commande RUN permet d’exécuter des commandes supplémentaires à l’intérieur du build du dockerfile.
- ADD test.txt path/
- COPY . .
Permet de copier des fichiers depuis notre machine locale vers le conteneur Docker.
ENV CONT_IMG_VER=v1.0.0
Variables d’environnements utilisables dans le Dockerfile et dans le conteneur.
WORKDIR /app
Copie les fichiers package.json et package-lock.json dans le conteneur
EXPOSE 3000
Expose le port 3000, sur lequel l’application écoute
CMD [“node”, “index.js”]
Démarre le serveur en exécutant la commande node index.js
build -t <image-name> .</image-name>
permet de créer une image a partir des instructions mentionné dans le dockerfile et en exécutant la commande : docker
docker run -p 3000:3000 <image-name></image-name>
Pour démarrer le conteneur, il suffit de lancer :
Ecrire le contenu d’un docker file
syntax=docker/dockerfile:1
FROM python:3.8-slim-buster
WORKDIR /app
COPY requirements.txt requirements.txt
RUN pip3 install -r requirements.txt
COPY . .
CMD [ “python3”, “-m” , “flask”, “run”, “–host=0.0.0.0”]
application monolithique
c’est une app qui est developpé en un seul bloc avec la même technologie et deployée dans un serveur d’app.
difficulté rencontrer d’app mono
-complication du déploiement
-scalabilité non optimisé
TTM (time to market)
design la durée nécessaire pour qu’un produit soit developé et deployé.
inconvenient de l’architecture microservice
-communication entre les services et complexe
-tests globaux sont difficile
-ne s’applique pas a tout les systéme
-probléme de debogage
communicatoin synchrone
un service appelle un autre service et attend une reponse pour que l’emetteur l’utilise dans son processus
communication asynchrone
un service appelle un autre service . l’emetteur n’attend pas de reponse pour continue son processus
diffusion d’evenement
un service desire envoyer une notification aux autres services,il n’attend pas de reponse.