Vous êtes sur la page 1sur 38

Projet de Fin

dEtude
Pour lObtention du Diplme
dIngnieur dEtat en
Tlcommunication et
Conception
et implmentation
dune
Technologies
de lInformation

nouvelle approche de dploiement des


applications Wakanda dans le cloud
Prsent par :
M. TABTAOUI
Mohamed
M. DISSI Mustapha

Membres De Jury:
M. BELMEKKI Abdelhamid
(INPT)
M. BARAKAT Hicham
(INPT)
M. TRIBAK Abdelwahed
(INPT)
M. ANBARI Zakaria (4D)
Anne universitaire :
2015/2016

Introduc
tion

Dveloppeu
r

Administrat
eur
Applicatio
n
Machine
virtuelle

Bins/libs
Host OS
Infrastructure as a
service
2

Introduc
tion

Dveloppeu
r

Administrat
eur

Machine
virtuelle

Conteneurisati
on

Host OS
Infrastructure as a
service
2

Introduc
tion
Manager
Dveloppeu
r

Orchestrateu
r

Service
Administrat
discovery

eur

Docker

Docker

Docker

Docker

Host OS

Host OS

Host OS

Host OS

Infrastructure as a
service

Plan
1

Contexte gnral
Technologies utilises

Etude et optimisation de la solution


existante dorchestration
Conception et implmentation
de la nouvelle solution

Conclusion et
perspectives

Prsentati
onLe
de
lorganism
plan
e
1

Conduite du
projet

Contexte du projet
Contexte
gnral

Planificatio
n

Socit franaise cre


en 1984

Technologies
utilises
Etude et optimisation
Acteur important du
de la solution
3
march de l'dition
existante
logicielle
dorchestration
Conception et
implmentation
4
de la nouvelle
solution
Produits de lentreprise
Conclusion et
5
perspectives
2

Chiffre daffaire 11 441


168
2014

Contexte
Prsentati
gnral

implmentation Conclusion et
de la solution
de la nouvelle perspectives
existante
solution
Planificatio
Conduite du
dorchestration
Contexte du projet
n
projet

Technologies
utilises

on de
lorganism
e

Produits de 4D

Systme
de gestionde
de DB
la 1re plateforme
relationnelles
dveloppement
end to-end
graphique
JavaScript

Contexte
gnral

Prsentatio
n de
lorganisme

Technologies
utilises
Contexte du
projet

implmentation Conclusion et
de la solution
de la nouvelle perspectives
existante
Planificatio
solution
Conduite du
dorchestration
n
projet

Dveloppement

Dploieme
nt

Orchestrateur
Plateforme Wakanda
Dveloppeur

Dhost
Py

Solution A

Dploy
er

Partage non optimal de


ressources en terme de
cloud
CPU, RAM et Stockage.
Schedul Schedul
Scheduler agit
erOrchestrateur
er
directement sur les
DB
ressources de chaque
machine.
Manque dlasticit et
dagilit souhaite
linfrastructure.

Conteneurisati
on
Conteneurisati

Conteneurisati
on
Conteneurisati

Host OS
on
Host OS
on
Host OS
Host
Infrastructure
asOS
a
service as a
Infrastructure
service
8

Contexte
gnral
Prsentatio
n de
lorganisme

Objectif
s

Technologies
utilises
Contexte du
projet

Solution court terme

implmentation Conclusion et
de la solution
de la nouvelle perspectives
existante
solution
Planificatio
Conduite du
dorchestration
n
projet

Orchestrateur
Algorithme
doptimisation

Dhost
Py

Schedul
er

Schedul
er
DB

Conteneurisati
on

Conteneurisati
on

Host OS

Host OS

Infrastructure as a
service
9

Contexte
gnral
Prsentatio
n de
lorganisme

Objectif
s

Technologies
utilises
Contexte du
projet

Solution long terme

implmentation Conclusion et
de la solution
de la nouvelle perspectives
existante
solution
Planificatio
Conduite du
dorchestration
n
projet

Orchestrateur
Orchestrateur
Container Orchestrator
Dhost
Schedul Schedul
Py Cluster er
Manager er
DB

