Slide 1

Slide 1 text

What is DevOps? Björn Andersson

Slide 2

Slide 2 text

(Hi Björn)

Slide 3

Slide 3 text

What is DevOps?

Slide 4

Slide 4 text

What is DevOps? • Culture

Slide 5

Slide 5 text

What is DevOps? • Culture • Collaboration between disciplines

Slide 6

Slide 6 text

What is DevOps? • Culture • Collaboration between disciplines • Developers, operations, business, QA, and so on…

Slide 7

Slide 7 text

What is DevOps? • Culture • Collaboration between disciplines • Developers, operations, business, QA, and so on… • Getting your code into production

Slide 8

Slide 8 text

What is DevOps? • Culture • Collaboration between disciplines • Developers, operations, business, QA, and so on… • Getting your code into production • As quickly as possible

Slide 9

Slide 9 text

What is DevOps? • Culture • Collaboration between disciplines • Developers, operations, business, QA, and so on… • Getting your code into production • As quickly as possible • With as high a quality as possible

Slide 10

Slide 10 text

But how do you do that?

Slide 11

Slide 11 text

But how do you do that? • Tests

Slide 12

Slide 12 text

But how do you do that? • Tests • Automated provisioning

Slide 13

Slide 13 text

But how do you do that? • Tests • Automated provisioning • Get servers up, register Function as a Service handlers (FaaS), create databases

Slide 14

Slide 14 text

But how do you do that? • Tests • Automated provisioning • Get servers up, register Function as a Service handlers (FaaS), create databases • Database migrations

Slide 15

Slide 15 text

But how do you do that? • Tests • Automated provisioning • Get servers up, register Function as a Service handlers (FaaS), create databases • Database migrations • etc.

Slide 16

Slide 16 text

But how do you do that? • Tests • Automated provisioning • Get servers up, register Function as a Service handlers (FaaS), create databases • Database migrations • etc. • Package deploy artefacts (containers, JAR files, FaaS zip archives, etc.)

Slide 17

Slide 17 text

But how do you do that? • Tests • Automated provisioning • Get servers up, register Function as a Service handlers (FaaS), create databases • Database migrations • etc. • Package deploy artefacts (containers, JAR files, FaaS zip archives, etc.) • Automated deployments

Slide 18

Slide 18 text

And how do we do that?

Slide 19

Slide 19 text

Tools

Slide 20

Slide 20 text

Tools • Ansible / Chef / Puppet (server configuration)

Slide 21

Slide 21 text

Tools • Ansible / Chef / Puppet (server configuration) • TerraForm (infrastructure provisioning)

Slide 22

Slide 22 text

Tools • Ansible / Chef / Puppet (server configuration) • TerraForm (infrastructure provisioning) • Container orchestration (Kubernetes / Nomad / AWS ECS)

Slide 23

Slide 23 text

Tools • Ansible / Chef / Puppet (server configuration) • TerraForm (infrastructure provisioning) • Container orchestration (Kubernetes / Nomad / AWS ECS) • Cloud provider APIs (Azure, AWS, Google, etc.)

Slide 24

Slide 24 text

Tools • Ansible / Chef / Puppet (server configuration) • TerraForm (infrastructure provisioning) • Container orchestration (Kubernetes / Nomad / AWS ECS) • Cloud provider APIs (Azure, AWS, Google, etc.) • Custom scripts (the world is your oyster)

Slide 25

Slide 25 text

How do I know if I need a tool? • Did it take a lot of manual effort to do something? • I documented all the steps with screenshots and commands to run! • Why not as runnable code? • Do you want to make sure everyone does it the same way? • Checklist! • Why not as runnable code? • Can you start over if the worst happens? • Two weeks of downtime as we manually configure everything • Not as runnable code (just, you know, make sure it still works every so often)

Slide 26

Slide 26 text

You need tools

Slide 27

Slide 27 text

You need tools …maybe they’re just your own scripts

Slide 28

Slide 28 text

Example deploy process

Slide 29

Slide 29 text

Example deploy process • bin/run-all-tests

Slide 30

Slide 30 text

Example deploy process • bin/run-all-tests • ENV=staging bin/build-and-deploy vessels__predictor --new-version

Slide 31

Slide 31 text

Example deploy process • bin/run-all-tests • ENV=staging bin/build-and-deploy vessels__predictor --new-version • Builds a deploy package

Slide 32

Slide 32 text

Example deploy process • bin/run-all-tests • ENV=staging bin/build-and-deploy vessels__predictor --new-version • Builds a deploy package • Queries a central database for the next deploy number to use

Slide 33

Slide 33 text

Example deploy process • bin/run-all-tests • ENV=staging bin/build-and-deploy vessels__predictor --new-version • Builds a deploy package • Queries a central database for the next deploy number to use • Uploads package to a repository for archiving

Slide 34

Slide 34 text

Example deploy process • bin/run-all-tests • ENV=staging bin/build-and-deploy vessels__predictor --new-version • Builds a deploy package • Queries a central database for the next deploy number to use • Uploads package to a repository for archiving • Deploys that version using that package

Slide 35

Slide 35 text

Example deploy process • bin/run-all-tests • ENV=staging bin/build-and-deploy vessels__predictor --new-version • Builds a deploy package • Queries a central database for the next deploy number to use • Uploads package to a repository for archiving • Deploys that version using that package • Notify monitoring environment of the current version of vessels__predictor

Slide 36

Slide 36 text

Recap

Slide 37

Slide 37 text

Recap • DevOps is a culture about

Slide 38

Slide 38 text

Recap • DevOps is a culture about • collaboration with other stakeholders

Slide 39

Slide 39 text

Recap • DevOps is a culture about • collaboration with other stakeholders • getting your code running as fast as possible, 
 with as high a quality as possible

Slide 40

Slide 40 text

Recap • DevOps is a culture about • collaboration with other stakeholders • getting your code running as fast as possible, 
 with as high a quality as possible • DevOps is not

Slide 41

Slide 41 text

Recap • DevOps is a culture about • collaboration with other stakeholders • getting your code running as fast as possible, 
 with as high a quality as possible • DevOps is not • tools (not even Microsoft Azure DevOps )

Slide 42

Slide 42 text

Recap • DevOps is a culture about • collaboration with other stakeholders • getting your code running as fast as possible, 
 with as high a quality as possible • DevOps is not • tools (not even Microsoft Azure DevOps ) • a person on the team (that person is doing automation)

Slide 43

Slide 43 text

–Mark Fewster “It is far better to improve the effectiveness of testing first than to improve the efficiency of poor testing. Automating chaos just gives faster chaos.”

Slide 44

Slide 44 text

Questions? gaqzi

Slide 45

Slide 45 text

Without automation it feels like you’re not moving forward

Slide 46

Slide 46 text

Without automation it feels like you’re not moving forward