/
Présentation  Claranet Meetup Présentation  Claranet Meetup

Présentation Claranet Meetup - PowerPoint Presentation

jezebelfox
jezebelfox . @jezebelfox
Follow
343 views
Uploaded On 2020-08-06

Présentation Claranet Meetup - PPT Presentation

Cloud Native 20 septembre 2016 Groupe 6 pays 18 bureaux 35 data centres 1100 collaborateurs 950 ingénieurs 5500 clients 256 M de CA France 5 sites Paris Suresnes Rennes Lille Caen ID: 799825

les docker des consul docker les consul des swarm application webapp service web nginx server comment amp http world

Share:

Link:

Embed:

Download Presentation from below link

Download The PPT/PDF document "Présentation Claranet Meetup" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Présentation Claranet

Meetup

Cloud Native 20

septembre

2016

Slide2

Groupe

6

pays

18 bureaux 35 data centres+1100 collaborateurs+950 ingénieurs +5500 clients+256 M€ de CA

France5 sites(Paris, Suresnes, Rennes, Lille, Caen)5 data centres+ 390 collaborateurs1100 clients1er partenaire AWS+76 M€ de CA

Spécialiste Internet depuis 1996

Chiffres

clés

Slide3

H

ébergement

& infogérance

d’applications critiques

Audit sécurité & application Conseil en architecture Transformation digitale Modèle économique et technique adaptable et évolutif

Déploiement d’architectures, automatisation

Conseils

en a

daptation

et optimisation des applications Migration des applications et données

24x7 Infogérance applicative DevOps, intégration continue SecOps, sécurité opérationnelle Amélioration continue Portail clients

Sécurité Performance Disponibilité Gouvernance

H

ébergement

&

infogérance

d’applications

critiques

Slide4

Business Apps

Cloud Public

Critical Data

Web

Expertises spécifiques

Institutionnel

Événementiel

eCommerce

PCI-DSSeSanté “Go to cloud”

AWS SecOps Azure “Go to SaaS”

S.I

Collaboration

IoT

/Big Data

On-

prem

Slide5

Positionnement

Gestion de l’Application

3-tiers (présentation, moteur applicatif, base de données)

MCO Applicative 24/7

Sur procédure

Support de l’OS

Gestion des patchs, Monitoring

Support Matériel

Firewall, Load-balancers, stockage, serveurs de sauvegarde,...

Infrastructure Datacentre

Espace au sol, refroidissement,

électricité, sécurité physique

Réseau Infrastructure

WAN, réseau privé,

sécurité

Managed

Hosting

Managed

Hosting

Plus

Managed

Application

Hosting

Enjeux Business

Augmenter le revenu, réduire les coûts, améliorer la visibilité de la marque, faire face à des pics de charge,

Améliorer la sécurité, la disponibilité, la performance

Slide6

De l’utilisateur final à l’application

Antivirus

Cache

Infrastructure

Cache Local

CDN

CDN

Sécurité

Firewall

Anti-

DDoS

StockageSauvegardeArchivage

PCA / PRAIPSWAFServices ManagésOS

Continuité

Base de données (RDS, No SQL, MySQL, DB2, SQL Server, …)

Middleware (J2EE, PHP, …)

Applications (Drupal, Hybris

, CQ5

, Magento, …)

Claranet

Cloud

P

ublic

Slide7

Troubleshooting

Applicatif

avec monitoring 3

niveaux (end-user) Gestionaire applicatif Application Performance Management (APM) Disponibilité applicative (PCA, PRA)

Ing

énierie

en 24x7

sur

site, basé en France Platform Manager Automatisation, Déploiement continu, Infrastructure as Code

Prévention (pentest, audit de vulnérabilité) Détection et réaction (WAF, IPS, SIEM, log mgmt, DDoS protection) SOC : Sécurité opérationalle associée au MCO

applicatif

Certifications (PCI-DSS, HDS, ISO-27001)

Claranet Lab :

Incubateurs

de

nouvelles

technologies

POC :

co-

investissement

Veille

technologique

, ateliers techniques

Mobilisation

d'experts

en mode

projet

(scrum, agile)

Notre approche

différenciante

Application

first

DevOps

SecOps

®

I

nnovation by design

Slide8

Magic Quadrant,

Managed Hybrid Cloud Hosting Europe

Leader 2013, 2014, 2015 et 2016