Conteneurisati
on
on

Conteneurisati
on
on

Host OS

Host OS

Infrastructure as a
service
10

Contexte
gnral
Prsentatio
n de
lorganisme

implmentation Conclusion et
de la solution
de la nouvelle perspectives
existante
solution
Planificatio
Conduite du
dorchestration
Contexte du projet
n
projet

Technologies
utilises

METHODE AGILE SCRUM

Runion
quotidienne
2 semaines

Livrable

11

Contexte
gnral
Prsentatio
n de
lorganisme

implmentation Conclusion et
de la solution
de la nouvelle perspectives
existante
solution
Planificati
Conduite du
dorchestration
Contexte du projet
on
projet

Technologies
utilises

Diagramme de Gantt

Conception et
implmentation de la
nouvelle solution

Etude et optimisation
de la solution
actuelle

Etude comparative
des solutions open
source
12

Plan
1

Contexte gnral
2

Technologies utilises

13

de la solution
Technologies
existante
utilises
Comparaison
dorchestration
virtualisation et
containrisation
Serveur
Machine
virtuel 1

App1

App2

Lib/
Bins

Lib/
Bins

implmentation Conclusion et
de la nouvelle perspectives
Docker solution
Serveur
Conteneur
1

Machine virtuel 2

LXC

Contexte
gnral

OS
OS
Virtualisa
invit
invit
tion

Conteneur 2

App1

App2

Lib/
Bins

Lib/
Bins

Conteneuris
ation

Hyperviseur
OS Hte

OS Hte

Matriel

Matriel
14

de la solution
Technologies
existante
utilises
Comparaison
dorchestration
virtualisation et
containrisation

implmentation Conclusion et
de la nouvelle perspectives
Dockersolution

API

DOCKER

Conteneur
1

LXC

Contexte
gnral

App2

App3

Lib/
Bins

Lib/
Bins

Docker hub ou
rpertoire local
Image : app1

OS Hte

Image : app2

Matriel

Image : app3
15

Conteneur
2

Plan
1

Contexte gnral
Technologies utilises

Etude et optimisation de la solution


existante dorchestration

16

optimisation de la
implmentation Conclusion et
solution
de la nouvelle perspectives
existante
Gestion actuelle du
Algorithme solution
dorchestration
dinformation de
Implmentation
Scheduler
doptimisation
production

Contexte
Technologies
utilises
gnral
Systme
SIC

Dveloppe
urs

SIP

proxy

Orchestra
teur

Docker

17

optimisation de la
implmentation Conclusion et
solution
de la nouvelle perspectives
existante
Gestion actuelle
Algorithme solution
dorchestration
Implmentation
du Scheduler
doptimisation

Contexte
Technologies
utilises
gnral
Systme
dinformation de
production

Orchestrateur
Dhost
Py

Schedul
er

Schedul
er
DB

Docker

Docker

Docker

Host OS

Host OS

Host OS

18

optimisation de la
implmentation Conclusion et
solution
de la nouvelle perspectives
existante
Gestion actuelle du
Algorithme solution
dorchestration
Implmentation
Scheduler
doptimisation

Contexte
Technologies
utilises
gnral
Systme
dinformation de
production

Algorithme doptimisation
Dtection des cas non
optimaux
Choisir un meilleur chemin
doptimisation
migration

19

optimisation de la
implmentation Conclusion et
solution
de la nouvelle perspectives
existante
Gestion actuelle du
Algorithme solution
dorchestration
Implmentation
Scheduler
doptimisation

Contexte
Technologies
utilises
gnral
Systme
dinformation de
production

Orchestrateur
Dhost
Py

Schedul
er

Schedul
er
DB

Docker

Docker

Docker

Host OS

Host OS

Host OS

20

optimisation de la
implmentation Conclusion et
solution
de la nouvelle perspectives
existante
Gestion actuelle du
Algorithme solution
dorchestration
Implmentation
Scheduler
doptimisation

Contexte
Technologies
utilises
gnral
Systme
dinformation de
production

Implmentation

Choisir le moment
optimiser.
Orchestrateur

