Slide 1

Slide 1 text

Hashistack Orchestrer des applications Cloud Native avec simplicité Yves Brissaud  @_crev_

Slide 2

Slide 2 text

Cloud Native ?

Slide 3

Slide 3 text

microservices conteneurs / docker kubernetes 

Slide 4

Slide 4 text

exploiter les possibilités du cloud écrite pour le cloud http://pzf.fremantle.org/2010/05/cloud-native.html

Slide 5

Slide 5 text

 https://whvn.cc/56532

Slide 6

Slide 6 text

https://whvn.cc/56532

Slide 7

Slide 7 text

     elasticité

Slide 8

Slide 8 text

https://gotocph.com/2018/sessions/612

Slide 9

Slide 9 text

Yves Brissaud  @_crev_  eunomie  [email protected] Tech Lead Build Infrastructures and Deploy Cloud Native Applications Seamlessly | Automatically | Instantly  @sqscale  squarescale.com

Slide 10

Slide 10 text

Full Remote | |

Slide 11

Slide 11 text

https://wallpaperscraft.com/download/rings_rubber_background_heap_80332/3821x2560

Slide 12

Slide 12 text

    

Slide 13

Slide 13 text

idempotence application infrastructure

Slide 14

Slide 14 text

https://whvn.cc/569648

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

Packaging Immutabilité Idempotence

Slide 17

Slide 17 text

https://www.nomadproject.io/

Slide 18

Slide 18 text

Orchestrateur Lifecycle Rolling deploys Blue green Service, batch, system

Slide 19

Slide 19 text

Drivers Docker, rkt JVM qemu plugins nomad >= 0.9

Slide 20

Slide 20 text

Facile à déployer 1 binaire linux / windows / mac autopilot

Slide 21

Slide 21 text

job "hello" { type = "service" datacenters = ["dc1"] group "world" { count = 3 task "hello-api" { driver = "docker" config { image = "hashicorp/http-echo" args = ["-text=Hello!"] port_map {

Slide 22

Slide 22 text

job "run-hook" { datacenters = ["dc1"] type = "batch" periodic { cron = "@hourly" prohibit_overlap = true } group "run-hook" { count = 1 task "curl" { driver = "exec"

Slide 23

Slide 23 text

job "notify-event" { type = "batch" parameterized { payload = "required" meta_required = ["email"] } group "notify" { task "notify" { driver = "docker" dispatch_payload { file = "config.json"

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

https://www.consul.io/

Slide 27

Slide 27 text

Service Discovery Service Con guration Service Segmentation

Slide 28

Slide 28 text

Enregistre chaque service Health Checks (http, tcp, grpc, script) Découverte API / DNS (SRV) Service Discovery

Slide 29

Slide 29 text

# dig srv web.service.consul ;; ANSWER SECTION: web.service.consul. 0 IN SRV 1 1 3000 2310.addr.dc1.consul. web.service.consul. 0 IN SRV 1 1 3000 2600.addr.dc1.consul. web.service.consul. 0 IN SRV 1 1 3000 2010.addr.dc1.consul. ;; ADDITIONAL SECTION: 2310.addr.dc1.consul. 0 IN A 10.2.49.9 ip-10-0-6-93.node.dc1.consul. 0 IN TXT "cluster=app" ip-10-0-6-93.node.dc1.consul. 0 IN TXT "group=worker" 2600.addr.dc1.consul. 0 IN A 10.2.96.3 ip-10-0-22-143.node.dc1.consul. 0 IN TXT "group=worker" ip-10-0-22-143.node.dc1.consul. 0 IN TXT "consul-network-se

Slide 30

Slide 30 text

intégration load balancers Trae k Fabio Envoy Service Discovery

Slide 31

Slide 31 text

Distributed KV Store Watches Distributed Locks Service Con guration

Slide 32

Slide 32 text

Service Access Graph Intentions Auto TLS encrypted communications authorization Service Segmentation

Slide 33

Slide 33 text

Facile à déployer 1 binaire linux / windows / mac autopilot

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

    

Slide 37

Slide 37 text

Déployer Consul & Nomad Con gurer (docker, dns, etc) Répétable 

Slide 38

Slide 38 text

https://www.packer.io/

Slide 39

Slide 39 text

Construction d'images machine Installation / con guration

Slide 40

Slide 40 text

AWS, Azure, GCP, DigitalOcean, OpenStack VirtualBox, VMware Docker, LXC ...

Slide 41

Slide 41 text

{ "builders": [{ "type": "amazon-ebs", "region": "eu-west-1", "instance_type": "t3.small", "source_ami_filter": { "filters": { "virtualization-type": "hvm", "name": "CoreOS-stable-*", "root-device-type": "ebs" }, "owners": ["595879546273"], "most_recent": true

Slide 42

Slide 42 text

Infrastructure Services externes 

Slide 43

Slide 43 text

https://www.terraform.io/

Slide 44

Slide 44 text

Infrastructure as Code

Slide 45

Slide 45 text

Prévisualisation avant changement Gestion d'état

Slide 46

Slide 46 text

Multi environments Modules Multi-providers

Slide 47

Slide 47 text

 J'adore quand un plan se déroule sans accroc. - Hannibal

Slide 48

Slide 48 text

1. Construction de l'image système

Slide 49

Slide 49 text

2 Construction de l'infrastructure

Slide 50

Slide 50 text

3. Consul

Slide 51

Slide 51 text

4. Nomad

Slide 52

Slide 52 text

5. Docker Votre application

Slide 53

Slide 53 text

Demo

Slide 54

Slide 54 text

Deploying and Scaling Microservices with Docker and Kubernetes https://container.training/kube-selfpaced.yml.html

Slide 55

Slide 55 text

+ 1 outil, 1 rôle ~ Consul Suite cohérente Documentation Facile à déployer

Slide 56

Slide 56 text

+ Développement actif Consul 1.4 Nomad ~0.9 Terraform ~0.12

Slide 57

Slide 57 text

- kubernetes

Slide 58

Slide 58 text

Hashistack Packer, Terraform, Consul, Nomad Orchestrer des applications Cloud Native avec simplicité Yves Brissaud  @_crev_