Template Final Rapport Stage ISTIC 1 1 [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Table des matières 1 Etudes Préalable 1.1 Introduction . . . . . . . . . . . . . . . . . . 1.2 Présentation de l’entreprise d’accueil : OCT 1.2.1 position géographique . . . . . . . . 1.2.2 fiche d’identité . . . . . . . . . . . . 1.3 Cahier de charge . . . . . . . . . . . . . . . 1.3.1 Context générale de projet . . . . . . 1.3.2 Objectif . . . . . . . . . . . . . . . . 1.4 Conclusion . . . . . . . . . . . . . . . . . . .

. . . . . . . .

1 1 1 1 2 2 2 2 3

. . . . . . . . . . . .

4 4 4 4 4 5 5 5 6 7 7 7 7

3 Présentation du l’environment du travail 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8 8

4 Réalisation 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9 9 9

2 DevOps 2.1 Introduction . . . . . . 2.2 DevOps . . . . . . . . 2.2.1 Histoire . . . . 2.2.2 définition . . . 2.3 les outils de DevOps . 2.3.1 Docker . . . . . 2.3.2 kubernernetes . 2.4 Microservices . . . . . 2.5 Prometheus et Grafana 2.5.1 Prometheus . . 2.5.2 Grafana . . . . 2.6 Conclusion . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . .

. . . . . . . . . . . .

. . . . . . . .

. . . . . . . . . . . .

. . . . . . . .

. . . . . . . . . . . .

. . . . . . . .

. . . . . . . . . . . .

. . . . . . . .

. . . . . . . . . . . .

. . . . . . . .

. . . . . . . . . . . .

. . . . . . . .

. . . . . . . . . . . .

. . . . . . . .

. . . . . . . . . . . .

. . . . . . . .

. . . . . . . . . . . .

. . . . . . . .

. . . . . . . . . . . .

. . . . . . . .

. . . . . . . . . . . .

. . . . . . . .

. . . . . . . . . . . .

. . . . . . . .

. . . . . . . . . . . .

. . . . . . . .

. . . . . . . . . . . .

. . . . . . . .

. . . . . . . . . . . .

. . . . . . . .

. . . . . . . . . . . .

Conclusion Générale

10

Annexe 1, Les candidats classés par ordre alphabétique

12

Netographie

12

i

Table des figures 1.1 1.2

Logo de l’entreprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Position géographique de l’OCT . . . . . . . . . . . . . . . . . . . . . . . .

1 2

2.1 2.2 2.3 2.4 2.5

concept de DevOps . . . . . Container vs VM . . . . . . architecture de Kubernetes architecture de microserveur architecture de microserveur

4 5 6 6 7

. . . . .

. . . . .

. . . . .

. . . . .

ii

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

Liste des tableaux 1.1 1.2

Attribution des points en fonction du nombre de projets culturels réalisés . Fiche d’identité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

iii

2 2

Chapitre 1 Etudes Préalable 1.1

Introduction

Dans le premier chapitre, nous présenterons le cadre général du projet. en premier lieu ,nous présenterons l’organisation où nous effectuons le stage, puis nous continuons l’étude du cahier des charges et des objectifs de notre projet.

1.2

Présentation de l’entreprise d’accueil : OCT

OCT est une entreprise publique rattachée au Ministère du Commerce, créée en 1962 sous le nom de l’Office Tunisien du Commerce. C’est un établissement public industriel et commercial spécialisé dans l’importation de produits alimentaires de consommation tunisiens Elle a mené toutes les activités commerciales pour le compte du pays pour réguler l’offre et la demande et assurer les systèmes de production.

Figure 1.1 – Logo de l’entreprise

1.2.1

position géographique

1

Chapitre 1. Etudes Préalable

1.3. Cahier de charge

la figure (1.2) nous montre la position géographique de l’OCT

Figure 1.2 – Position géographique de l’OCT

1.2.2

fiche d’identité

Ce tableau présente la fiche d’identité de l’OCT Table 1.1 – Attribution des points en fonction du nombre de projets culturels réalisés Nom de l’entreprise Office du Commerce de Tunisie Directeur Elyess Ben Amor Création 1962 Activité Commercialisation des produits de base E-mail [email protected] Adresse 65, rue de Syrie 1002 Tunis Téléphone 71 800 040 Fax 71 788 974 Table 1.2 – Fiche d’identité

1.3

Cahier de charge

Dans cette partie nous allons présenter le contexte générale , l’objectifs de notre projet

1.3.1

Context générale de projet

Afin de protéger les données de l’entreprise, oct développe des projets basés sur la sécurité et la disponibilité des applications, Pour cela, nous avons adopté un projet connecté pour sécuriser et assurer la disponibilité des données.

1.3.2

Objectif

Notre projet vise à tester la solution localement, Cette solution s’appuie sur Docker et Kubernetes pour garantir HA (haute disponibilité). L’objectif est d’utiliser des solutions 2

Chapitre 1. Etudes Préalable

1.4. Conclusion

open source pour réduire les coûts. Finalité de projet -Migrer les applications vers Kubernetes - Surveillance des applications -Exécution automatisée

1.4

Conclusion

Dans ce chapitre, nous avons fourni le cadre et les spécifications de notre projet, donc dans le chapitre suivant, nous parlerons de Dev Ops et de ses outils.

3

Chapitre 2 DevOps 2.1

Introduction

Dans ce deuxiéme chapitre ,nous allons dévélopper notre connaissance générale sur DevOps , son histoire , ses outils, son meilleur partenaire microservices, les services grafana et prometheus.

2.2

DevOps

2.2.1

Histoire

De nombreuses méthodes DevOps qui simplifient le développement et le déploiement de logiciels reposent sur des modèles agiles et une programmation lean. L’évolution du DevOps est née de plusieurs mouvements nés de la volonté de coordonner les activités des développeurs et des équipes opérationnelles. Au début des années 2000, le maintien de la disponibilité était devenu une nécessité pour des sites comme Google et Flickr, et ces sites devenaient de plus en plus populaires. Ensuite, les ingénieurs en fiabilité logicielle (SRE) ont commencé à travailler en étroite collaboration avec les développeurs pour s’assurer que ces sites peuvent continuer à fonctionner une fois le code en production.

2.2.2

définition

DevOps est une combinaison de concepts culturels, de pratiques et d’outils qui peuvent améliorer la capacité d’une entreprise à fournir des applications et des services à un rythme élevé. Par rapport aux entreprises qui utilisent des processus de développement de logiciels et de gestion d’infrastructure traditionnels, il peut évoluer et optimiser les produits plus rapidement. Cette rapidité permet à l’entreprise de mieux servir ses clients et de gagner en compétitivité.

Figure 2.1 – concept de DevOps

4

Chapitre 2. DevOps

2.3

2.3. les outils de DevOps

les outils de DevOps

nous devons utiliser deux outils de de devops : docker et kubernetes

2.3.1

Docker

Docker est une technologie utilisée pour gérer les conteneurs virtuels et y connecter des services. Le but du conteneur est de fournir un environnement isolé et léger pour l’exécution des applications. Cela facilite le déploiement de cette application sur n’importe quel serveur. Le conteneur peut être représenté sous la forme d’une boîte UNIX. Un conteneur est beaucoup plus petit qu’une machine virtuelle (VM) car il n’a plus de couche de système d’exploitation. Contrairement aux machines virtuelles, les conteneurs ne virtualisent pas le matériel tel que les machines virtuelles. Ils sont directement liés à la VM du noyau du système d’exploitation car il n’y a pas de hiérarchie entre eux. Cela permet aux conteneurs de partager leurs bibliothèques. (Voir la figure 1 : conteneur vs machine virtuelle) “Docker don’t use hardware virtualization. Programs running inside Docker containers interface directly with the host Linux Kernel.”

Figure 2.2 – Container vs VM Avec l’aide de Namesspace de Linux, l’isolation de ces conteneurs est activée.

2.3.2

kubernernetes

Kubernetes est une plate-forme open source développée et conçue par les ingénieurs de Google elle peut exécuter automatiquement des opérations de conteneur Linux. Il élimine de nombreux processus manuels associés au déploiement et à la mise à l’échelle des applications conteneurisées En d’autre terme, Kubernetes fournit les outils d’orchestration et de gestion nécessaires pour déployer des conteneurs à grande échelle pour ces charges de travail. La fonctionnalité d’orchestration de Kubernetes permet de créer des services d’application sur plusieurs conteneurs, de planifier ces conteneurs pour qu’ils s’exécutent dans un cluster, de les mettre à l’échelle et de gérer leur santé au fil du temps. Avec Kubernetes, nous pouvons prendre des mesures spécifiques pour améliorer la sécurité informatique. Donc, Cette plate-forme doit pouvoir s’intégrer au réseau, au stockage, à la sécurité, à la télémétrie et à d’autres fonctions pour fournir une infrastructure de conteneur complète.

5

Chapitre 2. DevOps

2.4. Microservices

Figure 2.3 – architecture de Kubernetes

2.4

Microservices

Les microservices sont une approche architecturale pour le développement d’applications. La différence entre l’architecture de microservice et l’approche monolithique classique est qu’elle décompose une application pour isoler ses fonctions clés. Chacune de ces fonctions est appelée «service», et ces services peuvent être développés et déployés indépendamment les uns des autres. Par conséquent, chaque fonction peut fonctionner (ou mal fonctionner) sans affecter les autres fonctions. “Domain-driven design, Continuous delivery. On demand virtualization, infrastructure automation. Small autonomous teams. Systems at scale. Microservices have emerged from this world.” La raison pour laquelle les microservices peuvent résoudre ce problème est qu’ils sont tous autonomes, de petite taille, faciles à modifier, à déploiement indépendant et donc évolutifs ! Ils sont déployés dans des conteneurs virtuels et communiquent entre eux à l’aide du protocole REST. De cette façon, vous pouvez réagir plus rapidement aux changements commerciaux, répondre plus rapidement à la concurrence, établir une meilleure collaboration et évoluer horizontalement pour DevOps, il n’est donc pas nécessaire d’augmenter la capacité du serveur CPU pour sauvegarder l’infrastructure.

Figure 2.4 – architecture de microserveur 6

Chapitre 2. DevOps

2.5 2.5.1

2.5. Prometheus et Grafana

Prometheus et Grafana Prometheus

Prometheus est un logiciel open source créé par la plateforme musicale SoundCloud, Le logiciel est un outil de surveillance des événements open source pour les conteneurs ou les microservices. Prometheus collecte des données numériques basées sur des séries chronologiques. Le serveur Prometheus fonctionne selon le principe de l’exploration. Cela appellera les métriques de point de terminaison pour chaque nœud qui a été configuré pour surveiller. Ces métriques sont collectées avec des horodatages réguliers et stockées localement. Le point de terminaison à supprimer est exposé sur le nœud.

Figure 2.5 – architecture de microserveur

2.5.2

Grafana

Grafana est un logiciel de visualisation multiplateforme qui peut nous fournir des graphiques, c’est-à-dire des graphiques réseau connectés à des sources de données. Prometheus a sa propre phrase de navigateur intégrée, mais Grafana est le logiciel de visualisation le plus puissant du secteur. Grafana a une intégration facile avec Prometheus.

2.6

Conclusion

Dans ce deuxième chapitre, nous avons amélioré nos connaissances sur les Dev Ops et les outils que nous utilisons pour mener à bien notre projet. Le prochain chapitre présentera le processus de la réalisation de notre application.

7

Chapitre 3 Présentation du l’environment du travail 3.1

Introduction

Il est trés important de déterminer la sélection matérielle et logicielle des fonctions prévues pour s’assurer qu’elle correspond au système à produire correctement. Par conséquent, ce chapitre détaille et décrit brièvement tout les composants utilisés dans ce projet.

8

Chapitre 4 Réalisation 4.1

Introduction

4.2

Installation

9

Conclusion Générale Nous espérons que ce document vous a aidé à rédiger votre rapport convenablement. Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les 10

Conclusion Générale

étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex. Ce document vise à aider les étudiants à rédiger des rapports en Latex.Ce document vise à aider les étudiants à rédiger des rapports en Latex.

11

Annexe 1

12