Certifications et reconnaissance

Classement IP-Label : Hérbergeurs haute-disponibilité

Slide9

Références sectorielles

Pure

players &

eCommerceSarenzaEntre particuliersEasyvoyageTravelsoft

Voyageurs du mondeMyMajorCompany BilletReducDiorPrivate outletNetVibesRégions JobsAd4ScreenGeneanetEpticaJolie cloud

BluekiwiWitbeOrcanta

Célio

Médias

Édition

, events

TV5 MondeL‘ExpressPublic SénatMeltyEditions Francis Lefevre1997 MediaVoiles & VoiliersPink TVTêtuLes cahiers du footLe

GorafiLes éditions indépendantesHavas 360Particuliers et finances éditionBauer Média…Marchés

Publics &institutionnels

Bretagne Online

Chambres d’Agricultures

Chateau de Versailles

Comutitres

InpesInstitut

Français

Medecins

sans

frontieres

Rennes

Métropole

Sidaction

Solidarité

Sida

Telethon

World Food Program

eSanté

Healthcare

Voluntis

Agfa Healthcare

Amedim

Basse

Normandie

Blue

Kango

CHIC

Mutualité

Française

Philips

Poitou Charente

Sephira

Telemis

Unilabs

CAC40

Grandes

Entreprises

Airbus

Atos

Bouygues

Télécom

Celio

Décathlon

GDF Suez

IFCAM (

Crédit

Agricole

)

Orange

Societe

Generale

Sojasun

Somfy

ThyssenKrupp

Total

Transdev

Veolia

Environnement

Yves

Rocher

Slide10

Docker clustering

Présentation rapide

Les enjeux du

clusteringEcosystème autour de docker

CHEF DE PROJET & EXPERTS SECURITESCHEF DE PROJET

Slide11

Docker clustering

Présentation rapide

Les enjeux du

clusteringEcosystème autour de docker

CHEF DE PROJET & EXPERTS SECURITESCHEF DE PROJET

Slide12

Docker clustering

Présentation rapide

Les enjeux du

clusteringEcosystème autour de docker

CHEF DE PROJET & EXPERTS SECURITESCHEF DE PROJET

Slide13

Monolith application

Developers

APPS

Delivery pipeline

Release

Test

Build

Server

OS

KernelBin / LibsAPP AHello World, Welcome World

Slide14

Microservices application

Developers

Service

Delivery pipeline

Release

Test

Build

Server

OS

KernelBin / LibsHello WorldServiceServiceServices

Release

Test

Build

Release

Test

Build

Service APP B

Welcome

World

Hello World

Team

Welcome

World

Team

Slide15

Microservices Application

Server

OS

KernelBin / Libs

Welcome WorldAPP BHello World

Slide16

Microservices Application

Server

OS

KernelBin / LibsAPP A

WelcomeWorldAPP BHello WorldBin /

LibsAPP BBin / Libs

APP C

Slide17

???

Les solutions ?

Virtualenv

Machine virtuelle par serviceUtiliser chroot

Slide18

BUILD

PULL

RUN

CLIENT

HOST

DAEMON

REGISTRY

CLI

REMOTE

API

CONTAINERS

IMAGES

Slide19

BUILD

PULL

RUN

CLIENT

HOST

DAEMON

REGISTRY

CLI

REMOTE

API

CONTAINERS

IMAGES

DAEMON

DAEMON

SWARM

COMPOSE

PRIVATE REGISTRY

SCAN

OVERLAY NETWORK

Slide20

Docker

Server

OS

Docker Engine

Hello WorldWelcome WorldUn chroot amélioré (lxc + cgroups)Un outil pour construire les conteneurs

Un écosysystem pour la mise en réseau et en cluster

Gestion des volumes

Une API

Slide21

Images

Slide22

Images

Slide23

Images

Système de fichier pour le stockage des images Docker et des conteneurs

La couche d’écriture est perdue lors de l’arrêt d’un conteneur.

Slide24

Images

Réutilisation des couches entre les conteneurs

Slide25

Les volumes

Server

OS

/var/lib/docker/volumes/85a34Docker Engine

Hello World/var/www/Welcome World# docker volume create# -v /

src/webapp:/var/www

Slide26

Registry

REGISTRY

STORAGE

Repository

Repository

Repository

ACCESS CONTROL

API

HOST

DAEMON

CONTAINERS