Dhost
Py

idal

pour

Ajouter
des exceptions pour les
Schedul Schedul
er
er spciales.
applications
DB

Cibler les lments qui doivent


intgrer le code doptimisation.

21

Plan
1

Contexte gnral
Technologies utilises

Etude et optimisation de la solution


existante dorchestration
Conception et implmentation
de la nouvelle solution

22

Contexte
gnral

de la solution
existante
dorchestration
Test & Validation

Technologies
utilises
Conception &
Implmentation

Haute
Gestionnaire
de clusterdisponibi
Critres

Technologies

implmentation Conclusion et
de la nouvelle perspectives
solution
Intgration

Rapidit
du
cluster

Visibilit
sur les
ressource
s

Ax sur
les
contene
urs

Extensibili
t
des
Scheduler

Taille
de
cluster

Rapide

Oui

Oui

Oui

1000
nuds

Oui

Moins
Rapide

Non

Moins
ax

Non
Limit

100
nuds

lit

Oui

(ZooKeep
er)

(Etcd)

Apache Mesos

23

CoreOS

Contexte
gnral

Technologies
utilises
Conception &
Implmentation

Stratgies
Critres
Ordonnanceur de conteneurs
dorchestra

Technologies

implmentation Conclusion et
de la nouvelle perspectives
solution
Intgration

de la solution
existante
dorchestration
Test & Validation

Etat des
conteneurs

tion

Intgrabil
it

Persist
ent
volume

Load
balanci
ng

Max
des
nud
s

Marathon
Calcul Kubernetes
Oui
Mesos
et
Oui
dune
CoreOS
moyenne

Oui

Fleet
1000

Arbitraire

Oui

Mesos

Oui

Oui

1000

Arbitraire

Non

CoreOS

Non

Non

100

24

Contexte
gnral

Technologies
utilises
Conception &
Implmentation

de la solution
existante
dorchestration
Test & Validation

implmentation Conclusion et
de la nouvelle perspectives
solution
Intgration

Kubernetes
Mesos Master

Conteneu
rs

Kubelet

Kubelet

Kubelet

Kubelet

Docker

Docker

Docker

Docker

Mesos
Slave

Mesos
Slave

Mesos
Slave
25

Mesos
Slave

Contexte
gnral

Technologies
utilises
Conception &
Implmentation

de la solution
existante
dorchestration
Test & Validation

implmentation Conclusion et
de la nouvelle perspectives
solution
Intgration

Gestion des ressources


MASTE
R
BUS LISTENER
Python
module

Scale Up
API/CL
I

MESOS KUBERNETES

<< Cloud
Formation>>

Kubelet
Docker
Nud
1

Kubelet
Docker
Nud 2

Kubelet
Docker
Nud 3

26

ClusterWat
ch

Contexte
gnral

Technologies
utilises
Conception &
Implmentation

de la solution
existante
dorchestration
Test & Validation

implmentation Conclusion et
de la nouvelle perspectives
solution
Intgration

Gestion des ressources


MASTE
R
BUS LISTENER
Python
module

Scale
Down

API/CL
I

MESOS KUBERNETES

Migratio
n

Kubelet
Docker
Nud
1

Kubelet
Docker
Nud 2

<< Cloud
Formation>>

Kubelet
Docker
Nud 3

27

ClusterWat
ch

Contexte
gnral

Technologies
utilises
Conception &
Implmentation

Dcouverte de service

de la solution
existante
dorchestration
Test & Validation

implmentation Conclusion et
de la nouvelle perspectives
solution
Intgration

Fixe

Adresse_ip:N_Port <-->
Nom_domain

Variable

Client
REDIS

Proxy

Python
module

(NGINX
)

API/CL
I

DNS

<< Http>>

KUBERNETE
MESOS S

Dveloppeur

28

Contexte
gnral

Technologies
utilises
Conception &
Implmentation

implmentation Conclusion et
de la nouvelle perspectives
solution
Intgration

de la solution
existante
dorchestration
Test & Validation

Synchronisation
Python
module

MESOS

Application type HA

Container
Master

Container
Slave

Maste
r

KUBERNETES

