Vous êtes sur la page 1sur 83

Année Académique : (2021-2022)

Identifiant : (2020-0177)

RAPPORT DE STAGE DE LICENCE PROFESSIONNELLE

Stage effectué à l’entreprise TELIA INFORMATIQUE du 17 juillet au 17 novembre 2023


- Ouagadougou -

THEME :

ETUDE ET MISE EN PLACE D’UNE ARCHITECTURE HAUTEMENT DISPONIBLE,


RESILIENTE, ET PERFORMANTE POUR TELIA ERP.

Soutenu publiquement le 01/11/23 par : KABORE TIGWENDE Timothée


Pour l’obtention du diplôme de : LICENCE PROFESSIONNELLE EN INFORMATIQUE

Option Réseau Informatique et Télécommunication

Directeur de stage Maître de stage


SEBEGO Raaga DARGA Joris
Enseignant à ESUPEX Ing. Réseaux et Systèmes
Composition du jury
Président
Nom et Prénom(s)
Titre
Membres
Nom et Prénom(s), Titre
Nom et Prénom(s), Titre
Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Dédicace

Je dédie ce travail à ma famille.

Présenté par KABORE T. Timothée 2022-2023 ii


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Remerciements
Avant tout propos, nous tenons à remercier les personnes qui nous ont permis d’effectuer ce
travail ainsi que ceux qui nous ont permis d’en faire un moment agréable et profitable. Nous
remercions donc :
Le Directeur Général d'ESUPEX
Pour sa gestion avisée de l'école ;

Le Directeur académique de l'ESUPEX


Pour son engagement dans la formations des étudiants ;

Les membres du jury


Pour la disponibilité et l’évaluation qu’il apporte à notre travail ;

Le Directeur Général M. PARE Lancina


Pour m’avoir accepté comme stagiaire au sein de son entreprise ;

Les enseignants de notre cursus scolaire


Pour le sacrifice et le travail abattu pour notre apprentissage ;

Le Directeur Technique M. OUEDRAOGO Issa


Pour ses encouragements ;

Notre maitre de stage M. DARGA Joris


Pour sa disponibilité et son implication réelle dans l’élaboration de notre rapport ;

Notre professeur de suivi, M. SEBEGO RAAGA


Pour sa disponibilité et son apport dans rédaction de notre rapport ;

Enfin nous remercions tous ceux qui ont contribué de près ou de loin à l’élaboration de notre
travail ;

Présenté par KABORE T. Timothée 2022-2023 iii


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Sigles et abréviations

Amazon ECS : Elastic Container Service

API: Application Programming Interface

BTS : Brevet Technicien Supérieur

CDN : Content Delivery Networks

DAF: Direction Administrative et Financière

DEP: Direction des Etudes et Programmation

DHCP: Dynamic Host Control Protocol

DM: Direction Marketing

DRS: Direction Réseaux et Système

ESUPEX: École Supérieure Polytechnique Excelle

HA: High Availability (haute disponibilité)

IFU: Identification Fiscale Unique

LAN : Local Area Network(Réseau Local)

Microsoft AKS: Microsoft Azure Kubernetes Service (AKS)

NAS : Network Attached Storage

RBAC : RBAC (Role-Based Access Control)


RHEL: Red Hat Enterprise Linux

SARL: Société A Responsabilité Limitée

SPOF: Single Point of Failure

SQL: Structured Query Language (Langage de Requête Structuré)

TELIA-CID : Circuit Intégré des Dépenses

TELIA-CIR : Circuit Intégré de Recette

Présenté par KABORE T. Timothée 2022-2023 iv


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