DOCKER HUB / PRIVATE REGISTRY

Slide27

Docker clustering

Présentation rapide

Les enjeux du

clusteringEcosystème autour de docker

CHEF DE PROJET & EXPERTS SECURITESCHEF DE PROJET

Slide28

Les enjeux du

clustering

?

Répondre aux besoins de HARépondre aux besoins de montées en chargeRéduire les coûts d’infrastucture ( une machine, une fonction )Abstraction de la couche système ( application first )Transformer le datacenter

en cluster de ressources

Slide29

d

Les enjeux du

clustering

OSKernelBin / Libs

Welcome WorldAPP BHello WorldOS

Kernel

Bin /

Libs

Welcome

World

APP B

Hello WorldOSKernelBin / LibsWelcome WorldAPP B

Hello WorldCLUSTER SWARM

Slide30

Les problèmes à résoudre ?

Comment partager les données entre les conteneurs (configuration, données applicatives)

Comment faire discuter les conteneurs entre plusieurs hôtes Docker ?

Comment orchestrer le déploiement des conteneurs sur le cluster ?Comment distribuer la charge du cluster ?

Slide31

Comment interconnecter les conteneurs entre les nœuds Docker ?Utilisation d’un réseau virtuel Docker : Overlay network

Les composants du

clustering

dockerHello WorldHello World

Nginx

Réseau virtuel d’overlay

eth1

eth1

LAN

Slide32

La configuration du réseau d’overlay doit être commune à tout les nœuds Docker.

Comment faire ?

Configuration réseau

Slide33

Consul : Un service registry

Consul server

KV

HTTP RESTDNS

RéplicationHTTP UIConsul serverKVHTTP RESTDNS

HTTP UI

Slide34

Synchronisation de la configuration des nœuds Docker via consul

Consul et Docker

Consul server

KVHTTP RESTDNS

HTTP UIDockerDocker

Slide35

Comment distribuer la charge du cluster ?

Slide36

docker

run

–d swarm

agent consul://172.17.0.1Docker Swarm : Container schedulerConsul serverKVHTTP RESTDNS

HTTP UIDockerDockerSwarm agent

Swarm agent

Slide37

docker

run

–d swarm

master consul://172.17.0.1Docker SwarmConsul serverKVHTTP RESTDNS

HTTP UIDockerDockerSwarm agentSwarm

agent

Swarm

master

Slide38

Docker Swarm : Container

scheduler

Consul server

KVHTTP RESTDNS

HTTP UIDockerDockerSwarm agentSwarm agent

Swarm

master

HTTP REST

HTTP REST

HTTP REST

Slide39

Commandes Docker docker info

Commandes

Swarm

docker –H 10.0.0.2:4000 infoApi Swarm et Docker

Slide40

Haute disponibilité du réseau Conteneur

Keepalived

Réplications des données

GlusterfsContinuité de servicesSwarmHA et Docker

Slide41

HA avec Swarm :

Docker

Docker

eth010.0.0.2

eth010.0.0.3nginxnginxGlusterFS/etc/nginx/nginx.conf

DNS

app.mydomain.com

Slide42

HA avec Swarm

Docker

Docker

keepalived

keepalivedeth010.0.0.2eth010.0.0.3nginxnginx

GlusterFS/etc/nginx/nginx.conf

VIP

10.0.0.10

Slide43

Continuité de service

Docker

Docker

keepalived

keepalivedeth010.0.0.2eth010.0.0.3nginxnginx

GlusterFS/etc/nginx/nginx.conf

VIP

10.0.0.10

Slide44

Comment assurer la disponibilité du service ?

Utilisation d’un service

registry

Consul, etcd, zookeeperDNS dynamiqueRedondance des conteneursRescheduling on-failureContinuité de service

Slide45

Pattern service

discovery

Webapp_1

Consul serverKVRequête d’enregistrementHTTP REST

Webapp_21DNSwebapp CNAME webapp_1webapp CNAME webapp_2

Slide46

Pattern service

discovery

Webapp_1

Consul serverKVHTTP RESTWebapp_2

DNSwebapp CNAME webapp_1webapp CNAME webapp_2nginxA chaque requète Nginx résout le nom : webapp.service.consul

2

Slide47

Pattern service discovery

Webapp_1

Consul server

KVHTTP RESTWebapp_2

