Déploiement et gestion d'un site web avec Rancher
-
Upload
anthony-sigogne -
Category
Software
-
view
81 -
download
2
Transcript of Déploiement et gestion d'un site web avec Rancher
DÉPLOIEMENT ET GESTION D'UN SITE WEB AVEC RANCHER
Anthony Sigogne24 novembre 2016
1
OBJECTIFS
• Montrer les étapes de déploiement et de gestion d’un site web avec une solution basée sur Docker et Rancher
• Montrer les avantages et les inconvénients de la solution
• Déterminer les cas d'utilisation de la solution2
MON PROFIL
• Docteur en informatique,10 ans de R&D
• Freelance depuis début 2016 via mon entreprise indépendante ByProg (https://www.byprog.com)
• 6 mois d’utilisation de Docker et Rancher, à titre personnel et professionnel
3
SOMMAIRE
• I - Infrastructures
• II - Orchestrateur Rancher
• III - Déploiement et mise à jour
• IV - Cas d'utilisation
4
I - INFRASTRUCTURES
5
Serveur
Site Web (Wordpress, Drupal,
Python, PHP…)Serveur HTTP
Protocole HTTPS
Infrastructure standard (sans Docker)
Outil Analytics
Visiteur
byprog.comBase de données
ContainerContainer
Serveur
Container
Container
I - INFRASTRUCTURES
6
Site Web (Wordpress, Drupal,
Python, PHP…)Serveur HTTP
Protocole HTTPS
Infrastructure avec Docker
Outil Analytics
Visiteur
byprog.com
Container
Base de données
I - INFRASTRUCTURESLes deux infrastructures se ressemblent fortement, à quoi bon utiliser Docker ?
=> Multiples raisons :
• isolation des briques
• redéploiement rapide
• mise à jour des briques aisée,…
=> Orchestrateur de containers : Rancher7
8
ContainerContainer
Serveur
Container
Container
Site Web (Wordpress, Drupal,
Python, PHP…)Serveur HTTP
Protocole HTTPSOutil AnalyticsContainer
Base de données
I - INFRASTRUCTURESOrchestrateur de containers Docker
Orchestrateur
II - RANCHER• http://docs.rancher.com/rancher/v1.2/en/
• Orchestrateur de containers Docker, accessible depuis une interface web ergonomique et efficace
• Le serveur Rancher est un container Docker
• Catalogue de containers disponible
• Connexion possible de plusieurs hôtes Rancher9
Serveur hôte II
Serveur hôte IContainer
II - RANCHER
10
Container
Site Web Serveur HTTP
Visiteurbyprog.com
Container
Base de données
Serveur hôte III
Container
Outil Analytics
Connexion de plusieurs hôtes Rancher
OrchestrateurRancher
II - RANCHER
11
Interface Utilisateur
ContainerServeur
III - DÉPLOIEMENT
12
Container
Container
ContainerSite Web
Serveur HTTP
Protocole HTTPSOutil Analytics
Visiteurbyprog.com
Container
Base de données
1I1
III
IVV
Etapes de déploiement du serveur web
OrchestrateurRancher
III - DÉPLOIEMENT• Site Web : Langage Python, Framework Flask (http://
flask.pocoo.org/)
• Base de données : MySQL (https://www.mysql.com/)
• Serveur HTTP : Nginx (https://www.nginx.com/)
• Protocole HTTPS : LetsEncrypt (https://letsencrypt.org/)
• Outil Analytics : Piwik (https://piwik.org/)13
Logiciels utilisés pour la démonstration
Serveur
III - DÉPLOIEMENT
14
I - Base de données MySQL
Container
Base de données
port 3306
Dossier fichiers base de données
Volume
Serveur
III - DÉPLOIEMENT
15
II - Site Web Python
Container
Base de données
Container
Site Web
port 3306
port 5000
Serveur
III - DÉPLOIEMENT
16
III - Serveur HTTP Nginx
Container
Base de données
Container
Site WebPython
port 3306
port 80
Container
Serveur HTTP
port 5000
Serveur
III - DÉPLOIEMENT
17
IV - Protocole HTTPS
Container
Base de données
Container
Site WebPython
port 3306Container
Serveur HTTP
port 5000
Container
HTTPS
port 443
Serveur
III - DÉPLOIEMENT
18
V - Outil Analytics
Container
Base de données
Container
Site WebPython
port 3306Container
Serveur HTTP
port 5000
Container
HTTPS
port 443
Container
Outil Analytics
port 9000
III - DÉPLOIEMENT
19
Export des configurations Docker et Rancher
III - DÉPLOIEMENT
20
Mise à jour du site
Exploiter le système de versioning de Docker
Modifier fichiers brique
Regénérer container
Envoi sur un dépôt
RancherModification
manuel version
Toujours la dernière version
IV - CAS D'UTILISATION
• UI de Rancher intuitive même pour un néophyte
• Déploiement rapide des briques du site
• Taille souvent élevée des images de containers
• Temps de configuration équivalent à une méthode de déploiement standard (sans Docker)
21
Avantages et inconvénients de Docker et Rancher
IV - CAS D'UTILISATION
• Nombre important de visites quotidiennes (ex: e-commerce)
• Infrastructure contenant beaucoup de briques (ex: gestion des sites de sous-domaines)
• Modifications régulières sur les briques (ex: logiciel disposant d'une UI)
22
Pour quels types de site ?
POUR ALLER PLUS LOIN• Pourquoi Dockeriser son site web ? http://www.journaldunet.com/
solutions/cloud-computing/1159812-pourquoi-dockeriser-son-site/
• Automatiser le déploiement d'un site web :
• Valentin Ouvrard, FADD https://fadd.opsnotice.xyz/home/
• Autres orchestrateurs :
• Kubernetes http://kubernetes.io/
• Docker Swarm https://docs.docker.com/swarm/ 23
24