Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Déploiement et gestion d'un site web avec Rancher

344 views

Published on

Nous verrons comment déployer en quelques minutes un site web sur un serveur privé grâce à une infrastructure sous forme de containers Docker : du serveur HTTP (Nginx) à la certification SSL (LetsEncrypt) en passant par l'installation d'un outil analytics (Piwik). Pour créer et gérer notre stack de containers, nous utiliserons Rancher, un service d'orchestration basé sur une interface utilisateur ergonomique.

Présentation faite lors du Docker Meetup Nouméa du 24/11/2016 :
http://www.meetup.com/fr-FR/Docker-Noumea/events/234912937/?eventId=234912937

Published in: Software
  • Be the first to comment

Déploiement et gestion d'un site web avec Rancher

  1. 1. DÉPLOIEMENT ET GESTION D'UN SITE WEB AVEC RANCHER Anthony Sigogne 24 novembre 2016 1
  2. 2. 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 solution 2
  3. 3. 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
  4. 4. SOMMAIRE • I - Infrastructures • II - Orchestrateur Rancher • III - Déploiement et mise à jour • IV - Cas d'utilisation 4
  5. 5. I - INFRASTRUCTURES 5 Serveur Site Web (Wordpress, Drupal, Python, PHP…) Serveur HTTP Protocole HTTPS Infrastructure standard (sans Docker) Outil Analytics Visiteur byprog.com Base de données
  6. 6. Container Container 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
  7. 7. I - INFRASTRUCTURES Les 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 : Rancher 7
  8. 8. 8 Container Container Serveur Container Container Site Web (Wordpress, Drupal, Python, PHP…) Serveur HTTP Protocole HTTPSOutil Analytics Container Base de données I - INFRASTRUCTURES Orchestrateur de containers Docker Orchestrateur
  9. 9. 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 Rancher 9
  10. 10. Serveur hôte II Serveur hôte I Container II - RANCHER 10 Container Site Web Serveur HTTP Visiteur byprog.com Container Base de données Serveur hôte III Container Outil Analytics Connexion de plusieurs hôtes Rancher Orchestrateur Rancher
  11. 11. II - RANCHER 11 Interface Utilisateur
  12. 12. Container Serveur III - DÉPLOIEMENT 12 Container Container Container Site Web Serveur HTTP Protocole HTTPSOutil Analytics Visiteur byprog.com Container Base de données 1 I1 III IVV Etapes de déploiement du serveur web Orchestrateur Rancher
  13. 13. 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
  14. 14. 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
  15. 15. Serveur III - DÉPLOIEMENT 15 II - Site Web Python Container Base de données Container Site Web port 3306 port 5000
  16. 16. Serveur III - DÉPLOIEMENT 16 III - Serveur HTTP Nginx Container Base de données Container Site Web Python port 3306 port 80 Container Serveur HTTP port 5000
  17. 17. Serveur III - DÉPLOIEMENT 17 IV - Protocole HTTPS Container Base de données Container Site Web Python port 3306 Container Serveur HTTP port 5000 Container HTTPS port 443
  18. 18. Serveur III - DÉPLOIEMENT 18 V - Outil Analytics Container Base de données Container Site Web Python port 3306 Container Serveur HTTP port 5000 Container HTTPS port 443 Container Outil Analytics port 9000
  19. 19. III - DÉPLOIEMENT 19 Export des configurations Docker et Rancher
  20. 20. 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 Rancher Modification manuel version Toujours la dernière version
  21. 21. 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
  22. 22. 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 ?
  23. 23. 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. 24. 24

×