Démarche DevOps : présentation des enjeux et des objectifs de l'adaptation des organisations pour l'amélioration de la qualité des produits livré et l'accélération de la mise à disposition des évolutions
Cette présentation est un livre blanc qui a pour intention d’apporter une vision claire du concept de « Virtualisation », de ses avantages, de sa place dans la stratégie IT d’une entreprise et des technologies qui y tirent leurs origines.
Si vous souhaitez aller plus loin dans la virtualisation, nous vous recommandons de cliquer ici pour télécharger librement 5 chroniques spécialisées : https://www.data-transitionnumerique.com/big-data-cloud/
Présentation portant sur le système de virtualisation Docker.
Langue : Français.
Auteur : Colin LEVERGER, me@colinleverger.fr, merci de citer vos sources ;)
Sources : Wikipedia / Docker site officiel : https://www.docker.com/
Démarche DevOps : présentation des enjeux et des objectifs de l'adaptation des organisations pour l'amélioration de la qualité des produits livré et l'accélération de la mise à disposition des évolutions
Cette présentation est un livre blanc qui a pour intention d’apporter une vision claire du concept de « Virtualisation », de ses avantages, de sa place dans la stratégie IT d’une entreprise et des technologies qui y tirent leurs origines.
Si vous souhaitez aller plus loin dans la virtualisation, nous vous recommandons de cliquer ici pour télécharger librement 5 chroniques spécialisées : https://www.data-transitionnumerique.com/big-data-cloud/
Présentation portant sur le système de virtualisation Docker.
Langue : Français.
Auteur : Colin LEVERGER, me@colinleverger.fr, merci de citer vos sources ;)
Sources : Wikipedia / Docker site officiel : https://www.docker.com/
Alphorm.com Formation Docker (1/2) : Installation et AdministrationAlphorm
Formation complète ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-docker-1-2-installation-et-administration
Rentrer dans le DevOps par Docker.
La révolution des environnements «virtuels » a commencé. Ludovic Quenec’hdu vous propose de participer à cette révolution.
Construite, déployer, publier, mettre en réseau sont les fonctionnalités que vous allez découvrir. Au travers les concepts généraux de Docker.
Nous ferons le tour du Build, Ship and Run de Docker.
Nous verrons comment Docker est conçu pour mieux comprendre comment gérer Linux Containers à l'aide du Docker, la gestion des images, des conteneurs, le build.
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Nawres Farhat
Refonte et déploiement d’une solution de messagerie en utilisant l’architecture microservices.
Technologies utilisées: Angular 2, Spring Boot, Spring Cloud, Apache Camel, Kafka, MongoDB, MySQL.
Découvrez dans ce document les différents avantages de la virtualisation de vos serveurs et postes de travail.
Nos solutions de virtualisation : http://www.nrc.fr/nos-solutions/reseaux-infrastructures/serveurs-microsoft/
This document outlines the curriculum for an introduction to containerization presentation. It includes slides and hands-on exercises on installing Docker, building Docker images, running containers, viewing processes inside containers, and experimenting with resource isolation using cgroups and namespaces. Attendees will build a Docker image for a sample Flask application, run the container, view logs and processes, and push the image to Docker Hub. The presentation covers definitions of key containerization concepts and the benefits of using containers.
TFE - Sécurité des architectures en conteneurs Docker orchestrés par KubernetesManuelMareschal
Travail de fin d'études réalisé par Manuel Mareschal dans le cadre de mes études en Informatique et Systèmes orienté Sécurité des Systèmes au département technique l'IESN à l'Henallux
Docker - un outil pour faciliter le développement et le déploiement informatiquesdenier
Cette présentation s'adresse aussi bien aux débutants qu'aux utilisateurs de Docker cherchant à en découvrir de nouveaux aspects.
- caractéristiques de Docker et écosystème
- cas d'usage : création d’environnement automatisé pour le développement, déploiement et orchestration de conteneurs, Docker sous Windows
Présentation donnée dans le cadre du Festival Transfo 2019 http://www.festival-transfo.fr/evenement/145/14-docker-un-outil-pour-faciliter-le-developpement-et-le-deploiement-informatique.htm
Rejoindre le meetup des Matinales techniques de Sogilis : https://www.meetup.com/Les-matinales-techniques-de-Sogilis
Docker Tours Meetup #1 - Introduction à DockerThibaut Marmin
Slides de l'introduction à Docker présentée par Thibaut Marmin et Antoine Boudot lors du premier Docker Tours Meetup (@DockerTours).
Présentation en trois parties :
- Introduction Docker (classique)
- Cas pratique en DEV
- Cas pratique en PROD
http://www.meetup.com/fr/Docker-Tours
Talk about the basic principles and concepts of CI/CD as a set of practices in order to reduce integration errors through automated implementations for testing and deployments as well as the tooling behind this philosophy.
On entend de plus en plus parler de « cloud computing ». Cette présentation représente une introduction à cette technologie. A la fin de la présentation, vous serez en mesure de définir le « cloud » et de présenter ses types et ses formes.
Etude de la virtualisation en plusieurs parties :
- Tour d'horizon de la virtualisation
- Pré-requis à la compréhension de Xen (rappels théoriques)
- Présentation de Xen
- L'architecture et le fonctionnement de Xen
Alphorm.com Formation Docker (1/2) : Installation et AdministrationAlphorm
Formation complète ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-docker-1-2-installation-et-administration
Rentrer dans le DevOps par Docker.
La révolution des environnements «virtuels » a commencé. Ludovic Quenec’hdu vous propose de participer à cette révolution.
Construite, déployer, publier, mettre en réseau sont les fonctionnalités que vous allez découvrir. Au travers les concepts généraux de Docker.
Nous ferons le tour du Build, Ship and Run de Docker.
Nous verrons comment Docker est conçu pour mieux comprendre comment gérer Linux Containers à l'aide du Docker, la gestion des images, des conteneurs, le build.
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Nawres Farhat
Refonte et déploiement d’une solution de messagerie en utilisant l’architecture microservices.
Technologies utilisées: Angular 2, Spring Boot, Spring Cloud, Apache Camel, Kafka, MongoDB, MySQL.
Découvrez dans ce document les différents avantages de la virtualisation de vos serveurs et postes de travail.
Nos solutions de virtualisation : http://www.nrc.fr/nos-solutions/reseaux-infrastructures/serveurs-microsoft/
This document outlines the curriculum for an introduction to containerization presentation. It includes slides and hands-on exercises on installing Docker, building Docker images, running containers, viewing processes inside containers, and experimenting with resource isolation using cgroups and namespaces. Attendees will build a Docker image for a sample Flask application, run the container, view logs and processes, and push the image to Docker Hub. The presentation covers definitions of key containerization concepts and the benefits of using containers.
TFE - Sécurité des architectures en conteneurs Docker orchestrés par KubernetesManuelMareschal
Travail de fin d'études réalisé par Manuel Mareschal dans le cadre de mes études en Informatique et Systèmes orienté Sécurité des Systèmes au département technique l'IESN à l'Henallux
Docker - un outil pour faciliter le développement et le déploiement informatiquesdenier
Cette présentation s'adresse aussi bien aux débutants qu'aux utilisateurs de Docker cherchant à en découvrir de nouveaux aspects.
- caractéristiques de Docker et écosystème
- cas d'usage : création d’environnement automatisé pour le développement, déploiement et orchestration de conteneurs, Docker sous Windows
Présentation donnée dans le cadre du Festival Transfo 2019 http://www.festival-transfo.fr/evenement/145/14-docker-un-outil-pour-faciliter-le-developpement-et-le-deploiement-informatique.htm
Rejoindre le meetup des Matinales techniques de Sogilis : https://www.meetup.com/Les-matinales-techniques-de-Sogilis
Docker Tours Meetup #1 - Introduction à DockerThibaut Marmin
Slides de l'introduction à Docker présentée par Thibaut Marmin et Antoine Boudot lors du premier Docker Tours Meetup (@DockerTours).
Présentation en trois parties :
- Introduction Docker (classique)
- Cas pratique en DEV
- Cas pratique en PROD
http://www.meetup.com/fr/Docker-Tours
Talk about the basic principles and concepts of CI/CD as a set of practices in order to reduce integration errors through automated implementations for testing and deployments as well as the tooling behind this philosophy.
On entend de plus en plus parler de « cloud computing ». Cette présentation représente une introduction à cette technologie. A la fin de la présentation, vous serez en mesure de définir le « cloud » et de présenter ses types et ses formes.
Etude de la virtualisation en plusieurs parties :
- Tour d'horizon de la virtualisation
- Pré-requis à la compréhension de Xen (rappels théoriques)
- Présentation de Xen
- L'architecture et le fonctionnement de Xen
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...AZUG FR
Comment mettre en place un déploiement automatisé sans frictions. Présentation d’Azure Container Services orchestré par DC/OS pour piloter votre pipeline de déploiement Docker.
Formation complète ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-docker-2-2-administration-avancee
Aller plus loin dans le DevOps avec Docker CE. Et lancer vous le Dev et la production avec cette formation.
La révolution des environnements «virtuels » a commencé. Ludovic Quenec’hdu vous propose de participer à cette révolution.
Orchestrer des Micro-services, Manager plusieurs hôtes docker engine, déployer des services, Administrer un Cluster, déployer des stack. Voilà ce que vous allez découvrir durant cette formation
Nous verrons ensemble Docker-machine, docker-compose, docker swarm
Nous découvrirons les outils complémentaires et essentiels de l’écosystème Docker pour déployer et manager des architectures micro services Docker.
Qu'est-ce qu'un container ? Comment en construire un ? Comment l'héberger dans Azure ? Retrouvez les réponses à vos questions dans cette présentation effectuée lors d'une matinale par Cellenza
Vous allez voir comment collecter des informations JSON (ou autre) venant de différentes instances d’applications mobiles sur une ferme Web, agréger ces données sous formes de fichiers dans le nuage (blobs). Vous allez également voir comment créer par script un cluster Hadoop en tant que service, comment lui soumettre un script à la SQL (HIVE) pour analyser les données ainsi collectées avant de détruire le cluster. Enfin, vous alllez voir comment récupérer les résultats (sans que le cluster Hadoop ait besoin d’être allumé) dans Excel Power Query, pour alimenter un modèle Power Pivot et visualiser le résultat sur une carte dans Power View.
Ces différentes parties sont relativement indépendantes. Elles peuvent être réutilisées indépendamment les unes des autres. Ensemble, elles constituent une solution de type cloud hybride, où des applications mobiles situées par définition à des endroits très divers envoient des données dans le cloud pour analyse avant visualisation dans les murs de l’entreprise (Excel).
Le cloud hybride, cela peut correspondre à des solutions aussi concrètes que cela !
1. deploy WordPress website with
MySQL backend using docker
and Kubernetes.
Institut National de Statistique
et d’Economie Appliquée
Soutenu
Par:
Mme. BOUGRYNE Oumaima
Le:
20/10/2022
Encadré par:
M. ERRAHMA Hamza
Membres de jury:
M.KABBAJ Adil
M. SAIDI Mohamed Nabil
Année universitaire 2022/2023
2. Plan Introduction.
01
Présentation de l’organisme d’accueil.
02
Contexte général du projet.
03
Problématique.
04
05
06
07
08
09
Solution proposée.
Conteneurisation avec docker-
compose
Déploiement avec Kubernetes.
Autres taches effectuées pendant le
stage.
Conclusion.
5. Présentation de l’organisme d’accueil
ZTechEngineering est une société
informatique spécialisée dans les services de
conseil en infrastructure cloud. La société a
été fondée par M. Youssef ZIOUANI aux
États-Unis. Elle dispose également d'une
agence au Maroc dirigée par M.
Mohammed ZIOUANI. Leur bureau actuel
est situé à Safi.
6. Présentation de l’organisme d’accueil
ZTechEngineering accompagne ses clients dans la
mise à l'échelle de leurs plates-formes en concevant des
infrastructures cloud sécurisées agiles, efficaces et
performantes.
Ainsi le développement des application mobiles et
web comme : Miza, jouiz,kaalix …
L'entreprise développe également en interne un
projet nommé Odhiya.
7. Contexte général du projet
Odhiya, une plate-forme qui
permettra l’e-commerce du bétail
La plate-forme sera disponible en tant
qu'application Web construite avec WordPress et
également en tant qu'application mobile pour les
appareils Android et iOS.
8. 03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Problématique
l'utilisation d'un grand nombre de configurations et de
dépendances logicielles pour L'exécution de site Web
WordPress Odhiya
Le déploiement de l’application et ses nouvelles
fonctionnalités ainsi la mise à jour du code prenait
généralement beaucoup de temps.
Le déploiement a dû être effectué manuellement, ce
qui a coûté du temps et des ressources à l'entreprise.
Parfois le même code ne travaille que sur quelques
machines et l’autres non.
9. 03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
L’architecture de l’application odhiya
Le Développement de l’application odhiya se fait dans un VPS (UBUNTU 20.04), elle se
compose de trois parties :
La Configuration de l’application odhia
Les fichiers de l’application odhiya
La base de données de l’application odhia
10. Solution proposée
Le déployement l’application Web
Odhiya sur Kubernetes (minikube/
kubectl Kompose…).
La conteneurisation de l’application Web
Odhiya avec Docker-compose.
14. 03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Technologies
Images
Une image est un modèle en lecture seule contenant des
instructions pour créer un conteneur Docker. Souvent, une
image est basée sur une autre image, avec quelques
personnalisations supplémentaires.
Conteneurs
Un conteneur est une instance exécutable d'une image. Il est
possible de créer, démarrer, arrêter, déplacer ou supprimer un
conteneur à l'aide de l'API Docker ou de la CLI et de connecter
un conteneur à un ou plusieurs réseaux, d'y attacher un
stockage ou même de créer une nouvelle image en fonction de
son état actuel.
Docker Compose pour gérer des applications multi-conteneurs, où tous les
conteneurs s'exécutent sur le même hôte Docker. Docker Compose crée un fichier
YAML (.YML) qui spécifie les services inclus dans l'application et peut déployer et
exécuter des conteneurs avec une seule commande.
15. 03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Division de l’application en conteneurs
1- Wordpress : contient les fichiers
de configuration du site (Apache2)
en plus des fichiers du frontend du
site web.
2- Mysql_database : contientr toute
la base de données.
3- PhpMyAdmin : contient l’outil
PhpMyAdmin pour la gestion de la
base de données.
16. Fixer les erreurs
Transférer les fichiers et la base de données de
l’application vers les conteneurs
Créer et exécuter les fichier Dockerfile et docker-
compose.yaml
Processus de containerisation
17. 03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Réalisation de la phase de conteneurisation
Dockerfile
Docker-compose.yaml
18. 03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Après la réussite de l’exécution de tous Les commandes
40%
19. 03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Après le transfert et la configuration des fichiers WordPress et base de données
80%
30. Déploiement avec Kubernetes.
une plateforme d’orchestration de conteneurs open source
initialement conçue par Google pour gérer ses conteneurs.. Il
possède généralement une architecture de nœuds
constructeurs et de nœuds ouvriers, divisée en pods, espaces
de noms, cartes de configuration, etc.
31. 03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
• Il prend en charge tous les systèmes d’exploitation.
• Il est automatisé et possède une capacité d’auto-réparation qui permet
une mise à l’échelle automatique.
• Il dispose d’une surveillance intégrée et d’un large éventail
d’intégrations disponibles.
• Il est proposé par les trois principaux fournisseurs de cloud computing :
Google, Azure et AWS.
• En raison de son large soutien communautaire et de sa capacité à gérer
les scénarios de déploiement les plus complexes, Kubernetes est
souvent le choix numéro un des équipes de développement d’entreprise
qui gèrent des applications basées sur des microservices.
Les avantages de Kubernetes :
32. Concepts de kubernetes
Cluster Pod Service Volumes
Namespace
est un ensemble de
ressources de
stockage et de mise
en réseau d'hôtes
que Kubernetes
utilise pour exécuter
les différentes
charges de travail
qui composent un
système.
se compose d'un
conteneur
supplémentaire,
avec un réseau et
un stockage
partagé et des
instructions sur la
façon d'exécuter
les conteneurs
Les services sont utilisés
pour exposer certaines
fonctionnalités aux
utilisateurs ou à
d'autres services.
Ils prennent en charge
les variables nécessaires
à la
communication : une
adresse IP, des ports ..
pour conserver les
données entre les
redémarrages et les
catastrophes système.
Pour que le PV puisse
être utilisé, un
PersistentVolumeClaim
(PVC) doit être créé. Leur
travail consiste à relier le
PV au conteneur
pour lequel le PVC est
configuré.
des clusters virtuels
appelés espaces de
noms. Ils
sont utilisés pour
séparer les différentes
versions de
l'application, telles que
les versions de
développement et de
production. Ceci afin
d'assurer d'éventuelles
confusions entre les
versions.
34. 03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Pendant la phase de
déploiement, on va avoir
un Namespace -
Wordpress- où il y a trois
objets de déploiement
name_deployement.ya
ml , un pour chaque pod
-container- ,ces objets
ont pour objectif de
dupliquer les pods -
ReplicaSet- ,ainsi il est
relié à un volume qui
existe dans le server, ce
volume est de type pvc,
pour relier entre ces
objets on utilise les deux
services un de types
ClusterIP et l’autre de
type NodePort pour le
WordPress.
Modélisation de la phase de déploiement
35. Configurer les ressources Kubernetes .
Créer les ressources Kubernetes de déploiement
avec Kompose.
Créer un cluster local avec minikube
Processus de déploiement
Accéder au Kubernetes Dashboard
Créer namespace Wordpress et lui transférer les
ressources
37. 03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Créer les ressources Kubernetes de déploiement
avec Kompose
Kompose est un outil de conversion de tout ce qui
compose (notamment Docker Compose) en orchestrateurs de
conteneurs (Kubernetes ou OpenShift).
38. 03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Créer les ressources Kubernetes de déploiement
avec Kompose
39. 03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Créer namespace Wordpress et lui transférer les
ressources
40. Service de type ClusterIP
Le service de type ClusterIP est
le service par défaut de Kubernetes.
Il donne un service à l’intérieur du
cluster. Les pods à l’intérieur du
même cluster peuvent utiliser ce
service pour y accéder. Le service de
type ClusterIP ne propose pas d’accès
externe.
Service de type NodePort
Un service NodePort est le moyen
le plus simple d’aiguiller du trafic externe
directement vers un Pod. NodePort,
comme son nom l’indique, ouvre un port
spécifique sur tous les Nœuds (les VMs),
et tout trafic envoyé vers ce port est
transféré vers le service.
Configurer les ressources Kubernetes
les types de services de kubernetes
41. 03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
On a décidé de laisser tous les services en type ClusterIP
sauf le service WordPress qui est de type NodePort.
42. 03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Accéder au Kubernetes Dashboard
Kubernetes Dashboard est une interface utilisateur Web à usage général
pour les clusters Kubernetes. Il permet aux utilisateurs de gérer les
applications exécutées dans le cluster et de les dépanner, ainsi que de gérer
le cluster lui-même.
45. Autres Taches Réalisés Pendant la période de
stage Création des backups des différents contenus du VPSs dans un S3 bucket à
partir de différents scripts.
Automatiser ces backups avec (Crontab -e) pour sauvegarder chaque jour,
chaque semaine et chaque mois.
Restaurer ces backups selon la demande des développeurs.
Créer une vidéo Démo/tutorial pour tout le travail réalisé pendant la
période de stage pour que les autres peuvent refaire le même travail.
46. Conclusion
L'objectif du projet était de créer une image et des
conteneurs Docker de l'application Odhiya et de la
déployer sur Kubernetes. L'objectif a été atteint et la
version test de l'application a été disponible pendant le
temps imparti. L'étape suivante consisterait à utiliser les
fichiers existants créés au cours du processus
d'automatisation et de déploiement dans un
environnement de production réel.