Slide 1

Slide 1 text

Alex Krause [email protected] @alex0ptr Immutable Cloud Infrastructure, as Code 101

Slide 2

Slide 2 text

@alex0ptr Immutable Cloud Infrastructure, as Code 101 Infrastructure AWS, GCP , DO Declarative 2010 2012 2006

Slide 3

Slide 3 text

Old Skool Cloud @alex0ptr Image: Run DMC: Streets of New York by Jeff Pinilla http://bit.ly/2Qk34XL / CC BY http://bit.ly/2vlsURa / turned black and white

Slide 4

Slide 4 text

„I’ve hugged a lot of servers in my life, and believe me, they do not hug you back. They hate you.“ —Werner Vogels, CTO of Amazon @alex0ptr Image: Dutch Digital Pioneers - Werner Vogels by Guido van Nispen http://bit.ly/2IEOsQE / CC BY http://bit.ly/2vlsURa / Citation added

Slide 5

Slide 5 text

@alex0ptr VS

Slide 6

Slide 6 text

Immutable Infrastructure ‣ ~ 2012 at Netflix ‣ instantiate and replace, never change Gain: ‣ no state accumulation ‣ better consistency and security ‣ true rollbacks and easy experiments @alex0ptr

Slide 7

Slide 7 text

@alex0ptr “… is an open source tool for creating identical machine images for multiple platforms from a single source configuration.” ‣ 2013 ‣ Super Fast Deployment ‣ Multi-provider portability ‣ Improved stability ‣ Greater testability

Slide 8

Slide 8 text

Demo @alex0ptr https://github.com/alex0ptr/cloud-101

Slide 9

Slide 9 text

What else? @alex0ptr ‣ Virtualbox, VMware… ‣ Vagrant Boxes ‣ Ansible, Chef, Puppet…

Slide 10

Slide 10 text

How to add config and environment variables? @alex0ptr

Slide 11

Slide 11 text

@alex0ptr “Cloud-init is the defacto multi-distribution package that handles early initialization of a cloud instance.” ‣ 2008 ‣ simple init for the cloud ‣ initially AWS EC2 ‣ pre-installed everywhere!

Slide 12

Slide 12 text

http://169.254.169.254/latest/user-data ✨ …where the Magic happens ✨ @alex0ptr

Slide 13

Slide 13 text

@alex0ptr #!/bin/sh echo "Hello cloud-init!"

Slide 14

Slide 14 text

@alex0ptr ## template: jinja #!/bin/bash {% if v1.region == 'us-east-2' -%} echo 'Installing custom proxies for {{ v1.region }}' sudo apt-get install my-xtra-fast-stack {%- endif %}

Slide 15

Slide 15 text

@alex0ptr #cloud-config packages: - cowsay users: - default - name: app groups: docker write_files: - content: nVc+Xj7rPhMqb... encoding: b64 owner: app:app path: /home/app/application.yml permissions: '0655'

Slide 16

Slide 16 text

How to provision and manage the Data Center? @alex0ptr

Slide 17

Slide 17 text

Infrastructure as Code ‣ 2010 AWS CloudFormation ‣ provision ‣ and manage data centers Gain: ‣ versioning ‣ speed ‣ consistency ‣ security ‣ collaboration @alex0ptr

Slide 18

Slide 18 text

Infrastructure as Code @alex0ptr Config Management VS Mutable VS Immutable Config VS Lifecycle

Slide 19

Slide 19 text

@alex0ptr “Write, Plan, and Create
 Infrastructure as Code” ‣ 2014 ‣ ~40 Clouds ‣ Databases, Monitoring-, Infrastructure-Software ‣ Plugins

Slide 20

Slide 20 text

Demo Enterprise Cloud Architecture @alex0ptr https://github.com/alex0ptr/cloud-101

Slide 21

Slide 21 text

@alex0ptr https://templates.cloudonaut.io/en/stable/vpc/

Slide 22

Slide 22 text

@alex0ptr https://templates.cloudonaut.io/en/stable/vpc/

Slide 23

Slide 23 text

@alex0ptr https://templates.cloudonaut.io/en/stable/vpc/

Slide 24

Slide 24 text

@alex0ptr Availability zone Subnet Availability zone Subnet Subnet Auto Scaling Group Subnet Instances Instances Application Load Balancer Application Load Balancer Amazon DynamoDB Amazon ECR Also: ‣ Network policies ‣ IAM

Slide 25

Slide 25 text

What else? @alex0ptr ‣ Modules ‣ Workspaces ‣ More Collaboration ‣ Outputs from other States

Slide 26

Slide 26 text

Lesestoff ‣ A comprehensive Guide to Terraform. Gruntwork ‣ Free CloudFormation Templates. cloudonaut.io ‣ Complete AWS IAM Reference. cloudonaut.io ‣ Terraform 0.12 Preview. Terraform Blog @alex0ptr

Slide 27

Slide 27 text

xing.com/companies/qawaregmbh linkedin.com/company/qaware-gmbh slideshare.net/qaware twitter.com/qaware github.com/qaware youtube.com/qawaregmbh Alex Krause [email protected] @alex0ptr

Slide 28

Slide 28 text

QAware 21.09.2018 28

Slide 29

Slide 29 text

QAware GmbH Mainz Rheinstraße 4 D 55116 Mainz Tel.: +49 (0) 6131 215 69 – 0 Fax: +49 (0) 6131 215 69 – 68 xing.com/companies/qawaregmbh linkedin.com/company/qaware-gmbh slideshare.net/qaware twitter.com/qaware github.com/qaware youtube.com/qawaregmbh

Slide 30

Slide 30 text

QAware GmbH München Aschauer Straße 32 81549 München Tel.: +49 (0) 89 23 23 15 – 0 Fax: +49 (0) 89 23 23 15 – 129 xing.com/companies/qawaregmbh linkedin.com/company/qaware-gmbh slideshare.net/qaware twitter.com/qaware github.com/qaware youtube.com/qawaregmbh