App
1Wakand

App
2Wakand

App
Wakand
3

App
Wakand
1

volume1

volume1

volume1

volume1

a
server

Garantir la haute disponibilit

a
server

a
server

Kubelet

Kubelet

Nud 1
Docker

Docker

Nud 1
SSh rsync --/volume1
--@Node2/volume1

29

a
server

Nud 2

Slave

Contexte
gnral

Technologies
utilises
Conception &
Implmentation

de la solution
existante
dorchestration
Test & Validation

implmentation Conclusion et
de la nouvelle perspectives
solution
Intgration

Architecture gnrale

MASTE
R

Gestion de
ressources

BUS LISTENER

Python
module

API/CL
I

Service
discovery
Proxy
(NGIN
X)

DNS

Clie
nt

<<
Http>
>

MESOS KUBERNETES

Dveloppeur
<< Cloud
Formation>>

Kubelet
Docker
Nud
1

Kubelet
Docker
Nud 2

Kubelet
Docker
Nud 3

30

Contexte
gnral

de la solution
existante
dorchestration
Tests et
validation

Technologies
utilises
Conception &
Implmentation

implmentation Conclusion et
de la nouvelle perspectives
solution
Intgration

5 tapes
Cration dune
application simple

HA

Mise jour dune


application
haute

Simpledisponibilit
haute
Simple
disponibilit

Demande dun nouveau


serveur

Cration du volume persistent


Cration du service
X
Cration de conteneur
Cration de rpertoire git
2
Mise a jour de la base de donnes
REDIS

3
3 tapes

La
La mise
mise a
a jour
jour de
de rplication
rplication
Cration
du rpertoire
Suppression
du rpertoire
Synchronisation
des donnes
Suppression du volume

2 tapes

Dtection de besoin
Dmarrage de la nouvelle machine
virtuel

31

Temps Moyen
20
15 s

Temps Moyen
10 s
17

Temps Moyen
Temps de
dmarrage

Contexte
gnral

de la solution
existante
dorchestration
Tests et
validation

Technologies
utilises
Conception &
Implmentation

La synchronisation

2 tapes

Dtection des application HA


synchronisation

32

implmentation Conclusion et
de la nouvelle perspectives
solution
Intgration

Temps dxecution
Chaque 10 s

Contexte
gnral

Technologies
utilises

Conception

de la solution
existante
dorchestration
Implmentation

implmentation Conclusion et
de la nouvelle perspectives
solution
Intgration

BUS

Kubelet
Docker
Nud
1

Kubelet
Docker
Nud 2

33

Kubelet
Docker
Nud 3

Plan
1

Contexte gnral
Technologies utilises

Etude et optimisation de la solution


existante dorchestration
Conception et implmentation
de la nouvelle solution

Conclusion et
perspectives

34

Contexte
gnral

implmentation Conclusion et
de la solution
de la nouvelle perspectives
existante
solution
dorchestration
Perspectives
Conclusion

Technologies
utilises

Conception dune solution court


terme pour loptimisation de
lorchestrateur

Etude comparative pour le choix


dune meilleure solution de gestion
dorchestration.
Conception et Implmentation dune
nouvelle architecture base sur la
solution choisie

35

Contexte
gnral

implmentation Conclusion et
de la solution
de la nouvelle perspectives
existante
solution
dorchestration
Perspectives
Conclusion

Technologies
utilises

Conteneurisation
larchitecture wakanda

36

de

Merci pour votre attention

37

Projet de Fin
dEtude
Pour lObtention du Diplme
dIngnieur dEtat en
Tlcommunication et
Conception
et implmentation
dune
Technologies
de lInformation

nouvelle approche de dploiement des


applications Wakanda dans le cloud
Prsent par :
M. TABTAOUI
Mohamed
M. DISSI Mustapha

Membres De Jury:
M. BELMEKKI
Abdelhamid(INPT)
M. BARAKAT Hicham
(INPT)
M. TRIBAK Abdelwahed
(INPT)
M. ANBARI Zakaria (4D)
Anne universitaire :
Mlle. BELFIKIH Fatima (4D)
2015/2016