TELIA-ERP: Entreprise Resource Planning (Planification des ressources de


l'entreprise)

TELIA-LPCE: Logiciel des Postes Comptables à l'Étranger

TELIA-SGDF : Système de Gestion des Dépôts de Fonds

TELIA-SIFE : Système d'Information Financière de l'État

TELIA-SIVI : Solution de Gestion des Valeurs Inactives

TLS : Transport Layer Security


VM: Virtual Machine(Machine Virtuelle)

Présenté par KABORE T. Timothée 2022-2023 v


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Résumé

La présente étude porte sur la mise en place d’une architecture hautement disponible, résiliente
et performante pour Telia ERP. L’objectif principal de ce projet est de garantir la disponibilité
continue du système ERP tout en minimisant les interruptions de service pour TELIA. Pour cela
nous avons utilisé docker et kubernetes pour palier au problème. En effet docker est une
plateforme de conteneurisation permettant d'emballer une application et ses dépendances dans
un conteneur, assurant ainsi la portabilité et l’isolation. Kubernetes, d'autre part, est un
orchestrateur de conteneurs facilitant la gestion, le déploiement et la mise à l'échelle des
conteneurs. Pour ce faire, nous avons utilisé un cluster kubernetes composé de quatre(04)
serveurs (nœuds/nodes) dont deux(02) nœuds maitres(master nodes)/ et deux(02) nœuds
esclaves(worker nodes). En fin de compte, cette architecture permet de garantir la satisfaction
des utilisateurs de TELIA ERP en leur offrant une expérience d'utilisation fluide et sécurisée.

Mots clés : Docker, kubernetes, cluster, haute disponibilité, odoo.

Abstract
This study focuses on the implementation of a highly available, resilient and efficient
architecture for Telia ERP. The main objective of this project is to ensure the continuous
availability of the ERP system while minimizing service interruptions for Telia. For this we
used Docker and Kubernetes to overcome the problem. Indeed, Docker is a containerization
platform allowing you to package an application and its dependencies in a container, thus
ensuring portability and isolation. Kubernetes, on the other hand, is a container orchestrator
making it easier to manage, deploy, and scale containers. To do this, we used a Kubernetes
cluster composed of four (04) servers (nodes) including two (02) master nodes (master nodes)
and two (02) slave nodes (worker nodes). Ultimately, this architecture ensures the satisfaction
of TELIA ERP users by offering them a smooth and secure user experience.

Keywords: Docker, kubernetes, cluster, high availability, odoo.

Présenté par KABORE T. Timothée 2022-2023 vi


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Liste des figures

Figure 1:Organigramme de TELIA INFORMATIQUE ............................................................. 7


Figure 2:L’architecture du réseau local de Telia Informatique .................................................. 9
Figure 3:Architecture logicielle de Telia Informatique avant la mise en place de notre solution
.................................................................................................................................................. 11
Figure 4:L’architecture logicielle après la mise en place de la solution .................................. 17
Figure 5:Planning de notre stage .............................................................................................. 19
Figure 6: logo de docker........................................................................................................... 27
Figure 7: logo de kubernetes .................................................................................................... 29
Figure 8: Schéma illustratif du fonctionnement d'un cluster kubernetes ................................. 36
Figure 9:Architecture de notre cluster kubernetes ................................................................... 37
Figure 10:interface qui montre la présence de notre db_image dans le repository .................. 45
Figure 11:interface qui montre la présence de notre app_image dans le repository ................ 46

Présenté par KABORE T. Timothée 2022-2023 vii


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Liste des tableaux

Tableau 1:Tableau comparatif des technologies de gestion de conteneurs .............................. 33


Tableau 2:Informations sur les serveurs du cluster .................................................................. 37
Tableau 3:Tableaux des coût du projet ..................................................................................... 57

Présenté par KABORE T. Timothée 2022-2023 viii


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Introduction générale
La gestion des systèmes d'information s'est métamorphosée en un élément critique de la
productivité et de la sécurité au sein des organisations modernes. Dans un paysage
technologique en perpétuelle évolution, la surveillance des infrastructures informatiques revêt
une importance capitale, garantissant non seulement la continuité des activités, mais aussi la
prévention des défaillances coûteuses. L'évolution rapide des réseaux informatiques au sein des
entreprises a accentué les risques liés aux interruptions, soulignant l'impératif d'une
maintenance préventive proactive.
À l'ère où nos interactions et nos opérations sont de plus en plus dépendantes des technologies,
maintenir des systèmes informatiques fonctionnels et performants revêt une importance
critique. La défaillance d'un composant, qu'il soit matériel ou logiciel, peut avoir des
répercussions immédiates et durables sur la productivité et la réputation d'une organisation.
Dans ce contexte, la surveillance des systèmes d'information devient une nécessité
incontournable pour garantir un fonctionnement ininterrompu.
C'est dans ce sens que s'inscrit notre projet de fin de cycle, centré sur le thème : "Etude et mise
en place d'une architecture hautement disponible, résiliente et performante pour TELIA
ERP." Face aux défis constants de la connectivité et de l'évolution des attentes des utilisateurs,
notre projet se positionne comme une réponse à la quête perpétuelle d'efficacité opérationnelle
et de fiabilité. Dans un environnement où la disponibilité des applications et des services est
devenue essentielle pour maintenir une compétitivité solide, l'architecture que nous
envisageons va au-delà de la simple mise en place technique. Elle représente une réponse aux
besoins actuels et futurs des entreprises et organisations, qui cherchent à offrir des expériences
utilisateurs sans faille tout en préparant leurs systèmes pour les défis à venir.
Au cours des chapitres qui suivent, nous aborderons d’abord en détail notre démarche pour
concevoir et déployer cette architecture moderne et robuste. En plus, nous explorerons les
fondements de la supervision, étudierons les concepts de conteneurisation à l'orchestration de
Docker et Kubernetes. Et enfin, nous plongerons dans les détails de la conception, du
développement et des tests. Notre projet se veut non seulement un travail académique, mais
également un engagement envers l'amélioration continue des systèmes informatiques dans le
contexte dynamique de notre époque.

Présenté par KABORE T. Timothée 2022-2023 1


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Chapitre I : Présentation de la structure de formation et d'accueil

Introduction partielle

Dans le cheminement menant à l'obtention du diplôme d'Ingénieur de Travaux, le chapitre à


venir représente une étape cruciale, reliant le monde académique à la réalité professionnelle.
Dans ce chapitre, nous explorerons en détail l'École Supérieure Polytechnique Excelle
(ESUPEX) et l’entreprise TELIA INFORMATIQUE.

1. Présentation de la structure de formation


1.1.Description de l'établissement de formation

L’Ecole Supérieure Polytechnique Excelle (ESUPEX) a été créée en 2016 avec l'autorisation
du Ministère des Enseignements Secondaires Supérieurs, de la Recherche Scientifique et de
l'Innovation. Elle fonctionne de manière laïque et indépendante, se tenant à l'écart de toute
influence politique, religieuse ou idéologique. L’ESUPEX met l'accent sur l'objectivité du
savoir tout en respectant la diversité des opinions et des modes de vie.

Située à Ouaga 2000, sur le boulevard Muammar KADDAFI derrière l'Assurance Maladie
Universelle et partageant un mur avec le Lycée Privé Excelle 2000, l'établissement est sous la
direction du Fondateur KASSOUM MANLY, possédant une solide expertise dans la gestion des
établissements d'enseignement. L'école a reçu l'agrément de l'État sous le numéro 001063
MESRSI/ SG/DGESup/DIPES en date du 19/09/2016.

Afin d'élaborer son programme pédagogique, l'ESUPEX a collaboré avec des institutions
universitaires expérimentées telles que l'Université NAZI BONI de Bobo Dioulasso, l'Ecole
Supérieure des Travaux Pratiques de Bobo Dioulasso et l'Université Privée Ahmed BABA de
Bamako.

L'objectif central derrière la fondation de l'École Supérieure Polytechnique Excelle est de


dispenser des formations qualifiantes, répondant aux besoins nationaux et sous régionaux dans
les domaines à haute technicité ainsi que dans les sciences de gestion. Actuellement, ESUPEX
propose aux nouveaux bacheliers la possibilité de suivre deux ou trois années d'études
supérieures dans les domaines scientifiques, menant à l'obtention du diplôme de Brevet
Technicien Supérieur (BTS) pour les intéressés, ainsi que du diplôme d'Ingénieur de Travaux,
ouvrant les portes de la vie professionnelle.

Présenté par KABORE T. Timothée 2022-2023 2


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

1.1.1. Organisation et fonctionnement


L'Ecole Supérieure Polytechnique Excelle est structurée autour des éléments suivants :

 Les membres ayant le pouvoir de délibération :

-Le Fondateur, qui préside le conseil d'administration ;


-L'ensemble des associés.
 Les membres ayant un rôle consultatif :

-Le Directeur Général ;


-Deux enseignants permanents ;
-Le commissaire de compte ;
-Le directeur de l’administration et des finances.
 Directions :

-La Direction Générale ;


-La Direction Générale adjointe chargée de l’assurance qualité ;
-La Direction Académique ;
-La Direction de la Scolarité et des Examens ;
-La Direction de l’Administration et des Finances ;
-La Direction de la Comptabilité.

1.1.2. Les filières de formation de ESUPEX


L’Ecole Supérieure Polytechnique Excelle propose cinq filières de formation :

 Electrotechnique, avec les spécialisations en troisième année :

-Distribution énergétique ;
-Performances énergétiques ;
-Energie solaire ;
-L’électrotechnique.
 Réseaux Informatiques et Télécommunications, avec les spécialités suivantes :

-Système d’information et réseaux ;


-L’administration système.
 Electronique et Informatique Industrielle, avec les spécialités suivantes :

-Systèmes automatisés ;

Présenté par KABORE T. Timothée 2022-2023 3


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

-Réseaux industriels.
 Système d’Information et Réseaux

 Génie Civil

Ces filières visent à offrir une variété de domaines d'études aux étudiants, allant de
l'électrotechnique à l'ingénierie civile, en passant par l'électronique et l'informatique
industrielle, ainsi que les réseaux informatiques et les systèmes d'information.

Pour accéder à ces formations de qualité à ESUPEX, les candidats doivent être titulaires du
diplôme de baccalauréat des séries (C, D, E, F et H), ou d'un équivalent.

ESUPEX propose deux (2) modalités pour dispenser ses cours à ses étudiants :

 Enseignement en présentiel ;
 Cours en ligne (lancés en 2022).

Parmi les avantages d'étudier à ESUPEX, on peut notamment citer :

 Une équipe administrative expérimentée, compétente et dévouée ;


 Un corps professoral de haut niveau, issu de divers horizons ;
 Des laboratoires de travaux pratiques (Electrotechnique, Electronique, Génie civil,
Informatique) équipés de manière optimale ;
 Un environnement spacieux et des locaux appropriés ;
 Des partenariats avec des entreprises et d'autres grandes écoles et universités.

2. Présentation de la structure d’accueil


2.1.Historique

TELIA Informatique est une société à responsabilité limitée (SARL), créée en 2002 par deux
actionnaires avec un capital de 1 000 000 francs CFA. C’est une société de droit privé
enregistrée au registre de commerce du Burkina Faso sous le numéro BF OUA 2002 B 2440,
son numéro d’identification fiscale unique (IFU) est le 00007296 J, et son numéro sécurité
sociale est le N°33128J. Son siège social est situé au secteur 44 (ex 28) de Ouagadougou.

2.2.Missions et domaine d’activités


2.2.1. Les missions
La société TELIA s’est fixé huit principales missions qui sont :

Présenté par KABORE T. Timothée 2022-2023 4


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 Développer des applications informatiques pour l’accompagnement des établissements


publics et privés dans la bonne gestion des données ;
 Aider à la définition de plan d’amélioration globale des parcs informatiques et de leur
bon fonctionnement ;
 Guider dans le choix des produits et équipements informatiques ;
 Assurer au personnel des établissements publics et privés la formation indispensable
pour la maîtrise de l’évolution technologique ;
 Encourager et orienter la recherche d’information via l’Internet ;
 Mettre sur le marché une revue informatique à la portée des lecteurs fascinés de
comprendre l’informatique et ses astuces
 Mettre à la disposition du public des outils de reproduction de documents de qualité ;
 Vulgariser l’enseignement à distance.

2.2.2. Les domaines d’activités


Les domaines d’activités de TELIA concernent :

 L’audit et le conseil en Système d’Information (SI) ;


 La conception et la réalisation d’applications ;
 La conception et la réalisation de site web ;
 La gestion de projets ;
 Les appuis et conseils ;
 La conception et la mise en place d’un réseau local ;
 Le câblage réseau ;
 La conception et la réalisation d’un réseau sans fil (WI-FI, BLR) ;
 La conception et la mise en place des stratégies de sécurité.

La formation constitue une clé permanente et efficace pour atteindre des objectifs et individuels.
Conscient de cette importance, TELIA Informatique propose des séminaires de formation qui
couvrent plusieurs domaines d’activités allant de l’initiation au perfectionnement :

 Initiation à la bureautique ;
 Bureautique avancée ;
 Internet ;
 Maintenance réseau et système ;

Présenté par KABORE T. Timothée 2022-2023 5


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 Systèmes d’exploitation (Windows, Unix) ;


 Bases de données (Oracles, Access, Dbase, FoxPro) ;
 Programmation algorithme et les langages ;
 Entretien des équipements informatiques ;
 Outils de conception et de Publication assistée par ordinateur (CAO et PAO).

TELIA informatique entretient des relations très étroites avec d’importants grossistes en
informatique. Elle met à la disposition de ses clients une gamme variée de matériels et logiciels
de qualité dont :

 Des micro-ordinateurs ;
 Du matériel d’imagerie ;
 Des produits réseaux ;
 Des unités de sauvegardes ;
 Des logiciels et progiciels ;
 Des consommables.

TELIA propose également des contrats de maintenance hard et soft sur site ou à son atelier pour
un entretien préventif et le dépannage de tout matériel et logiciel.

L’objectif principal du directeur général est de développer l’ingénierie informatique de TELIA


INFORMATIQUE pour atteindre un niveau de conquête de marchés sous régionaux.

2.2.3. Organisation interne


Le personnel permanant de TELIA est reparti dans les différents directions de l’entreprise en
fonction des compétences de chaque employé et de sa stratégie de gestion mise en place.
Ainsi elle comporte cinq (5) directions à savoir :
 Une direction générale ;
 Une direction des études ;
 Une direction technique ;
 Une direction administrative et financière ;
 Une direction commerciale ;

Présenté par KABORE T. Timothée 2022-2023 6


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

2.3.Organigramme De TELIA INFORMATIQUE

Figure 1:Organigramme de TELIA INFORMATIQUE


Source : Archive de TELIA INFORMATIQUE

Conclusion
Ce chapitre a permis de comprendre en détail la structure de formation École Supérieure
Polytechnique Excelle (ESUPEX) et d'accueil TELIA INFORMATIQUE. Ces deux facettes
sont essentielles pour le développement des compétences et des connaissances des étudiants,
les préparant ainsi à relever les défis du secteur professionnel.

Présenté par KABORE T. Timothée 2022-2023 7


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Chapitre II : Etat des lieux de l'existant et démarche de résolution

Introduction partielle
Pour une meilleure étude de notre projet qui est la mise en place d’une architecture hautement
disponible, résiliente et performante, il est indispensable de se pencher sur l’architecture
matérielle et logicielle de TELIA. L’existant ici concerne le réseau informatique de TELIA.Ceci
nous permettra d’analyser le réseau existant afin d’avoir une vue objective dans l’optique
d’évaluer ses forces et faiblesses pour la réalisation de notre projet.

1. Description de l'infrastructure informatique existante


1.1.Architecture matérielle et logicielle
TELIA INFORMATIQUE a méticuleusement élaboré une infrastructure informatique robuste,
caractérisée par sa polyvalence et sa capacité à répondre efficacement aux besoins de
l'entreprise. L'entreprise a mis en place un réseau hybride, combinant une infrastructure filaire
et sans fil (Wi-Fi) offrant une excellente couverture du signal. Plus spécifiquement, son réseau
filaire est déployé de manière étendue dans l'ensemble de ses locaux grâce à l'utilisation de
câbles RJ45.

1.1.1. Le Matériel
L'architecture matérielle de TELIA INFORMATIQUE englobe divers éléments essentiels pour
ses opérations informatiques. Ces composants matériels sont soigneusement sélectionnés pour
répondre aux besoins de l'entreprise et incluent :

-Ordinateurs : TELIA dispose de plus de 20 ordinateurs de travail, chacun assigné à une


fonction spécifique. Ces ordinateurs proviennent de divers fabricants, notamment HP et DELL,
garantissant une variété de choix pour les employés.

-Serveurs : Les serveurs représentent le centre de l'infrastructure informatique de l'entreprise.


Ils sont utilisés pour héberger une gamme d'applications, de bases de données, de sites web et
de services cloud. Telia Informatique utilise un serveur ProLiant ML350 Génération 10 pour
héberger toutes ses applications ERP (Enterprise Resource Planning).

Présenté par KABORE T. Timothée 2022-2023 8


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

-Stockage : Un serveur NAS (Network Attached Storage) est mis en place à Telia Informatique
pour stocker et gérer les données de manière efficace. Ce serveur offre une capacité de stockage
évolutive et assure la redondance pour garantir la disponibilité des données.

- Périphériques Réseaux : Le réseau de TELIA est équipé de divers périphériques réseaux,


dont deux coffrets informatiques.Chacun de ces coffrets est équipé d'un switch Cisco SF 100-
24 de 24 ports, contribuant ainsi à la gestion du trafic réseau. De plus, un routeur DHCP est en
place pour assurer la connectivité à Internet, et une box Canalbox est utilisée. Enfin, des
caméras de surveillance sont déployées à divers endroits de TELIA INFORMATIQUE.

Présence sur le Cloud : Telia Informatique étend son infrastructure informatique au cloud, où
elle peut exploiter des ressources virtuelles pour diverses charges de travail. Cela peut inclure
des services d'hébergement, de stockage ou de calcul dans un environnement de cloud public
ou privé, offrant ainsi une flexibilité et une évolutivité supplémentaires

Figure 2:L’architecture du réseau local de Telia Informatique


Source : Archive de TELIA INFORMATQIUE

Présenté par KABORE T. Timothée 2022-2023 9


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

1.1.2. Le Logiciels

Outre le matériel, TELIA s'appuie sur des logiciels pour configurer et gérer son infrastructure
informatique. Les logiciels jouent un rôle central dans la définition des ressources informatiques
du réseau et l'exécution des diverses tâches. Parmi les logiciels utilisés par TELIA, on retrouve :
- Système d'exploitation Centos 7 : Il s'agit d'une distribution Linux open source basée sur les
sources du code de Red Hat Enterprise Linux (RHEL). Centos7 est principalement employé
comme système d'exploitation serveur, mais il est également utilisé sur des postes de travail,
notamment pour les développeurs au sein de TELIA.

- Système d'exploitation Windows : TELIA utilise un système d'exploitation Windows tant au


niveau des postes de travail (Windows Desktop) que des serveurs (Windows Server 2016).

- Odoo : TELIA s'appuie sur Odoo Framework pour le développement de ses logiciels. Odoo
est utilisé pour créer des modules, applications et logiciels personnalisés répondant aux besoins
spécifiques de l'entreprise.

-Python : Le langage de programmation utilisé par TELIA INFORMATIQUE

L'architecture logicielle de Telia Informatique vise à rationaliser et à automatiser ses processus


opérationnels tout en fournissant des données en temps réel pour une gestion proactive.

Présenté par KABORE T. Timothée 2022-2023 10


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Figure 3:Architecture logicielle de Telia Informatique avant la mise en place de notre solution
Source : données du terrain

1.2.Applications et services déployés


TELIA INFORMATIQUE a mis en place une vaste gamme d'applications et de services pour
répondre aux besoins variés de ses clients et partenaires. Les principales applications et services
déployés sont :

 TELIA SANTE : Une solution de Gestion qui vise à améliorer l'efficacité des
opérations hospitalières, la gestion des dossiers médicaux, et la coordination des soins
de santé.
 TELIA-COMPTA-PUBLIC : Un système de comptabilité intégré destiné à
l'administration publique, permettant une gestion précise des finances de l'État.

Présenté par KABORE T. Timothée 2022-2023 11


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 TELIA-CID : Le Circuit Intégré des Dépenses, une solution visant à rationaliser et à


contrôler les dépenses gouvernementales.
 TELIA-SGDF : Un système de gestion des dépôts de fonds, essentiel pour suivre les
mouvements financiers et garantir la transparence des opérations.
 TELIA-BANKING : Un système de gestion des financements, qui facilite la gestion
des prêts et des investissements.
 TELIA-SIFE : Le Système d'Information Financière de l'État, un outil crucial pour la
compilation et la présentation des données financières gouvernementales.
 TELIA-LPCE : Le Logiciel des Postes Comptables à l'Étranger, qui aide à gérer les
transactions financières internationales.
 TELIA-CIR : Le Circuit Intégré de Recette, qui contribue à la collecte efficace des
recettes.
 TELIA-ERP : Une solution d'Entreprise optimisant la gestion des ressources humaines
et des processus d'entreprise.
 TELIA-SYGEFOR : Une Solution de Gestion des Plans de Formation, permettant la
planification, la gestion et le suivi des programmes de formation.
 TELIA-SIVI : Une Solution de Gestion des Valeurs Inactives, pour la gestion efficace
des actifs inutilisés ou inactifs

2. Analyse critique du système informatique


2.1.Points forts et faiblesses
2.1.1. Points forts

Une bonne configuration du réseau : Telia Informatique dispose d'un réseau bien structuré,
comprenant à la fois une connectivité filaire et sans fil. Cela permet une connectivité fiable et
flexible pour les employés dans tout le bâtiment.

Un serveur ProLiant ML350 performant : Le choix d'un serveur de haute performance est
un atout majeur. Ce serveur est capable de gérer efficacement les charges de travail, y compris
l'hébergement de l'ERP et d'autres applications critiques.

Une imprimante performante : L'imprimante de haute qualité garantit une impression rapide
et précise des documents, ce qui est essentiel pour de nombreuses opérations.

Présenté par KABORE T. Timothée 2022-2023 12


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Deux switchs Cisco bien configurés : Les commutateurs Cisco SF 100-24 assurent une
connectivité réseau stable avec leurs 24 ports chacun, répartis dans les coffrets appropriés, ce
qui simplifie la gestion du réseau.

Un routeur DHCP : Le routeur DHCP facilite la distribution d'adresses IP aux appareils


connectés, garantissant ainsi une connectivité Internet fluide pour l'ensemble de l'entreprise.

2.1.2. Points faibles


ERP déployé sur un seul serveur virtuel : Un des points faibles majeurs est le déploiement
de l'ERP sur un seul serveur virtuel. Cela crée une vulnérabilité potentielle, car en cas de panne
du serveur virtuel ou du serveur physique sous-jacent, l'accès à l'ERP et d'autres applications
critiques peut être interrompu. Cela remet en question la haute disponibilité et la résilience du
système.

Globalement, Telia a mis en place une infrastructure informatique solide, mais il y a des
opportunités d'amélioration, notamment en renforçant la résilience de l'ERP et en évaluant les
processus de sauvegarde et de reprise après sinistre pour minimiser les temps d'arrêt potentiels.

3. Démarche de résolution et objectifs du stage


3.1.Plan d'action
Dans le cadre de notre plan d'action visant à améliorer la haute disponibilité et la résilience de
l'infrastructure de Telia Informatique, nous avons pris plusieurs mesures clés :

Mise en place de Docker et Kubernetes : Nous avons introduit Docker, une technologie de
conteneurisation, pour isoler notre application. Cette approche permet à l'application de
fonctionner de manière indépendante du système d'exploitation sous-jacent, éliminant ainsi les
problèmes de compatibilité entre le système d'exploitation et l'application. En parallèle,
l'intégration de Kubernetes nous permet de gérer de manière automatique la réplication des
conteneurs et d'assurer une disponibilité continue, même en cas de pannes des conteneurs
précédents.

Mise en place de serveurs de nœuds maîtres : Nous avons déployé deux serveurs de nœuds
maîtres. Ces serveurs jouent un rôle essentiel dans la gestion de la répartition de la charge, la
supervision des autres serveurs et nœuds, et la détection précoce des pannes. En cas de détection

Présenté par KABORE T. Timothée 2022-2023 13


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

d'une panne, ils informent immédiatement les deux autres serveurs pour qu'ils puissent créer de
nouveaux conteneurs automatiquement, garantissant ainsi la continuité des services. En plus si
l’un des nœuds maitres tombent en panne l’autre pourra prendre le relais pour maintenir la haute
disponibilité.

Mise en place serveurs esclaves : Pour héberger les conteneurs et minimiser les interruptions
de service, nous avons mis en place deux serveurs esclaves. Ils assurent la réplication des
conteneurs, ce qui renforce la résilience de notre infrastructure et garantit que les services
restent opérationnels en cas de défaillance matérielle ou de panne.

4. Justification du choix de docker et kubernetes


4.1.Présentation du thème

De nos jours, la digitalisation rapide transforme fondamentalement la façon dont les entreprises
opèrent. Cette transformation a incité de nombreuses entreprises, dont Telia Informatique, à
numériser leurs processus de travail pour simplifier la gestion de leur infrastructure
informatique. Telia Informatique se spécialise dans la création de logiciels de gestion,
d'applications et de sites web pour répondre aux besoins variés de ses clients. Avec la demande
croissante des entreprises pour des solutions informatiques performantes et fiables, Telia
Informatique a choisi de se tourner vers la haute disponibilité pour garantir le bon
fonctionnement de ses services et applications. C'est dans cette optique que le thème "Mise en
place d'une architecture hautement disponible, résiliente et performante pour TELIA ERP a été
choisi. Chaque composant de ce thème revêt une importance cruciale pour la réalisation réussie
du projet.

Architecture hautement disponible : Ce concept se concentre sur la garantie d'une


disponibilité continue et d'un temps de fonctionnement élevé, tout en évitant les interruptions
de service. Pour ce faire, Docker est utilisé pour encapsuler chaque composant de l'ERP dans
un conteneur, assurant ainsi une isolation complète des services. En cas de défaillance d'un
conteneur ou d'un nœud, les autres conteneurs continuent de fonctionner sans être affectés.
Kubernetes, de son côté, offre des mécanismes de réplication automatique pour les conteneurs,
s'assurant qu'il y a toujours suffisamment d'instances en cours d'exécution pour répondre aux
demandes des utilisateurs, même en cas de défaillance d'une ou plusieurs instances.

Présenté par KABORE T. Timothée 2022-2023 14


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Architecture résiliente : Cette approche vise à permettre au système de résister aux


défaillances et aux perturbations tout en ayant la capacité de se rétablir rapidement. Une fois
encore, Docker et Kubernetes jouent des rôles essentiels. Docker isole chaque composant dans
un conteneur, de sorte que si l'un des conteneurs échoue, les autres restent opérationnels,
minimisant ainsi l'impact sur l'ensemble de l'application. Kubernetes, de son côté, est capable
de détecter les défaillances des conteneurs ou des nœuds et d'agir en conséquence. Si un
conteneur échoue, Kubernetes peut automatiquement redémarrer le conteneur défaillant ou en
créer un nouveau pour le remplacer, assurant ainsi la résilience de l'application.

Architecture Performante : Enfin, la performance est un élément crucial de cette initiative.


Elle se traduit par la rapidité d'exécution des systèmes et l'efficacité de l'utilisation des
ressources. Docker contribue à cette performance en proposant des conteneurs légers qui
n'exigent pas de ressources supplémentaires pour exécuter un système d'exploitation complet.
Ces conteneurs sont rapides à démarrer par rapport aux machines virtuelles traditionnelles.
Kubernetes, de son côté, offre la possibilité de mettre à l'échelle automatiquement les
conteneurs en fonction de la demande du trafic, garantissant ainsi des performances optimales
en adaptant les ressources en temps réel.
4.2.Problématique
Telia Informatique, en tant que société d'ingénierie et intégrateur de solutions, a pour ambition
de mettre à disposition ses applications à l'échelle mondiale et d'élargir son portefeuille client
en développant des solutions personnalisées pour répondre aux besoins variés des entreprises.
Cependant, l'entreprise est confrontée à un défi de taille : l'absence d'une architecture de haute
disponibilité capable d'héberger son ERP.Dans le contexte de cette problématique, Telia
Informatique envisage de déployer une architecture hautement disponible pour son ERP, afin
de gérer efficacement les fonctions essentielles de l'entreprise.Ainsi, la question centrale qui se
pose est la suivante : Comment concevoir et mettre en œuvre une architecture hautement
disponible, résiliente et performante pour la solution ERP, tout en garantissant la continuité des
opérations, la sécurité des données et la capacité d'évoluer pour répondre aux besoins en
constante évolution de l'entreprise ? Cette problématique englobe des aspects cruciaux tels que
la disponibilité, la résilience, la sécurité et l'évolutivité, qui sont essentiels pour assurer le succès
de ce projet ambitieux.

Présenté par KABORE T. Timothée 2022-2023 15


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

4.3.Résultats attendus pour TELIA ERP


Dans le cadre de la mise en place d'une architecture hautement disponible, résiliente et
performante pour TELIA ERP, plusieurs résultats sont attendus afin de garantir le succès du
projet. Ces résultats englobent divers aspects de l'infrastructure, de la sécurité, des performances
et de la continuité des opérations. Voici les principaux résultats attendus :

Infrastructure Robuste : TELIA ERP devrait reposer sur une infrastructure informatique
solide, comprenant des serveurs, des conteneurs Docker (si applicables), des nœuds Kubernetes
(si applicables), des commutateurs, un routeur, et éventuellement une architecture cloud.

Disponibilité Élevée : L'architecture mise en place doit garantir une disponibilité élevée de
TELIA ERP, permettant aux utilisateurs d'accéder aux fonctionnalités de l'ERP de manière
ininterrompue, même en cas de défaillance d'un composant.

Résilience : La résilience de l'architecture est essentielle. En cas de défaillance, le système doit


pouvoir récupérer rapidement et continuer à fonctionner normalement.

Sécurité Renforcée : Des mesures de sécurité avancées doivent être mises en place pour
protéger les données de l'entreprise et l'ensemble de l'infrastructure contre les menaces
potentielles. Cela inclut la sécurité des données, des communications et des accès.

Performances Optimal : TELIA ERP doit offrir des performances optimales en utilisant
efficacement les ressources disponibles, garantissant des temps de réponse rapides pour les
utilisateurs.

Évolutivité : L'architecture doit être évolutive pour s'adapter à la croissance de l'utilisation de


TELIA ERP. Elle doit permettre d'ajouter ou de supprimer des ressources en fonction de la
demande.

Redondance : La redondance des composants critiques doit être mise en place pour minimiser
les temps d'arrêt en cas de panne.

Surveillance et Gestion : Des outils de surveillance et de gestion avancés doivent être en place
pour surveiller en permanence l'état de l'infrastructure, détecter les problèmes potentiels, et
permettre une intervention proactive.

Présenté par KABORE T. Timothée 2022-2023 16


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Documentation Complète : Une documentation exhaustive de l'architecture, des procédures


de maintenance, et de récupération doit être disponible pour le personnel en charge de TELIA
ERP.

Formation du Personnel : Le personnel impliqué dans la gestion et la maintenance de TELIA


ERP doit être formé pour exploiter efficacement l'architecture hautement disponible, résiliente
et performante, en comprenant les technologies utilisées.

Satisfaction des Utilisateurs : En fin de compte, les résultats attendus visent à garantir la
satisfaction des utilisateurs de TELIA ERP en leur offrant une expérience d'utilisation fluide et
sécurisée.

4.3.1. L’architecture logicielle après la mise en place de la solution


Ainsi après la mise en place de la solution ,TELIA ERP devrais désormais être conteneuriser
et disponible à tout moment pour ses utilisateurs.

Figure 4:L’architecture logicielle après la mise en place de la solution


Source : données du terrain

Présenté par KABORE T. Timothée 2022-2023 17


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

4.4.Les acteurs du projet et le planning


La réussite d'un projet informatique repose sur l'implication d'acteurs compétents et
l'établissement d'un plan bien structuré. Dans le cadre de ce projet visant à mettre en place une
architecture hautement disponible, résiliente et performante pour TELIA ERP, plusieurs acteurs
clés ont un rôle crucial à jouer. Voici une présentation détaillée de ces acteurs et de l'échéancier
prévu pour le projet :

4.4.1. Acteurs du Projet


M. OUEDRAOGO Issa, Directeur Technique : En tant que Directeur Technique de Telia
Informatique, M. OUEDRAOGO est le responsable ultime du projet. Il apporte une vision
stratégique à l'initiative et assure la coordination globale du projet, en veillant à ce que les
objectifs soient atteints dans les délais impartis.

M. DARGA Joris, Ingénieur en Réseaux Informatiques : M. DARGA Joris joue un rôle central
en tant qu'Ingénieur en Réseaux Informatiques chez Telia Informatique. Il agit en tant que
maître de stage pour les étudiants impliqués dans le projet, fournissant une expertise technique
précieuse et supervisant notre travail au quotidien.

KABORE Timothée, Étudiant en troisième année à ESUPEX : KABORE Timothée apporte un


apport essentiel en tant qu'étudiant stagiaire. Il est chargé de participer activement à la mise en
place de l'architecture, d'acquérir une expérience pratique précieuse et de contribuer à l'atteinte
des objectifs du projet.

4.4.2. Planning du Projet


Le projet est planifié sur une période déterminée pour assurer une gestion efficace du temps et
des ressources. Voici un aperçu du planning préliminaire du projet :

Phase 1 : Analyse et Planification (18 Juillet-1er Août) : Cette phase initiale implique une
analyse approfondie des besoins, des exigences et des ressources disponibles. Elle comprend
également la définition des objectifs spécifiques du projet et la création d'un plan détaillé pour
la mise en place de l’architecture. C’est dans cette phase également que nous avons eu
l’occasion de rencontrer le personnel de TELIA et comprendre tout son fonctionnement

Phase 2 : Etude et compréhension (1er Août-25 Août) : Au cours de cette étape, nous avons
effectué des recherches approfondies sur tous les aspects théoriques du projet ou du thème afin
de le comprendre et de le cerner plus précisément, dans le but de le mener à bien.

Présenté par KABORE T. Timothée 2022-2023 18


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Phase 3 : Configuration de l'Infrastructure (21 Août-11 septembre) : Au cours de cette phase,


l'équipe travaillera sur la configuration de l'infrastructure nécessaire, y compris la mise en place
des serveurs, des conteneurs Docker (le cas échéant) et des nœuds Kubernetes (le cas échéant)
ainsi que l’installation de TELIA ERP sur l’infrastructure.

Phase 4 : Intégration et Tests (Semaines 7-10) : L'intégration de tous les composants sera
effectuée, suivie de tests exhaustifs pour s'assurer que l'architecture répond aux critères de
disponibilité, de résilience et de performance.

Phase 5 : Déploiement () : Une fois tous les tests réussis et le personnel préparé, l'architecture
sera déployée en production. Pour l’instant cela n’est pas en production. Donc cette phase n’est
pas pour maintenant.

Phase 6 : Suivi et Maintenance (2 octobre et au-delà) : Après le déploiement, le suivi continu


et la maintenance de l'architecture seront assurés pour garantir une disponibilité continue et des
performances optimales.

Phase 7 : Rédaction du rapport de stage (7Août – 25 septembre) :

Ce planning est sujet à ajustements en fonction de l'avancement réel du projet. Il vise à assurer
une gestion méthodique du projet, depuis la planification initiale jusqu'à la mise en production,
tout en garantissant la qualité des résultats obtenus.

Figure 5:Planning de notre stage


Source : données du terrain

Présenté par KABORE T. Timothée 2022-2023 19


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Conclusion
En conclusion, Telia Informatique a mis en place une infrastructure informatique
soigneusement conçue pour répondre à ses besoins opérationnels. Son réseau hybride,
composé à la fois d'une infrastructure filaire et d'une infrastructure sans fil, assure la
connectivité au sein de l'entreprise. Elle sert de fondation solide pour la réalisation du projet
visant à mettre en place une architecture hautement disponible, résiliente et performante.

Présenté par KABORE T. Timothée 2022-2023 20


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Chapitre III : Cadre théorique et conception de l'architecture avec docker


et kubernetes

Introduction partielle
La conception d'une architecture hautement disponible, résiliente et performante est une étape
cruciale dans notre démarche. Ce chapitre est dédié à l'exploration des principaux concepts
théoriques et à la mise en lumière des outils et technologies qui sous-tendent cette architecture
innovante.

1. Haute disponibilité et résilience dans les applications et ERP


1.1.Définition et enjeux
La Haute Disponibilité (HA) est un principe fondamental dans le domaine de l'architecture des
applications et des ERP. Elle se réfère à la capacité d'un système ou d'une application à rester
opérationnel et accessible à tout moment, 24 heures sur 24, 7 jours sur 7, avec un minimum
d'interruptions planifiées ou non planifiées. Cette disponibilité continue est cruciale pour
garantir la satisfaction des utilisateurs, maintenir la productivité des entreprises et éviter les
pertes financières liées à des temps d'arrêt imprévus. Les enjeux liés à la haute disponibilité
sont multiples et impactent directement la fiabilité et la performance des applications. Voici
quelques-uns de ces enjeux majeurs :

 Continuité des opérations


L'enjeu principal de la haute disponibilité est d'assurer la continuité des opérations, quelles que
soient les circonstances. Cela signifie que même en cas de pannes matérielles, de défaillances
logicielles ou de perturbations réseau, l'application doit rester opérationnelle ou être rapidement
rétablie pour minimiser les perturbations.

 Expérience utilisateur optimale


Les utilisateurs d'applications et logiciels s'attendent à une expérience fluide et réactive. Tout
temps d'arrêt ou ralentissement peut entraîner une frustration des utilisateurs, voire une perte
de clientèle. La haute disponibilité vise à garantir une expérience utilisateur optimale en
maintenant des temps de réponse rapides.

 Tolérance aux pannes

Présenté par KABORE T. Timothée 2022-2023 21


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Les systèmes informatiques ne sont pas à l'abri des pannes matérielles ou logicielles. La HA
vise à rendre un système capable de tolérer ces pannes sans impacter de manière significative
ses performances globales.

 Évolutivité
Les besoins en ressources d'une application web peuvent varier en fonction de la demande. La
HA doit permettre une évolutivité horizontale pour que l'application puisse s'adapter aux pics
de charge en ajoutant automatiquement des ressources.

 Gestion des mises à jour


Les mises à jour logicielles et les correctifs de sécurité sont essentiels pour maintenir un
système en bon état de fonctionnement. La HA doit permettre de mettre à jour les composants
de l'application sans provoquer de temps d'arrêt significatif.

 Sécurité
La sécurité des données et des opérations est une préoccupation majeure. La HA doit
s'accompagner de mesures de sécurité robustes pour protéger l'application contre les menaces
et les intrusions.

1.2.Approches et mécanismes pour la haute disponibilité


La haute disponibilité (HA) repose sur plusieurs approches et mécanismes visant à garantir la
disponibilité continue des applications. Voici les principales approches et mécanismes utilisés
pour atteindre cet objectif :
 Réplication des serveurs
La réplication consiste à créer des copies identiques d'un serveur ou d'une instance d'application
en temps réel. Ces copies, appelées répliques, sont généralement réparties sur des serveurs
distincts. En cas de défaillance d'un serveur, le trafic est automatiquement redirigé vers une
réplique fonctionnelle, minimisant ainsi les interruptions de service. Les bases de données, les
serveurs web et les applications critiques sont souvent répliqués pour garantir la HA.

 Équilibrage de charge
Les équilibreurs de charge sont des dispositifs matériels ou logiciels qui répartissent le trafic
entrant entre plusieurs serveurs ou instances d'application. L'équilibrage de charge garantit une
répartition égale de la charge de travail, réduisant ainsi les risques de surcharge d'un serveur
spécifique. En cas de défaillance d'un serveur, l'équilibreur de charge redirige le trafic vers les

Présenté par KABORE T. Timothée 2022-2023 22


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

serveurs restants. L’équilibrage de charge permet de réduire les risques de temps d'arrêt dû à
une demande excessive.

 Clusterisation
La clusterisation implique la création d'un groupe de serveurs interconnectés qui travaillent
ensemble pour fournir un service. En cas de panne d'un nœud du cluster, les autres nœuds
peuvent prendre en charge le traitement des requêtes, assurant ainsi une continuité du service.
Les clusters sont couramment utilisés pour des applications telles que les bases de données, les
serveurs d'application et les systèmes de fichiers distribués.

 Redondance
La redondance consiste à avoir des composants en double prêts à prendre le relais en cas de
panne. Cela peut inclure des disques durs redondants, des alimentations électriques redondantes
et même des centres de données redondants. La redondance vise à éliminer les points uniques
de défaillance.

 Sauvegardes régulières
La sauvegarde régulière des données et des configurations est une mesure importante pour la
HA. En cas de panne majeure, les données peuvent être restaurées à partir des sauvegardes,
minimisant ainsi la perte de données et le temps d'indisponibilité

 A l'échelle automatique
L'automatisation de la mise à l'échelle est un mécanisme essentiel pour maintenir la HA. Il
permet d'ajuster automatiquement les ressources en fonction de la charge de travail. Par
exemple, lorsqu'une application web connaît une augmentation soudaine du trafic, des instances
supplémentaires peuvent être déployées automatiquement pour répondre à la demande. Lorsque
la charge diminue, les ressources excédentaires peuvent être réduites pour économiser les coûts.

 Planification de la maintenance
La maintenance régulière des serveurs et des composants est inévitable. Cependant, pour
maintenir la HA, il est essentiel de planifier les périodes de maintenance de manière à minimiser
l'impact sur l'application en dirigeant le trafic vers des serveurs alternatifs pendant la
maintenance.

 Stratégies de cache

Présenté par KABORE T. Timothée 2022-2023 23


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

L'utilisation de caches pour stocker temporairement des données fréquemment demandées peut
réduire la charge sur les serveurs backend. Les caches peuvent être répartis pour garantir la
disponibilité même en cas de panne d'un nœud.

 Isolation des erreurs


L'isolation des erreurs est une approche qui permet d'isoler les erreurs potentielles afin qu'elles
n'affectent pas l'ensemble du système. Par exemple, en isolant un composant défaillant, on peut
empêcher sa dégradation d'affecter d'autres parties de l'application, garantissant ainsi la stabilité
globale du système tout en limitant les perturbations et en préservant la disponibilité des
services.

 Répartition des données et du trafic


La répartition des données et du trafic est une technique qui permet de distribuer de manière
équilibrée les charges de travail sur plusieurs serveurs ou régions géographiques. Cela peut
inclure la distribution de données sur des clusters de bases de données ou l'utilisation de CDN
(Content Delivery Networks) pour acheminer le trafic vers des serveurs situés plus près des
utilisateurs finaux.

 Mécanismes de basculement
Les mécanismes de basculement permettent de commuter rapidement d'un système ou d'un
composant à un autre en cas de défaillance. Cela peut impliquer l'utilisation de serveurs de
secours comme le kmaster2 (voir partie Pratique) dans notre cas ou de clusters de basculement
pour assurer une continuité de service.

 Surveillance avancée de la performance


En plus de la surveillance proactive, la surveillance avancée de la performance peut inclure des
techniques telles que l'analyse des tendances, la détection prédictive des pannes et
l'apprentissage automatique pour identifier les problèmes potentiels avant qu'ils ne deviennent
critiques.

 Intégration de la tolérance aux pannes au niveau applicatif


Les applications peuvent être conçues pour être intrinsèquement tolérantes aux pannes en
utilisant des stratégies telles que la réplication des micro services, la gestion des erreurs de
manière robuste et la conception de workflows de secours.

 Tests de résilience

Présenté par KABORE T. Timothée 2022-2023 24


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

En plus des tests de résistance, les tests de résilience simulent des scénarios de défaillance et
mesurent la capacité d'une application à se rétablir rapidement. Cela inclut la vérification de la
reprise après incident et la restauration de la fonctionnalité.

 Réseaux redondants
Les réseaux redondants fournissent des chemins de communication de secours pour les données
et le trafic. Cela garantit que même en cas de panne de réseau, les données peuvent continuer à
circuler via des itinéraires alternatifs.

 Gestion des certificats et des clés de sécurité


La gestion proactive des certificats SSL/TLS et des clés de sécurité est essentielle pour garantir
la continuité de la sécurité des données, en évitant les expirations inattendues.

1.3.Importance de la résilience et de la haute disponibilité pour les applications

La résilience et la haute disponibilité (HA) sont des concepts cruciaux pour les applications en
raison de leur rôle essentiel dans la préservation de la continuité opérationnelle et de la
performance de ces systèmes.

 Continuité des opérations


Les applications jouent un rôle central dans le fonctionnement des entreprises. Ils automatisent
des processus essentiels tels que la gestion des stocks, la comptabilité, la gestion des ressources
humaines et la planification des ressources. La continuité de ces opérations est vitale pour éviter
des perturbations majeures, des retards dans les livraisons et des pertes financières. La résilience
et la HA garantissent que ces systèmes restent opérationnels, même en cas de pannes matérielles
ou logicielles.

 Minimisation des temps d'arrêt


Les temps d'arrêt, qu'ils soient planifiés ou imprévus, peuvent être coûteux et nuisibles à la
productivité. La HA vise à minimiser ces temps d'arrêt en mettant en place des mécanismes de
basculement rapides vers des serveurs ou des instances de secours. De plus, la résilience permet
au système de continuer à fonctionner avec une capacité réduite même en cas de défaillance
partielle.

 Réponse aux perturbations

Présenté par KABORE T. Timothée 2022-2023 25


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Les perturbations, qu'elles soient dues à des pannes techniques, à des erreurs humaines ou à des
cyberattaques, sont inévitables. La résilience se traduit par la capacité à répondre rapidement à
ces perturbations en rétablissant le service, en restaurer les données, et en minimisant l'impact
sur les opérations.

 Protection des données


Les applications contiennent souvent des données sensibles, y compris des informations
financières, des données clients et des données de l'entreprise. La résilience inclut des
mécanismes de sauvegarde et de récupération des données pour protéger ces informations
contre la perte, la corruption ou l'accès non autorisé.

 Adaptabilité aux évolutions


Les entreprises évoluent, se développent et se transforment. Des systèmes résilients et
hautement disponibles peuvent évoluer avec l'entreprise en intégrant de nouvelles
fonctionnalités, en prenant en charge de nouveaux processus métiers et en s'adaptant aux
besoins changeants.

2. Présentation de docker et de ses fonctionnalités clés


Docker est une technologie de virtualisation légère qui a révolutionné le développement, le
déploiement et la gestion d'applications ainsi que d'ERP (Enterprise Resource Planning).
Docker a été créé en 2013 par Solomon Hykes et l'équipe de Docker. À l'origine, Docker a été
développé pour simplifier le processus de déploiement des applications, mais il s'est rapidement
étendu à d'autres domaines, y compris les ERP. Avant Docker, la virtualisation traditionnelle
reposait sur des machines virtuelles (VM), ce qui était lourd en ressources et prenait du temps
à démarrer. Docker a introduit une nouvelle méthode appelée conteneurisation, qui a
radicalement transformé la manière dont les applications et les ERP étaient gérés.

Présenté par KABORE T. Timothée 2022-2023 26


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Figure 6: logo de docker


Source: Docker full logo transparent PNG - StickPNG consulté le 05/10/23 à 19h20min18s

 Conteneurisation et isolation des applications :La caractéristique la plus distinctive de


Docker est sa capacité à encapsuler une application ou un ERP et toutes ses dépendances
dans un conteneur autonome. Contrairement aux VM, les conteneurs Docker partagent le
même noyau de système d'exploitation de l'hôte, ce qui les rend extrêmement légers et
rapides à démarrer. Cette isolation garantit que chaque application ou ERP s'exécute de
manière indépendante, évitant ainsi les conflits de dépendances et les problèmes de
compatibilité.
 Portabilité et facilité de déploiement avec Docker :Les conteneurs Docker sont
extrêmement portables. Ils encapsulent tous les éléments nécessaires à l'application ou à
l'ERP, ce qui signifie que ces systèmes fonctionneront de la même manière sur n'importe
quelle infrastructure prenant en charge Docker, que ce soit des machines locales, des
serveurs cloud ou des clusters Kubernetes. Cette portabilité élimine les problèmes
d'incompatibilité entre les environnements de développement, de test et de production.

2.1.Avantages de Docker pour les applications et ERP


Docker offre plusieurs avantages significatifs pour les applications et les ERP modernes :
 Gestion des micro services

Présenté par KABORE T. Timothée 2022-2023 27


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Les architectures basées sur des micro services sont devenues courantes dans le développement
d'applications et d'ERP. Docker simplifie la gestion de ces micro services en permettant
d'emballer chaque composant dans un conteneur indépendant. Cela facilite le déploiement, la
mise à l'échelle et la mise à jour de ces micro services.
 Gestion des dépendances
Docker résout les conflits de dépendances en isolant chaque application ou ERP avec toutes ses
dépendances dans un conteneur distinct. Ainsi, les développeurs et les administrateurs n'ont pas
à se soucier des interactions imprévues entre les bibliothèques ou les composants.
 Orchestration avec Kubernetes
Docker s'intègre parfaitement avec Kubernetes, une plateforme d'orchestration de conteneurs,
pour simplifier la gestion de clusters de conteneurs à grande échelle. Cette combinaison offre
une solution puissante pour le déploiement et la gestion de conteneurs dans des environnements
complexes.
 Rapidité de développement et de test

Les développeurs peuvent rapidement créer des environnements de développement et de test


cohérents à l'aide de conteneurs Docker, ce qui accélère le cycle de développement et améliore
la qualité du code.

3. Présentation de Kubernetes et de son rôle dans l'orchestration


Kubernetes, souvent abrégé en K8s, est une plateforme d'orchestration de conteneurs open-
source qui a révolutionné la gestion des applications et des ERP basées sur des conteneurs
Docker. Tout comme Docker, Kubernetes occupe une place centrale dans l'écosystème des
applications modernes. Dans cette section, nous allons explorer les fonctionnalités clés de
Kubernetes et expliquer pourquoi il est un élément incontournable pour garantir une
architecture hautement disponible, résiliente et performante.Kubernetes a été initialement
développé par Google et est devenu un projet open-source en 2014. Il s'inspire d'une partie de
l'infrastructure que Google utilisait pour exécuter ses applications à grande échelle. Depuis lors,
Kubernetes a connu une croissance exponentielle de sa communauté et est devenu l'un des
orchestrateurs de conteneurs les plus largement adoptés dans le monde de l'informatique.

Présenté par KABORE T. Timothée 2022-2023 28


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Figure 7: logo de kubernetes


Source :https://1000logos.net/wp-content/uploads/2022/07/Kubernetes-Logo.png , consulté le 05/10/23
à 19h23min45s

3.1.Gestion de la redondance et système de sécurisation

 Les nodes/nœuds
Un nœud de cluster, dans le contexte de la gestion de clusters informatiques, désigne une entité
physique ou virtuelle qui fait partie intégrante d'un cluster, un ensemble de nœuds (ou serveurs)
interconnectés qui travaillent ensemble pour fournir des ressources informatiques partagées et
des services. Dans le cas de kubernetes un nœud (node) dans un cluster Kubernetes peut être
soit un nœud "worker" (worker node) soit un nœud "master" (master node) :

Node Worker (Nœud "Worker") :

 Le nœud "worker" est également connu sous le nom de nœud "minion" dans le contexte
de Kubernetes.
 C'est le type de nœud sur lequel les charges de travail sont réellement exécutées, c'est-
à-dire les conteneurs.
 Un cluster Kubernetes peut avoir plusieurs nœuds "worker," chacun pouvant exécuter
un ou plusieurs conteneurs.

Présenté par KABORE T. Timothée 2022-2023 29


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 Les nœuds "worker" sont responsables de l'exécution des pods, qui sont les plus petites
unités de déploiement dans Kubernetes. Ils s'assurent que les conteneurs au sein des
pods fonctionnent correctement.

Master Node (Nœud "Master") :

 Le nœud "master" est le cerveau du cluster Kubernetes.


 Il est responsable de la gestion globale du cluster, de la prise de décisions sur la
planification et la répartition des tâches, ainsi que de la coordination de toutes les
opérations dans le cluster.
 Les nœuds "master" hébergent plusieurs composants essentiels, notamment :

L'API Server : Il expose l'API Kubernetes et gère toutes les opérations de l'API.
Le Controller Manager : Il surveille l'état des objets Kubernetes et prend des mesures pour
les faire correspondre à l'état souhaité.
Le Scheduler : Il décide sur quel nœud "worker" les pods doivent être planifiés en fonction
de divers critères.Et d'autres composants de gestion tels que le Cloud Controller Manager.

 Réplicas
Les réplicas dans Kubernetes sont des instances identiques d'un ensemble de conteneurs. Vous
pouvez spécifier le nombre de réplicas souhaitées pour une application ou un service.
Kubernetes garantit que le nombre spécifié de réplicas est maintenu, ce qui contribue à la
disponibilité continue du service.
 Pods
Un pod est l'unité de base de déploiement dans Kubernetes. Il peut contenir un ou plusieurs
conteneurs, partageant le même espace réseau et de stockage. Les pods facilitent la gestion des
dépendances et la répartition de la charge tout en maintenant l'isolation entre les conteneurs.
 Kubelets
Les Kubelets sont des agents exécutés sur chaque nœud du cluster Kubernetes. Ils sont
responsables de l'exécution des conteneurs dans les pods et de la communication avec le
contrôleur de gestion. Les Kubelets jouent un rôle crucial dans la gestion de la redondance en
s'assurant que le nombre spécifié de réplicas est maintenu. Ils surveillent également l'état des

Présenté par KABORE T. Timothée 2022-2023 30


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

conteneurs et, en cas de défaillance, tentent de les redémarrer pour maintenir la disponibilité du
service.
 Secrets kubernetes
La sécurité est une préoccupation majeure dans les déploiements Kubernetes. Kubernetes offre
une fonctionnalité de gestion des secrets qui permet de stocker de manière sécurisée des
informations sensibles telles que des clés d'API, des mots de passe et des certificats. Les secrets
Kubernetes sont cryptés et peuvent être montés dans les conteneurs en tant que systèmes de
fichiers ou utilisés comme variables d'environnement. Cela permet de protéger les informations
sensibles et de garantir leur accessibilité uniquement aux conteneurs autorisés.
 Kubernetes control plane
Le plan de contrôle de Kubernetes est responsable de la gestion globale du cluster. Il comprend
des composants tels que l'API Server, le Controller Manager et le Scheduler, qui veillent à ce
que les pods soient répartis de manière équilibrée, que les nœuds soient surveillés et que les
tâches de gestion soient effectuées de manière sécurisée.
 Network policies
Les politiques réseau Kubernetes permettent de définir des règles de sécurité pour le trafic
réseau entre les pods. Cela permet de restreindre la communication entre les conteneurs en
fonction de critères tels que les labels, les ports et les protocoles, renforçant ainsi la sécurité du
cluster.

 RBAC (Role-Based Access Control)


RBAC est un mécanisme de contrôle d'accès qui permet de définir des rôles et des autorisations
pour les utilisateurs et les services dans Kubernetes. Cela permet de limiter l'accès aux
ressources du cluster, garantissant ainsi une sécurité accrue.

 TLS (Transport Layer Security)


Kubernetes prend en charge TLS pour sécuriser les communications entre les composants du
cluster. Les certificats TLS sont utilisés pour chiffrer les données en transit, renforçant ainsi la
sécurité des échanges.

3.2.Avantages de Kubernetes pour l'architecture haute disponibilité

Présenté par KABORE T. Timothée 2022-2023 31


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 Auto-guérison
Kubernetes surveille en permanence l'état des pods et peut redémarrer automatiquement les
conteneurs défaillants. Cette fonctionnalité garantit une résilience accrue de l'application,
minimisant ainsi les temps d'arrêt.
 Mises à jour sans temps d'arrêt
Kubernetes permet des mises à jour continues de l'application sans interruption de service en
remplaçant progressivement les anciennes versions de pods par les nouvelles.
 Distribution géographique
Pour une haute disponibilité géographique, Kubernetes prend en charge la distribution des pods
sur plusieurs régions, garantissant ainsi la continuité des services, même en cas de défaillance
de toute une région.
 Evolutivité horizontale
Kubernetes offre la possibilité d'évoluer horizontalement en fonction de la charge de travail. Il
peut automatiquement augmenter ou réduire le nombre de réplicas en réponse à la demande,
garantissant ainsi des performances optimales et une haute disponibilité.
 Répartition de la charge
Kubernetes gère intelligemment la répartition de la charge entre les différentes instances de
réplicas. Cela permet d'équilibrer efficacement la charge de trafic entrant, évitant ainsi la
surcharge d'un serveur ou d'une instance de conteneur spécifique.
4. Choix et Comparaison avec d'autres technologies similaires
Dans le paysage complexe des technologies d'orchestration de conteneurs et de virtualisation,
il est essentiel de comparer Docker et Kubernetes avec d'autres solutions disponibles, qu'elles
soient open-source ou propriétaires. Cette comparaison permet de mieux comprendre pourquoi
Docker et Kubernetes sont les choix préférés pour la conception de l'architecture que nous
envisageons.

4.1.Technologies libres et propriétaires

Parmi les technologies libres et propriétaires, des alternatives majeures à Docker et Kubernetes
sont souvent considérées :

Présenté par KABORE T. Timothée 2022-2023 32


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Tableau 1:Tableau comparatif des technologies de gestion de conteneurs

Technologies libres
Offre un environnement isolé pour les
Docker applications

Offre une gestion avancée de la haute


Kubernetes disponibilité et idéal pour les
environnements de production à grande
échelle
Manque de fonctionnalités avancées
Docker compose d'orchestration et de gestion de la haute
disponibilité
Plus complexe à configurer et à utiliser
Apache Mesos

Technologies propriétaires
Spécifique à la plateforme AWS
Amazon ECS

offre une intégration étroite avec


Microsoft Azure Kubernetes Service l'écosystème Azure

Source : page officielle de ces technologies

4.2.Pourquoi docker et kubernetes sont les choix préférés ?

Nous avons opté pour docker et kubernetes pour les raisons suivantes :

Standardisation et portabilité : Docker est devenu un standard de fait pour l'emballage et la


distribution de conteneurs. Les images Docker peuvent être exécutées de manière cohérente sur
différentes infrastructures, ce qui offre une portabilité significative. Kubernetes, en tant
qu'orchestrateur de conteneurs, fonctionne avec des conteneurs Docker, ce qui simplifie la
gestion des charges de travail.

Écosystème et adoption : Docker et Kubernetes bénéficient tous deux d'une large adoption
dans l'industrie, ce qui signifie qu'il existe une vaste communauté, une documentation
abondante et une multitude de ressources disponibles pour faciliter l'apprentissage et la
résolution de problèmes.

Évolutivité et gestion de la haute disponibilité : Kubernetes excelle dans la gestion de charges


de travail à grande échelle, offrant des fonctionnalités avancées d'orchestration, de mise à

Présenté par KABORE T. Timothée 2022-2023 33


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

l'échelle automatique et de gestion de la haute disponibilité, ce qui en fait un choix idéal pour
les environnements de production complexes.

Flexibilité : Kubernetes est agnostique en termes d'infrastructure, ce qui signifie qu'il peut être
déployé sur divers fournisseurs de cloud et environnements locaux, offrant une flexibilité et une
portabilité accrues par rapport à certaines solutions propriétaires.

Sécurité : Les deux technologies mettent l'accent sur la sécurité, avec des mécanismes robustes
de confinement des conteneurs et de gestion des accès. (Gestion des secrets Kubernetes)

Docker et Kubernetes, tant que technologies libres offrent la base nécessaire pour déployer et
gérer efficacement des charges de travail dans un environnement dynamique et hautement
disponible.

5. Analyse des besoins et spécifications de TELIA ERP


5.1.Description de TELIA ERP

TELIA-ERP est une solution logicielle complète d'Entreprise et de Gestion des Ressources
Humaines qui vise à optimiser la gestion des ressources humaines et des processus d'entreprise
au sein des organisations. Cette plateforme polyvalente offre un ensemble de fonctionnalités
robustes qui couvrent divers aspects essentiels de la gestion d'entreprise, ce qui en fait un outil
précieux pour les entreprises de toutes tailles.

5.2.Cas d'utilisation et scénarios d'utilisation

Gestion des Employés : Les responsables des ressources humaines utilisent TELIA ERP pour
enregistrer les informations des employés, gérer les congés, et générer des rapports sur les
performances.

Comptabilité et Finances : Les comptables utilisent l'ERP pour suivre les transactions
financières, produire des rapports financiers et gérer les budgets.

Gestion des Stocks : Les responsables de la chaîne d'approvisionnement utilisent TELIA ERP
pour gérer les niveaux de stock, suivre les mouvements de stock et prévoir les besoins en
approvisionnement.

Présenté par KABORE T. Timothée 2022-2023 34


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Ventes et Marketing : Les équipes de vente et de marketing utilisent l'ERP pour suivre les
prospects, gérer les opportunités de vente et analyser les performances des campagnes.

6. Schéma architectural et planification du cluster kubernetes


Pour la mise en place de l’architecture, nous avons élaboré un schéma architectural pour
garantir une haute disponibilité de nos services :

Nœuds du cluster : Nous avons configuré un cluster Kubernetes avec deux nœuds travailleurs
pour gérer la charge des conteneurs et deux nœuds maîtres. Le nœud maître supervise et
coordonne les opérations du cluster.

Répartition des services : TELIA ERP est composé de plusieurs modules tels que la gestion
des ressources humaines, la gestion financière, la gestion des stocks. Nous allons déployés ces
modules comme un service Kubernetes. Par exemple, la gestion des ressources humaines, la
gestion financière seront un service.

Redondance : Pour assurer la redondance et la résilience, nous allons configurer des réplicas
pour chaque service. Le choix des deux nœuds maîtres est de garantir la disponibilité et la
continuité des services du cluster en cas de panne d’un des nœuds maîtres.

Conteneur d'application : L'application TELIA ERP sera encapsulée dans un conteneur


Docker dédié. Ce conteneur inclura tous les composants nécessaires pour exécuter l'application,
garantissant ainsi la portabilité et la cohérence de l'environnement d'exécution.

Conteneur de base de données : La base de données de TELIA ERP sera également


conteneurisée pour simplifier la gestion et garantir une haute disponibilité. Nous utiliserons des
conteneurs Docker spécialement configurés pour les bases de données, en tenant compte des
exigences de performance, de scalabilité et de sécurité.

Répliques de la base de données : Pour assurer la redondance de la base de données, nous


allons configurer deux répliques de la base de données, garantissant ainsi la disponibilité des
données même en cas de panne d'un nœud travailleur.

Présenté par KABORE T. Timothée 2022-2023 35


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Répliques du serveur d'application : Pour le serveur d'application TELIA ERP, nous allons
créer trois répliques, ce qui garantira la disponibilité des services et la répartition de la charge,
même en cas de défaillance d'un nœud ou d'un conteneur.

Service de répartition de charge (loadbalancer) : Nous intégrerons un service de répartition


de charge (Load Balancer) à savoir HAproxy et Keepalived dans l'architecture pour améliorer
la performance, la disponibilité et la scalabilité. Ce service sera responsable de la distribution
équilibrée du trafic entre les réplicas des services, assurant ainsi une utilisation optimale des
ressources et une réponse rapide aux demandes des utilisateurs. En cas de panne d'un conteneur
ou d'un nœud, le service de répartition de charge dirigera automatiquement le trafic vers les
instances fonctionnelles, garantissant ainsi une continuité de service sans interruption et sans
surcharge.

Figure 8: Schéma illustratif du fonctionnement d'un cluster kubernetes


Source : données du terrain

Présenté par KABORE T. Timothée 2022-2023 36


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Figure 9:Architecture de notre cluster kubernetes


Source : données du terrain

7. Informations sur les serveurs du cluster

Tableau 2:Informations sur les serveurs du cluster


Hostname Système Addresses IP Masque Description
Telia App Centos 7 192.168.1.52 255.255.255.0 Serveur d’application

Telia BD Centos7 192.168.1.53 255.255.255.0 Serveur de base de


donnée
Kmaster1 Centos7 192.168.1.55 255.255.255.0 Master kubernete1
Kmaster2 Centos7 192.168.1.54 255.255.255.0 Master kubernete2
Kworker1 Centos7 192.168.1.56 255.255.255.0 Worker kubernete1
Kworker2 Centos7 192.168.1.57 255.255.255.0 Worker Kubernete2
Load Balancer HAproxy 192.168.1.57 255.255.255.0 Serveur de
répartition de charge

Source : données du terrain

Présenté par KABORE T. Timothée 2022-2023 37


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Conclusion
Dans ce chapitre nous avons exploré les concepts de haute disponibilité et de résilience, en
comprenant les enjeux qui les entourent dans le contexte des applications et ERP.Nous avons
également présenté Docker et Kubernetes, qui sont des outils de conteneurisation et
d'orchestration. Ce chapitre explique les bases théoriques essentielles pour notre projet, en
nous préparant à mettre en œuvre une architecture robuste et performante pour TELIA ERP.

Présenté par KABORE T. Timothée 2022-2023 38


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Chapitre IV : Mise en place de l’architecture hautement disponible dans un


environnement virtuel

Introduction partielle
Ce chapitre marque une étape cruciale de notre projet de mise en place d'une architecture
hautement disponible, résiliente et performante pour TELIA ERP. Nous passerons de la théorie
à la pratique en détaillant les étapes concrètes de mise en place de Docker et Kubernetes pour
notre application.

1. Installation et configuration de TELIA ERP


Pour l’installation de notre ERP ainsi que la base de donnée nous allons la faire dans l’annexe
1.
2. Conteneurisation des composants avec docker
2.1.Installation et configuration de Docker sur toutes les machines
La conteneurisation est un élément central de notre architecture. Nous aborderons l'installation
de Docker sur les systèmes cibles, en soulignant les meilleures pratiques de sécurité et de
gestion des conteneurs.

 Suppression de tout paquet Docker

sudo yum remove docker \


docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \

 Installation du paquet yum-utils

Sudo yum install –y yum-utils

 Mise en place du référentiel

Sudo yum-config-manager - -add-repo https://download.docker.com/linux/centos/docker-


ce.repo

 Installation des composants de docker

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-


compose-plugin

Présenté par KABORE T. Timothée 2022-2023 39


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 Vérifions que docker est bien installer

sudo docker run hello-world

Cette commande vérifie que l'installation du moteur Docker a réussie en exécutant l’image
“hello-world“.

2.2.Création des images Docker pour chaque composant


Nous expliquerons comment créer des images Docker pour chaque composant de TELIA ERP.
Cette étape est cruciale pour assurer la portabilité et la reproductibilité de l'environnement.

 Pour la base de donnée


 Changement d’utilisateur et sauvegarde de notre base de donnée

su - postgres

pg_dump DB_TELIA > /var/lib/pgsql/12/data/backup.sql

Le but ici c’est de créer une sauvegarde à l’état actuel de la base de donnée qui sera utilisé pour
la création de nos images docker.

 Création du répertoire db_image et copie du fichier de sauvegarde backup.sql

mkdir db_image
cp /var/lib/pgsql/12/data/backup.sql db_image/
 Création du fichier de configuration de la base de donnée

vim Dockerfile

Présenté par KABORE T. Timothée 2022-2023 40


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

FROM postgres : 12 : Cette commande indique que l'image de base pour notre nouvelle image
Docker est l'image PostgreSQL version 12
Copy backup.sql /docker-entrypoint-initdb.d/ : Cette commande copie le fichier nommé
"backup.sql" qui est la sauvegarde de notre base de donnée.
CMD ["docker-entrypoint.sh", "postgres"] : Cela déclare que le script d'entrée "docker-
entrypoint.sh" doit être exécuté avec l'argument "postgres" lorsque le conteneur démarre, ce qui
lancera le serveur PostgreSQL avec les configurations appropriées.
 Création d’image docker

docker build -t db_image:1.0

Cette commande est utilisée pour construire une image Docker à partir d'un Dockerfile. Cela
nous permet de créer une image personnalisée que nous pouvons ensuite utiliser pour exécuter
des conteneurs.

 Pour l’application TELIA ERP

 Copie du fichier odoo.conf

cp /opt/odoo/odoo14/debian/odoo.conf
/opt/odoo/odoo14/addons_customs/custom_odoo.conf

 Création et édition du fichier Dockerfile

vi Dockerfile

Présenté par KABORE T. Timothée 2022-2023 41


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

FROM odoo :14.0 : Cette commande indique que l'image de base pour notre nouvelle image
Docker est l'image Odoo version 14.0.
COPY . /mnt/extra-addons:Cette commande copie tous les fichiers et répertoires du répertoire
local dans le répertoire `/mnt/extra-addons` à l'intérieur du conteneur. Cela nous permet
d’ajouter nos modules personnalisés à Odoo.
CMD ["odoo", "-c", "/etc/odoo/odoo.conf"] : Cette commande définit la commande par
défaut à exécuter lorsque le conteneur démarre. Le fichier de configuration contient des
paramètres spécifiques pour configurer l'instance Odoo qui sera exécutée dans le conteneur.
 Edition du fichier odoo.con

vi /opt/odoo/odoo14/addons_customs

Présenté par KABORE T. Timothée 2022-2023 42


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 Construction de l’image docker

docker build –t app_image:1.0

2.3.Test des images Docker avant le déploiement


Avant de déployer les conteneurs dans Kubernetes, nous effectuerons des tests des images
Docker pour nous assurer qu'elles fonctionnent correctement et sont exemptes d'erreurs.

 Pour la base de donnée

 Lister les images docker de la base de donnée

docker image ls

Cette commande affiche une liste des images Docker de la base de donnée avec des
informations telles que le nom de l'image, son ID, sa taille, et son étiquette (tag).

 Exécution du conteneur docker de la base de donnée

docker run -d --name mon_conteneur_db db_image:1.0

Cette commande est utilisée pour exécuter un conteneur Docker nommé "mon_conteneur_db"
à partir de l'image "db_image" avec l'étiquette "1.0" (c'est-à-dire la version 1.0 de cette image).

 Pour l’application TELIA ERP


 Lister les images docker de l’application

docker image ls

Cette commande affiche une liste des images Docker de l’application avec des informations
telles que le nom de l'image, son ID, sa taille, et son étiquette (tag).

Présenté par KABORE T. Timothée 2022-2023 43


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 Création du conteneur docker de l’application à partir de app_image

docker run --name mon-conteneur - d app_image:1.0

Une fois cette commande, un conteneur sera créé à partir de l'image "app_image:1.0" avec le
nom "mon-conteneur" et il s'exécutera en arrière-plan.

 Vérification de l’état du conteneur

docker ps

Cette commande est utilisée pour lister les conteneurs Docker en cours d'exécution sur le
système.

 Connexion au conteneur crée

docker exec –it mon-conteneur /bin/bash

On remarque aussi la présence du fichier de configuration odoo.conf aussi dans le conteneur

2.4.Push des images docker sur nos registres docker hub


Une fois les images Docker validées, nous les pousserons vers un registre Docker, prêtes à être
déployées dans notre cluster Kubernetes.

Présenté par KABORE T. Timothée 2022-2023 44


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

On a préalablement créé un compte docker hub et aussi un repository privée dans lequel nos
images docker seront installé.

 Pour db_image
 Connexion

locker login

 Changer l’étiquette de

docker tag db_image:1.0 telia23/app_image:1.0

 Pousser l’image docker de la base de donnée

docker push telia23/db_image:1.0

Résultats : Interface qui montre notre db_image dans le repository sur docker hub

Figure 10:interface qui montre la présence de notre db_image dans le repository

Source : données du terrain

Présenté par KABORE T. Timothée 2022-2023 45


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 Pour app_image
 Changer l’étiquette

docker tag app_image:1.0 telia23/app_image:1.0

 Pousser l’image de l’application

docker push telia23/app_image:1.0

Résultats : Interface qui montre notre app_image dans le repository sur docker hub

Figure 11:interface qui montre la présence de notre app_image dans le repository


Source : données du terrain

3. Installation et configuration du cluster kubernetes


On aura un cluster qui contient 2 nœuds maîtres à savoir Kmaster1 et Kmaster2 (master nodes)
et deux nœuds esclaves (workers nodes) dont Kworker1 et Kworker2.

3.1.Création du cluster kubernetes

 Etape1 : Installation de Containerd sur le nœud maître (kmaster1 ; kmaster2) et chaque


nœud de l’Outil (kworker1 ; kworker2)
Cette étape de configuration est la même sur tous les nœuds du cluster à savoir
kmaster1,kmaster2,kworker1 et kworker2.

Présenté par KABORE T. Timothée 2022-2023 46


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 Ajout de paquet conteneur

sudocommande
Cette yum-config-manager --add-repo
permet d’ajout https://download.docker.com/linux/centos/docker-
des paquets par défaut.
ce.repo

 Installation du service containerd

sudo yum install -y yum-utils containerd.io && rm -I /etc/containerd/config.toml

 Démarrage automatique du service

sudo systemctl enable containerd && sudo systemctl start containerd

 Vérification de l’état du service

sudo systemctl status containerd

Cette commande vérifie que le service est actif et en cours d'exécution.

 Etape2 : Installation et configuration de kubernetes sur master node (kmaster1,kmaster2)


et chaque nœud travailleur (kworker1,kworker2).
 Kmaster1

 Création du fichier

vi /etc/yum.repos.d/kubernetes.repo

Présenté par KABORE T. Timothée 2022-2023 47


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

baseurl — URL à partir de laquelle le gestionnaire de paquets extrait les packages


Kubernetes.
enabled — Indique que le référentiel est activé et peut être utilisé pour l’installation et la mise
à jour de packages.
gpgcheck — Indique que le gestionnaire de paquets vérifiera les signatures GPG des paquets.
repo_gpgcheck — S’assure que le dépôt est fiable et que gpgkey doit être vérifié.
gpgkey — URL où se trouvent les clés GPG.
 Installation des services kubernetes

sudo yum install -y kubelet kubectl kubeadm


Cett

 Changeons les noms des serevrus

sudo hostnamectl set-hostname kmaster1

 Editons notre fichier

vi /etc/hosts

Présenté par KABORE T. Timothée 2022-2023 48


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Ainsi nous avons éditer le fichier en attribuant différents noms aux hôtes et en leurs affectant
des adresses IP. Nous avons également des noms de domaine pour facilement accéder aux
serveurs à travers leurs noms.
 Désactivons l’espace d’échange(swap)

sudo sed -i '/swap/d' /etc/fstab


sudo swapoff -a

 Désactivons SE Linux
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

 Mises à jour des iptables


Pour cela on va d’abord créer un fichier k8s.conf

sudo vi /etc/sysctl.d/k8s.conf

Ensuite, mettre à jour les paramètres des iptables pour assurer une bonne communication en
réseau et un routage au cluster Kubernetes.

Ainsi nous allons éditer le fichier comme suit :

Executons la commande suivante pour appliquer la configuration précedente :

sudo sysctl --system


 Activons le module de noyau br-netfilter

echo '1' > /proc/sys/net/ipv4/ip_forward

 Ajout des règles de pare-feu de cette manière uniquement sur les nœuds maîtres

sudo firewall-cmd --permanent --add-port=6443/tcp


sudo firewall-cmd --permanent --add-port=2379-2380/tcp
 firewall-cmd --permanent --add-port=10250/tcp
sudo
sudo firewall-cmd --permanent --add-port=10251/tcp
sudo firewall-cmd --permanent --add-port=10252/tcp
sudo firewall-cmd --permanent --add-port=10255/tcp
sudo firewall-cmd --reload

Présenté par KABORE T. Timothée 2022-2023 49


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 Kmaster2

Même configurations que kmaster1 seulement que :


-Le changement de nom d’hôte aussi doit se faire différemment :hostnamectl set-hostname
kmaster2.
 Kworker1

Nous allons appliquer les mêmes paramètres de configuration qu’à l’étape 2 seulement que
quelques points différents à savoir :

L’ajout des règles de pare-feu :

sudo firewall-cmd --permanent --add-port=10251/tcp


sudo firewall-cmd --permanent --add-port=10255/tcp
sudo firewall-cmd --reload

 Kworker2

Même configuration pour Kworker2 à part le changement du nom d’hôte : hostnamectl set-
hostname kmaster2.

 Etape 3 : Déploiement du cluster Kubernetes.(Uniquement sur les nœuds maîtres)

 Kmaster1

 Initialisation du cluster Kubernetes


Cela permet d’initialiser notre cluster avec une plage d’addresse pour les pods.

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

 Activation,démarrage et état du service kubelet en tant que service système

sudo systemctl enable kubelet && sudo systemctl status kubelet

Présenté par KABORE T. Timothée 2022-2023 50


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 Définition du chemin de configuration de kubernetes

export kubeconfig=/etc/kubernetes /admin.conf

 Déploiement d’un réseau de conteneur flannel

kubectl apply -f
https://raw.githubusercontent.com/coreos/flannel/v0.22.3/documentation/kube-flannel.yml

 Vérification de l’état du cluster et des pods

kubectl get nodes &&


kubectl get pods --all-namespaces

Cette commande permet d’afficher la liste des nœuds (nodes) du cluster Kubernetes
actuellement disponibles ainsi que les pods disponibles

Présenté par KABORE T. Timothée 2022-2023 51


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 Kmaster2

La configuration est faite de la même manière que kmaster1 et en l’adaptant juste aux
identifiant de kmaster2.

3.2.Formation du cluster

 Création du jeton d’adhésion

kubeadm token create –print-join-command

Cette commande permet de créer un jeton d’adhésion .Ce qui va permettre à tous les nœuds de
pour pouvoir rejoindre le cluster .

 Adhésion du nœud kworker1 en utilisant le jeton généré par le kmaster1

kubeadm join 192.168.1.55:6443 --token l08ew2.125n0zsopspuvpgd --discovery-token-


ca-cert-hash
sha256:a752ec9b24609d7ae5d455a72fdccb459d430a242e892cdfe1dbefeebe69c939

Présenté par KABORE T. Timothée 2022-2023 52


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 Adhésion du nœud kworker2 en utilisant le jeton généré par le master node. Même
commande que ci-dessus

 Etat du cluster après l’adhésion des nœuds

4. Déploiement des images dans le cluster kubernetes


Cette section décrira comment nous avons déployé initialement les conteneurs Docker dans le
cluster Kubernetes et mis en place les services pour orchestrer ces conteneurs.

4.1.Déploiement initial
Ici nous créons le fichier db-deployment pour le déploiement de l’image docker de notre base
de donnée en fessant un vi db-deployment.yaml

Présenté par KABORE T. Timothée 2022-2023 53


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Nous créons également le fichier db-deployement pour le déploiement de notre image docker
de l’application en fessant un vi app-deployment.yaml

Présenté par KABORE T. Timothée 2022-2023 54


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

4.2.Mise en place des services Kubernetes

 Création des services :


db-service : Décrit les options de connexion à notre base de donnée.Ce service va permettre à
notre application de trouver les informations de connexions à la base de donnée
db-config : Stocke les informations sur l’identité de l’utilisateur
db-secret : Stocke et sécurise le mots de passe d’accès à notre base de donée.
app-service : Expose notre cluster c’est-à-dire notre application conteneurisé à l’emplois

vi db-service.yaml

vi db-config.yaml

Pour le fichier db-secret nous allons d’abord pour une question de sécurité mettre notre mot
de passe en base64

echo –n ‘telia@23kubdock’ | base64

Présenté par KABORE T. Timothée 2022-2023 55


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Après cela nous obtenions notre mot de passe en base64 comme vous le constatez ci-dessus.
Maintenant nous pouvons créer le fichier lui-même

Pour le loadbalancer en faisant un vi config-loadBanlancer..

5. Tests d'intégration après le déploiement


Après avoir effectué les différentes configurations ci-dessus nous allons nous assurer que les
images ont bien été créer. Pour cela nous devons appliquer nos fichiers en faisant :

kubectl apply –f app-deployment.yaml


kubectl apply –f db-deployment.yaml
Kubectl apply –f db-service.yaml
Kubectl apply –f db-config.yaml
Kubectl apply –f db-secret.yaml
Kubectl apply –f app-service.yaml

Présenté par KABORE T. Timothée 2022-2023 56


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

On constate que nos deux conteneurs sont correctement installer et que peut accéder à notre
application via l’interface web.

6. Installation de Prometheus et Grafana pour la surveillance des métriques.


Pour l’installation de ces outils nous allons nous référer à l’annexe 2.
7. Coût estimatif du projet
Comme pour tout projet, la mise en œuvre de cette solution implique des dépenses associées à
l'achat de matériel et à la prestation de services. Cela permettra à l'entreprise de prévoir un
budget adéquat pour garantir une mise en place réussie de la solution haute disponibilité. Le
tableau ci-dessous synthétise ces diverses dépenses ainsi que le coût total de la mise en place.

Tableau 3:Tableaux des coût du projet


Infrastructures (matériel et logiciel) Nombres Prix Unitaire(franc Prix Total
CFA)
machines virtuelles 02 Environ 24.491/mois 48.982fcfa

Machine physique (HP bureau de 01 500.000f 500.000fcfa


32G/Ram et 500GO SSD)

Serveurs virtuelles pour gérer le 04 Environ 39.255f/mois 157.020fcfa


cluster kubernetes

Présenté par KABORE T. Timothée 2022-2023 57


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Serveur physique (HP de 64Go/Ram et 01 1.300.000f 1.300.000fcfa


2To SSD)

Odoo Entreprise 01 Environ 6784f/mois 0fcfa

Centos 01 gratuit 0fcfa

Docker 01 Gratuit 0fcfa

Kubernetes 01 Gratuit 0fcfa

Loadbalancer(un service de 01 gratuit 0fcfa


kubernetes)
Main d’œuvre 1.200.000fcfa

TOTAL GENERAL 2.706.002fcfa

Source : données du terrain

Conclusion
Ce chapitre a été une plongée profonde dans l'implémentation concrète de notre architecture
pour TELIA ERP, en utilisant Docker et Kubernetes comme piliers technologiques.
L'ensemble du processus de mise en place a été minutieusement documenté pour servir de
référence précieuse pour les futurs déploiements et projets similaires. Ce chapitre représente
une étape cruciale de notre projet, transformant la théorie en réalité opérationnelle.

Présenté par KABORE T. Timothée 2022-2023 58


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

PERSPECTIVES & SUGGESTIONS

Tout d'abord, nous avons mis en place notre architecture en utilisant des serveurs virtuels, ce
qui a été une étape importante pour garantir la flexibilité et la scalabilité de notre infrastructure.
Cependant les machines virtuelles possèdent des limites tels les surcharges des ressources, la
complexité de gestion qui remettent en cause la haute disponibilité, la résilience et la
performance de notre architecture. C’est fort de ce constat que nous recommandons à Telia
Informatique d'adopter le cloud pour mettre en place cette architecture. Il est impératif de
prendre en compte les avantages manifestes du cloud pour optimiser notre architecture. La
transition d'une infrastructure qui repose sur des serveurs virtuels à une solution cloud comporte
divers avantages clés :

Élasticité et Scalabilité : Le cloud offre une capacité d'ajustement automatique des ressources
en fonction de la demande, ce qui permet une scalabilité plus rapide et efficace.

Haute Disponibilité : Les fournisseurs de cloud offrent des niveaux de disponibilité élevés
grâce à leurs data centers géographiquement distribués, minimisant ainsi les risques de pannes.

Gestion Simplifiée : Les services cloud incluent souvent des outils de gestion avancés qui
facilitent la surveillance, la sauvegarde et la gestion des infrastructures.

Coûts Optimisés : En utilisant le modèle de paiement à l'utilisation, vous ne payez que pour
les ressources que vous consommez, ce qui peut réduire les coûts par rapport à la gestion de
serveurs virtuels.

Sécurité Améliorée : De nombreux fournisseurs de cloud investissent massivement dans la


sécurité, offrant des mesures de protection avancées.

Services Gérés : Le cloud propose un large éventail de services gérés pour les conteneurs,
l'orchestration, et plus, simplifiant le déploiement et la gestion de solutions comme Docker et
Kubernetes.

En Somme, l'utilisation du cloud pour notre architecture peut non seulement améliorer la
disponibilité et la performance, mais aussi simplifier la gestion et potentiellement réduire les
coûts.

Présenté par KABORE T. Timothée 2022-2023 59


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Conclusion générale
En conclusion, la mise en place de cette architecture hautement disponible, résiliente et
performante avec Docker et Kubernetes représente une avancée majeure dans la gestion des
ressources informatiques pour TELIA INFORMATIQUE. Ce projet a été conçu en réponse à
un besoin essentiel de l'entreprise : garantir une continuité opérationnelle, maximiser les
performances de l'infrastructure informatique et renforcer la résilience face aux perturbations
technologiques modernes.
L'analyse approfondie de Docker et Kubernetes a permis de mettre en évidence leur rôle
essentiel dans la création d'un environnement informatique hautement performant. Docker offre
la capacité d'emballer des applications et leurs dépendances dans des conteneurs, tandis que
Kubernetes coordonne efficacement ces conteneurs pour garantir une gestion fluide, une
évolutivité dynamique et une haute disponibilité. Cette combinaison offre à TELIA
INFORMATIQUE la flexibilité nécessaire pour s'adapter rapidement aux besoins changeants
du marché et pour maintenir une infrastructure informatique de pointe.
Malgré les défis inhérents à la mise en place de cette architecture, tels que la planification
minutieuse, les coûts initiaux et les ajustements nécessaires, il est indiscutable que cette
démarche révolutionne la manière dont TELIA INFORMATIQUE gère ses ressources
informatiques. Elle permet non seulement d'assurer une continuité opérationnelle, mais aussi
d'optimiser l'utilisation des ressources et de favoriser la croissance de l'entreprise.
Ce projet a également souligné l'importance d'une formation adéquate pour tirer pleinement
parti de l'environnement Docker et Kubernetes déployé. Une maîtrise de ces technologies est
essentielle pour garantir leur efficacité continue et pour permettre à TELIA INFORMATIQUE
de s'adapter rapidement aux évolutions technologiques futures.
En fin de compte, la mise en place de cette architecture hautement disponible, résiliente et
performante avec Docker et Kubernetes représente une étape majeure vers la création d'un
environnement informatique agile, robuste et capable de relever les défis du monde des affaires
en constante évolution. Cette démarche positionne TELIA INFORMATIQUE pour une
croissance continue et une compétitivité accrue sur le marché numérique en perpétuelle
évolution.

Présenté par KABORE T. Timothée 2022-2023 60


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Bibliographies
Hightower, K. et Burns, B. (2017). Kubernetes Up and Running: Dive into the Future of
Infrastructure. Paris, Editions O'Reilly Media, 202 pages. Download Kubernetes: Up and
Running: Dive into the Future of Infrastructure by Brendan Burns, Joe Beda, Kelsey Hightower
(zlib.pub), consulté le 14/09/2023
Poulton, N. (2018). Docker Deep Dive. New York, Apress, 288 pages. Docker Deep Dive
(ipfs.io), consulté le 14/09/2023.
Poulton, N. (2019). The Kubernetes Book. San Francisco, Editions O'Reilly Media, 300 pages.
The Kubernetes Book, consulté le 14/09/2023.
Lankouande Faustine (2023). Etude et mise en place d’une solution de haute disponibilité dans
un environnement virtuel. Rapport de stage, Option Technologies des Réseaux et Sytèmes, ST,
Université Aube Nouvelle, Mars 2023, Ouagadougou, Burkina Faso, 59 pages.

Présenté par KABORE T. Timothée 2022-2023 61


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Webographie

https://docs.docker.com/engine/install/centos/ consulté le 01/10/23


https://hackernoon.com/how-to-deploy-kubernetes-cluster-on-centos consulté le 01/10/23
Docker Official Documentation, https://www.docker.com/, consulté le 10/09/2023.
Kubernetes Official Documentation, https://kubernetes.io/, consulté le 10/09/2023.

Présenté par KABORE T. Timothée 2022-2023 62


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Annexe
Annexe1 : Installation et configuration de TELIA ERP

1. Installation et configuration de la base de donnée


Pour garantir le bon fonctionnement de TELIA ERP, nous commencerons par l'installation et la
configuration de la base de données, un composant critique de l'ERP. Pour cela nous allons
installer PostgreSQL server et la personnalisé.

 Installation du référentiel EPEL (Extra Packages for Enterprise Linux)

yum install epel-release -y

 Installation du référentiel SCL (Software Collections)

yum install centos-release-scl -y

 Installation de Python 3.6 à partir du référentiel SCL

yum install rh-python36 -y

 Installation de diverses bibliothèques et outils de développement

yum install bzip2-devel freetype-devel nodejs-less libxslt-devel openldap-devel libjpeg-


devel gcc -y
 Ajout du référentiel PostgreSQL pour CentOS 7

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-


redhat-repo-latest.noarch.rpm -y

 Installation de PostgresSQL

yum install postgresql12 postgresql12-server postgresql12-contrib postgresql12-libs -y

 Initialisation de la base de données PostgreSQL

/usr/pgsql-12/bin/postgresql-12-setup initdb

 Démarrage du service PostgreSQL 12.

systemctl start postgresql-12

Présenté par KABORE T. Timothée 2022-2023 I


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 Configuration PostgreSQL 12.

systemctl enable postgresql-12

 Vérification de l’état du service PostgreSQL

systemctl status postgresql-12

On remarque que notre base de donnée postgresql est belle et bien fonctionnelle.

 Connexion en tant qu’utilisateur postgres et création de mot de passe

su - postgres -c "psql"

\password postgres

 Création de l’utilisateur "odoo14"

Su - postgres -c "createuser -s odoo14"

 Accès au dossier "data" et visualisation des fichiers de configurations

cd /var/lib/pgsql/12/data

Cela nous permettra d’avoir accès et éditer le fichiers de configurations "postgresql.conf" et


“pg_hba.conf “ avec la commande ci-dessous :

vi postgresql.conf

Présenté par KABORE T. Timothée 2022-2023 II


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Les modifications apporter sont :


Listen_addresses = "*" ce qui nous permet d’autoriser toutes les adresses qui désirent se
connecter et étant dans le réseau.
Port = 5432 : Le port sur lequel le serveur écoute

vi pg_hba.conf

Les modifications apporter sont :


Nous avons ajouté la ligne [host all all 192.168.1.52/24 md5 ] . Cette entrée
définit les règles d'accès pour les connexions à la base de données PostgreSQL à partir de
l'adresse IP 192.168.1.52 ou d'une plage d'adresses IP correspondant à 192.168.1.52/24. Voici
ce que cela signifie :
Host : Cela indique qu'il s'agit d'une règle d'accès basée sur l'adresse IP de l'hôte.
All : Le premier "all" signifie que cette règle s'applique à tous les utilisateurs.
Le deuxième "all" signifie que cette règle s'applique à toutes les bases de données.
192.168.1.52/24 : Cela spécifie l'adresse IP (ou la plage d'adresses IP) à partir de laquelle les
connexions seront autorisées. Dans ce cas, toutes les adresses IP dans la plage 192.168.1.52 à
192.168.1.255 sont autorisées à se connecter.
md5: Il s'agit de la méthode d'authentification utilisée pour vérifier les connexions. "md5"
signifie que PostgreSQL utilise une authentification basée sur un hachage MD5 du mot de
passe.

Présenté par KABORE T. Timothée 2022-2023 III


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 Enregistrer et quitter et la configuration est terminée.


2. Installation et configuration de l’application
De manière similaire, nous nous pencherons sur l'installation et la configuration minutieuse de
l'application elle-même. Les prérequis, les versions spécifiques, et les configurations
essentielles seront documentés en détail.
De manière similaire à la base de donnée,nous installons d’abord les dépendances ci-dessous ;
Même procédure d’installation

yum install centos-release-scl -y

yum install epel-release -y

yum install rh-python36 -y

yum install bzip2-devel freetype-devel nodejs-less libxslt-devel openldap-devel libjpeg-


devel gcc -y
 Création de l’utilisateur "odoo14"

useradd -m -U -r -d /opt/odoo -s /bin/bash odoo14

 Installation de l’utilitaire wget

Yum install wget-y

 Téléchargement du paquet wkhtmltox

wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox-
0.12.6-1.centos7.x86_64.rpm

 Installation local du paquet wkhtmltox

yum localinstall wkhtmltox-0.12.6-1.centos7.x86_64.rpm -y


 Clonage des dépôts de odoo

yum install git -y

 Passer en mode utilisateur Odoo14

su – odoo14

Présenté par KABORE T. Timothée 2022-2023 IV


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 Clonage des dépôts de odoo14 dans un autre répertoire

git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoo/odoo14/

 Activation de l’environnement python.

scl enable rh-python36 bash

 Vérification du fichier installer

 Création et activation d’un environnement virtuel python

python3 -m venv sandbox_odoo14

Source sandbox_odoo14/bin/activate

 Mise à jour de l’outil pip

pip install --upgrade pip

 Mise à jour de l’outil wheel

pip3 install wheel

 Installation du fichier requirement.txt

pip3 install -r odoo14/requirements.txt

 Désactivation de l’environnement virtuel

deactivate && exit

 Création du répertoire addons_customs

mkdir /opt/odoo/odoo14/addons_customs

Cette commande crée un répertoire "addons_customs" dans le répertoire Odoo.C’est le


dossier dans lequel nous installerons nos propres modules ou applications

 Changement de propriétaire du repertoire

chown -R odoo14: /opt/odoo/odoo14/addons_customs/

Présenté par KABORE T. Timothée 2022-2023 V


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 Edition du ficher de configuration Odoo

vi /opt/odoo/odoo14/debian/odoo.conf

db_host : 192.168.1.53
db_ port : 5432
db_user : odoo14
db_host : false
logfile : /var/log/odoo14/odoo14.log
 Création du répertoire de fichier

mkdir -p /var/log/odoo14

 Changement de propriétaire

chown -R odoo14: /var/log/odoo14/

 Edition du fichier de service systemd

vi /etc/system/system/odoo14.service

Présenté par KABORE T. Timothée 2022-2023 VI


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 Vérification des services de odoo


Cette commande actualise la configuration du gestionnaire de services systemd

systemctl daemon-reload

 Configuration du service de démarrage automatique de odoo

systemctl enable odoo14

 Vérification des services de odoo

systemctl status odoo14

Cette commande permet de voir l’état de service de odoo14.Nous constatons que odoo a été
bien installé et fonctionne correctement (état : Actif)

 Vérification sur l’état actuel du firewalld


Cette commande renseigne l’état actuelle du firewalld.

systemctl status firewalld.service

 Arrêt et désactivation des services du firewalld


Nous devons arrêter le firewall pour nous assurer qu’il n’y ai pas un problème de connexion.

systemctl stop firewalld.service

Présenté par KABORE T. Timothée 2022-2023 VII


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

systemctl disable firewalld.service

 Vérifions si le firewall a été désactivé


Nous constations que le firewall a été désactivé avec succès

systemctl status firewalld.service

 Configurons la page d’accueil de odoo


Pour cela nous allons taper l’adresse 192.168.1.52/8069 sur notre navigateur Google chrome.
Nous obtenons la page d’authentification d’où on va renseigner le nom de la base de donnée et
le mot de passe.

Présenté par KABORE T. Timothée 2022-2023 VIII


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

 Vérifions l’interface de odoo


Une fois l’authentification bien fait nous accédons à l’interface ci-dessous qui est l’interface de
notre application odoo avec les modules par défaut.

 Prochaine reconnexion
Saisissons l’adresse 192.168.1.52 :8069 sur notre navigateur Google chrome puis renseigner le
nom d’utilisateur et le mot de passe.

Présenté par KABORE T. Timothée 2022-2023 IX


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Annexe2 : Installation de Prometheus et Grafana pour la surveillance des métriques.

Présenté par KABORE T. Timothée 2022-2023 X


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Tables des matières


Dédicace ..................................................................................................................................... ii
Remerciements .......................................................................................................................... iii
Sigles et abréviations ................................................................................................................. iv
Résumé ...................................................................................................................................... vi
Abstract ..................................................................................................................................... vi
Liste des figures ....................................................................................................................... vii
Liste des tableaux .................................................................................................................... viii
Introduction générale.................................................................................................................. 1
Chapitre I : Présentation de la structure de formation et d'accueil ............................................. 2
Introduction partielle .............................................................................................................. 2
1. Présentation de la structure de formation ........................................................................ 2
1.1. Description de l'établissement de formation ............................................................ 2
2. Présentation de la structure d’accueil .............................................................................. 4
2.1. Historique ................................................................................................................. 4
2.2. Missions et domaine d’activités ............................................................................... 4
2.3. Organigramme De TELIA INFORMATIQUE ........................................................ 7
Conclusion .............................................................................................................................. 7
Chapitre II : Etat des lieux de l'existant et démarche de résolution ........................................... 8
Introduction partielle .............................................................................................................. 8
1. Description de l'infrastructure informatique existante .................................................... 8
1.1. Architecture matérielle et logicielle ......................................................................... 8
1.2. Applications et services déployés .......................................................................... 11
2. Analyse critique du système informatique .................................................................... 12
2.1. Points forts et faiblesses ......................................................................................... 12
3. Démarche de résolution et objectifs du stage ................................................................ 13
3.1. Plan d'action ........................................................................................................... 13
4. Justification du choix de docker et kubernetes .............................................................. 14
4.1. Présentation du thème ............................................................................................ 14
4.2. Problématique ........................................................................................................ 15
4.3. Résultats attendus pour TELIA ERP ...................................................................... 16
4.4. Les acteurs du projet et le planning ....................................................................... 18
Chapitre III : Cadre théorique et conception de l'architecture avec docker et kubernetes ....... 21
Introduction partielle ............................................................................................................ 21
1. Haute disponibilité et résilience dans les applications et ERP ...................................... 21

Présenté par KABORE T. Timothée 2022-2023 ix


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

1.1. Définition et enjeux................................................................................................ 21


1.2. Approches et mécanismes pour la haute disponibilité ........................................... 22
1.3. Importance de la résilience et de la haute disponibilité pour les applications ....... 25
2. Présentation de docker et de ses fonctionnalités clés .................................................... 26
2.1. Avantages de Docker pour les applications et ERP ............................................... 27
3. Présentation de Kubernetes et de son rôle dans l'orchestration ..................................... 28
3.1. Gestion de la redondance et système de sécurisation ............................................ 29
3.2. Avantages de Kubernetes pour l'architecture haute disponibilité .......................... 31
4. Choix et Comparaison avec d'autres technologies similaires........................................ 32
4.1. Technologies libres et propriétaires ....................................................................... 32
4.2. Pourquoi docker et kubernetes sont les choix préférés ? ....................................... 33
5. Analyse des besoins et spécifications de TELIA ERP .................................................. 34
5.1. Description de TELIA ERP.................................................................................... 34
5.2. Cas d'utilisation et scénarios d'utilisation .............................................................. 34
6. Schéma architectural et planification du cluster kubernetes ......................................... 35
7. Informations sur les serveurs du cluster ........................................................................ 37
Conclusion ............................................................................................................................ 38
Chapitre IV : Mise en place de l’architecture hautement disponible dans un environnement
virtuel ....................................................................................................................................... 39
Introduction partielle ............................................................................................................ 39
1. Installation et configuration de TELIA ERP ................................................................. 39
2. Conteneurisation des composants avec docker ............................................................. 39
2.1. Installation et configuration de Docker sur toutes les machines............................ 39
2.2. Création des images Docker pour chaque composant ........................................... 40
2.3. Test des images Docker avant le déploiement ....................................................... 43
2.4. Push des images docker sur nos registres docker hub ........................................... 44
3. Installation et configuration du cluster kubernetes ....................................................... 46
3.1. Création du cluster kubernetes ............................................................................... 46
3.2. Formation du cluster .............................................................................................. 52
4. Déploiement des images dans le cluster kubernetes ..................................................... 53
4.1. Déploiement initial................................................................................................. 53
4.2. Mise en place des services Kubernetes .................................................................. 55
5. Tests d'intégration après le déploiement........................................................................ 56
6. Installation de Prometheus et Grafana pour la surveillance des métriques. .................. 57
7. Coût estimatif du projet ................................................................................................. 57

Présenté par KABORE T. Timothée 2022-2023 x


Etude et mise en place d’une architecture hautement disponible, résiliente et performante pour TELIAERP

Conclusion ............................................................................................................................ 58
PERSPECTIVES & SUGGESTIONS ..................................................................................... 59
Conclusion générale ................................................................................................................. 60
Bibliographies .......................................................................................................................... 61
Webographie ............................................................................................................................. 62
Annexe ........................................................................................................................................ I

Présenté par KABORE T. Timothée 2022-2023 xi

Vous aimerez peut-être aussi