DNSwebapp CNAME webapp_1webapp CNAME webapp_2nginxwebapp.service.consul3

Nginx redirige les requêtes vers les frontaux

Slide48

Pattern service discovery

:

Failure detection

Webapp_1Consul serverKVHTTP RESTWebapp_2

DNSwebapp CNAME webapp_1webapp CNAME webapp_2nginxwebapp.service.consul3

Nginx

redirige les requêtes vers les frontaux

Health

check régulier sur les services enregistrés

4

Slide49

Pattern service discovery

:

Failure recovery

Webapp_1Consul serverKVHTTP RESTWebapp_2

DNSwebapp CNAME webapp_1webapp CNAME webapp_2nginxwebapp.service.consul3

Nginx redirige les requêtes vers les frontaux

Slide50

docker

run

--restart on-failure:3 nginx Docker Swarm : Container schedulerDockerDockerSwarm agentSwarm

agentSwarm master

HTTP REST

HTTP REST

Web_app1

nginx

nginx

Slide51

Redémarrage des conteneurs sur les nœuds physique restant

Swarm

: Container

reschedulingDockerDockerSwarm agentSwarm agent

Swarm masterHTTP RESTHTTP REST

Web_app1

nginx

nginx

Web_app1

Slide52

Docker clustering

Présentation rapide

Les enjeux du

clusteringEcosystème autour de docker

CHEF DE PROJET & EXPERTS SECURITESCHEF DE PROJET

Slide53

Docker-compose

Déploiement automatisés

Slide54

Ansible

Déploiement automatisés

-

hosts: node

tasks: - name: application container docker: name

: swarm_manager

image

:

swarm

state:

reloaded pull: always command: "manage --replication --advertise={{ansible_default_ipv4['address']}}:4000 consul://{{ansible_default_ipv4['address']}}:8500" ports

: - "4000:2375" env: SERVICE_NAME: swarm-manager

Slide55

Newrelic

Plugin Docker

Datadog

CentreonSupervision

Slide56

La sécurité

Comment assurer

la disponibilité

des conteneurs ?Comment assurer l’intégrité des images ?Comment assurer la confidentialité des images ?Comment intégrer docker dans un environnement certifié ?

Slide57

BUILD

PULL

RUN

CLIENT

HOST

DAEMON

REGISTRY

CLI

REMOTE

API

CONTAINERS

IMAGES

disponibilité

intégrité

Confidentialité

Slide58

Intégrité

Slide59

Confidentialité

Chiffrement du réseau Overlay par défaut ( dans la dernière version)

Docker cli et Api

Rest avec authentification par certificat

Slide60

Authentification et traçabilité

Authentification & traçabilité

Slide61

Certifications

Exigences

PCIDSS

2.2.1 Implement only one primary function per server to prevent functions that require different security levels from co-existing on the same server. (For example, web servers, database servers, and DNS should be implemented on separate servers.)

Slide62

Cluster CassandraBase de données

NoSQL

Cluster elasticsearch

Mise en cache de données précalculéesSparkMoteur de requêtageJupyterInterface Web pour lancer des requêtesUse case : Big Data

Slide63

Objectifs de l’utilisation de Docker pour le BigData

:

Rendre les environnements de développement et de production identique

Encapsuler les dépendances applicatifs au niveau du conteneurCloisonnement des ressourcesAvantages pour la production :Simplifier la gestion des logsSimplifier la supervisionPermettre le scaling horizontalUse case : Big Data

Slide64

Use case : Big data

Slide65

Use case: Application web

WEB

WEB

LB FRONTBDD

BDDWEBLB BACK

Slide66

?

Use case: Application web

WEB

BDD

??

Slide67

W

Use case: Application web

WEB

BDD

LOAD BALANCER

IP ?

PORT ?

IP ?

PORT ?

IP ?

PORT ?

IP ?

PORT ?IP ?PORT ?

Slide68

W

Use case: Application web

WEB

BDD

LOAD BALANCER

CONSUL

HA PROXY

HA PROXY

HA PROXY

+

CONSUL

+

CONSUL

+

Slide69

Use case: Application web

CONSUL TEMPLATE

consul-

template -consul=localhost:8500 -template="vagrant/haproxy.ctmpl:/etc/haproxy haproxy.cfg:service haproxy reload"

Slide70

Use case: Application web

Configuration HAPROXY générée

Slide71

La bataille à venir

Slide72

Questions