Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

A B O U T https://aster.is Founded 2014 Based in St. Louis Experts in: Cloud, Containers, DevOps

Slide 3

Slide 3 text

http://aster.is converge

Slide 4

Slide 4 text

converge configuration made easy

Slide 5

Slide 5 text

D E V E LO P E R D E S K TO P converge ad-hoc solutions (npm, brew, etc.) DevOps tools currently not used Need to install lots of tools & run docker containers

Slide 6

Slide 6 text

easy for developers converge plan build-env.hcl converge apply —param masters=3 etcd.hcl 11mb binary (cli + modules + agent) converge start with a single file

Slide 7

Slide 7 text

simple configuration converge param "image-tag" { default = "1.10-alpine" } docker.image "nginx" { name = "nginx" tag = "{{param `image-tag`}}" timeout = "60s" } docker.container "nginx" { name = "nginx-server" image = "nginx:{{lookup `docker.image.nginx.Tag`}}" force = "true" ports = ["80"] env { "CONVERGE" = "AWESOME" } }

Slide 8

Slide 8 text

easy to share embed converge file with source code converge publish via http, s3 wrap existing scripts

Slide 9

Slide 9 text

C O N F I G U R I N G S E RV E R S converge Integrate Server Configuration With Cloud Resources Configuration as a Microservice Deploy and Manage Container Stacks (Kubernetes, Swarm, etc.)

Slide 10

Slide 10 text

powerful graph engine

Slide 11

Slide 11 text

graph benefits automatic dependency generation pinpoint failures parallel execution converge

Slide 12

Slide 12 text

create graphs visualize install tasks converge converge graph converge.hcl replace curl | bash -

Slide 13

Slide 13 text

D O C K E R E L K D E M O integrated with terraform spin up clusters with one command

Slide 14

Slide 14 text

https://asciinema.org/a/1yimck6d4me5t69al27qkt9rc D O C K E R E L K D E M O converge

Slide 15

Slide 15 text

api first via all communication (including cli) is via grpc devices look like another microservice http/2 bi-directional streaming converge

Slide 16

Slide 16 text

I N S TA L L S converge Confirming patches and security configuration IoT Devices Autoscaling groups

Slide 17

Slide 17 text

verify modules via pgp add trusted keys and verify modules converge converge key trust samples/pubkey.gpg converge plan —verify-modules samples/ basic.hcl

Slide 18

Slide 18 text

examples

Slide 19

Slide 19 text

converge file.directory "data" { destination = "/var/lib/influxdb" } module "docker/container.hcl" "influx" { params { name = "influxdb" image = "influxdb" tag = "1.0.0-rc1" ports = ["8086:8086"] volumes = ["/var/lib/influxdb:/var/lib/influxdb"] } depends = ["file.directory.data"] } wait for a directory & pass parameters into modules

Slide 20

Slide 20 text

conditional task execution converge switch "deps" { case "eq `{{platform.LinuxDistribution}}` `centos`" "centos" { package.rpm "deps" { name = "coreutils gcc git graphviz make tar unzip which" state = "present" } } case "eq `{{platform.LinuxDistribution}}` `debian`" "debian" { task "package-install" { check = "dpkg -s {{param `name`}} >/dev/null 2>&1" apply = "apt-get -y install {{param `packages`}}" } } }

Slide 21

Slide 21 text

wait for a file to be present converge wait.query "unzip-check" { check = "unzip -v" interval = "2s" max_retry = 60 grace_period = "3s" interpreter = "/bin/bash" } task "protoc-extract" { check = "[[ -f /usr/local/bin/protoc ]]" apply = "unzip /tmp/protoc-{{param `protoc-version`}}-linux- x86_64.zip" dir = "/usr/local" interpreter = "/bin/bash" depends = ["wait.query.unzip-check"] }

Slide 22

Slide 22 text

internals

Slide 23

Slide 23 text

parallel execution converge

Slide 24

Slide 24 text

converge docker running? deferred evaluation start docker.container lookup docker.container.port

Slide 25

Slide 25 text

summary easy & powerful scales down made for modern infrastructure converge

Slide 26

Slide 26 text

Thanks! converge.aster.is github.com/asteris-llc/converge converge-slack.aster.is

Slide 27

Slide 27 text

converge

Slide 28

Slide 28 text

I M AG E C R E D I T S Arch: Logan Troxel https://unsplash.com/search/arch?photo=DsQmBlby Arch Tram: https://upload.wikimedia.org/wikipedia/commons/8/8f/ Gateway_Arch_tram_car.JPG Brooklyn Bridge: Vita Vilcina https://unsplash.com/search/wires? photo=0G1r-Cg0zS8 Typewriter: Florian Klauer https://unsplash.com/search/typewriter? photo=mk7D-4UCfmg Tower: Richard Hinds https://unsplash.com/search/tower? photo=TH8a7L1HJXA Stars: Dimi Pigoff https://unsplash.com/new?photo=6y6D3S_sEjw