Top Banner
Seven DevOps Bottlenecks Hart Hoover DevOps Automation Service @hhoover
49
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Seven DevOps Bottlenecks

Seven DevOps BottlenecksHart Hoover DevOps Automation Service @hhoover

Page 2: Seven DevOps Bottlenecks

HOW TO WEBINAR!

Have a question? Click “ASK A QUESTION!”

We’ll do Q&A at the end

Can’t see? ENHANCE!

Page 3: Seven DevOps Bottlenecks

www.rackspace.com

What are the bottlenecks?

• Not having leadership buy-in • Not having team buy-in • Not using config management • Automating waste • Not automating your tests • Not automating your deployment • Not involving security

!3

Page 4: Seven DevOps Bottlenecks

www.rackspace.com

Not having leadership buy-in

!4

Page 5: Seven DevOps Bottlenecks

www.rackspace.com !5

If you could buy some DevOps,

that would be greaaaaaat….

Page 6: Seven DevOps Bottlenecks

www.rackspace.com !6

Page 7: Seven DevOps Bottlenecks

www.rackspace.com !7

You can’t buy DevOps.

Because Culture.

Page 8: Seven DevOps Bottlenecks

www.rackspace.com

Making the case by taking the risk

!8

Might require a re-org

Page 9: Seven DevOps Bottlenecks

www.rackspace.com

Making the case by taking the risk

!9

Deployment Time Deployment Frequency

Page 10: Seven DevOps Bottlenecks

www.rackspace.com

Making the case by taking the risk

!10

Time to recovery

Page 11: Seven DevOps Bottlenecks

www.rackspace.com

Making the case by taking the risk

!11

Lost time = Higher Dev Cost

Page 12: Seven DevOps Bottlenecks

www.rackspace.com

Not having team buy-in

!12

Page 13: Seven DevOps Bottlenecks

www.rackspace.com

Dysfunctional DevOps

!13

Undefined Success

Page 14: Seven DevOps Bottlenecks

www.rackspace.com

Dysfunctional DevOps

!14

Fear of Conflict

Page 15: Seven DevOps Bottlenecks

www.rackspace.com

Dysfunctional DevOps

!15

Page 16: Seven DevOps Bottlenecks

www.rackspace.com

Dysfunctional DevOps

!16

No Communication

Page 17: Seven DevOps Bottlenecks

www.rackspace.com

Rackspace Core Values

!17

FANATICAL SUPPORT in all we do.

RESULTS FIRST, substance over flash.

Committed to GREATNESS.

Full disclosure and TRANSPARENCY.

PASSION for our work.

Treat Rackers like FRIENDS and FAMILY.

Page 18: Seven DevOps Bottlenecks

www.rackspace.com

Not using config management

!18

Page 19: Seven DevOps Bottlenecks

www.rackspace.com

Choose your own adventure!

!19

Page 20: Seven DevOps Bottlenecks

www.rackspace.com

Servers are replaceable, containers more so

!20

Page 21: Seven DevOps Bottlenecks

www.rackspace.com !21

Page 22: Seven DevOps Bottlenecks

www.rackspace.com

Automating waste

!22

Page 23: Seven DevOps Bottlenecks

www.rackspace.com

What is your process today?

!23

Page 24: Seven DevOps Bottlenecks

www.rackspace.com

Garbage in, Garbage out.

!24

DevOps!

Page 25: Seven DevOps Bottlenecks

www.rackspace.com

Keep track of work in progress!

!25

Page 26: Seven DevOps Bottlenecks

www.rackspace.com

Web-based Kanban: Trello

!26

Page 27: Seven DevOps Bottlenecks

www.rackspace.com

Improve over time

!27

Page 28: Seven DevOps Bottlenecks

www.rackspace.com

Not automating your tests

!28

Page 29: Seven DevOps Bottlenecks

www.rackspace.com

Choose your own adventure!

!29

Test Kitchen

Page 30: Seven DevOps Bottlenecks

www.rackspace.com

CircleCI

!30

machine: python: version: 2.7.8dependencies: override: - pip install -r requirements.txttest: override: - envshuffle hot test --ci-parallel: parallel: truedeployment: stable: branch: master commands: - bumper bump --flush-fusion-cache $CIRCLE_PROJECT_USERNAME $CIRCLE_PROJECT_REPONAME

Page 31: Seven DevOps Bottlenecks

www.rackspace.com

TestKitchen

!31

driver: name: vagrant

provisioner: name: chef_zero

platforms: - name: ubuntu-14.04 - name: centos-6.4

suites: - name: default run_list: - recipe[apache2]

Page 32: Seven DevOps Bottlenecks

www.rackspace.com

Serverspec (http://serverspec.org/)

!32

describe port(80) do it { should be_listening }end

describe service('mysql') do it { should be_running }end

describe user('hart') do it { should exist }end

describe docker_container(‘my_app') do it { should be_present }end

Page 33: Seven DevOps Bottlenecks

www.rackspace.com

Not automating deployment

!33

Page 34: Seven DevOps Bottlenecks

www.rackspace.com

Automate with CI platform

!34

deployment: production: branch: production commands: - ./deploy_prod.sh staging: branch: master commands: - ./deploy_staging.sh

Page 35: Seven DevOps Bottlenecks

www.rackspace.com

Automate with Configuration Management

!35

# Database!machine 'mario' do recipe 'postgresql' recipe 'mydb' tag 'mydb_master'end

num_webservers = 4

# Web servers!1.upto(num_webservers) do |i| machine "luigi#{i}" do recipe 'apache' recipe 'mywebapp' endend

Page 36: Seven DevOps Bottlenecks

www.rackspace.com !36

Maintenance windows are still ok

Page 37: Seven DevOps Bottlenecks

www.rackspace.com

You have a load balancer right?

!37

Page 38: Seven DevOps Bottlenecks

www.rackspace.com

You have a load balancer right?

!38

Page 39: Seven DevOps Bottlenecks

www.rackspace.com

You have a load balancer right?

!39

5%

Page 40: Seven DevOps Bottlenecks

www.rackspace.com

You have a load balancer right?

!40

Page 41: Seven DevOps Bottlenecks

www.rackspace.com

Not involving security

!41

Page 42: Seven DevOps Bottlenecks

www.rackspace.com !42

graphic by @petecheslock

Page 43: Seven DevOps Bottlenecks

www.rackspace.com

Dev teams a few years ago…

!43

Ops is slow and resistant to change!

Page 44: Seven DevOps Bottlenecks

www.rackspace.com

DevOps teams now…

!44

Security is slow and resistant to change!

Page 45: Seven DevOps Bottlenecks

www.rackspace.com !45

Give security access to the same tools

you’re using

Page 46: Seven DevOps Bottlenecks

www.rackspace.com

“DevOps” it!

!46

Code Reviews!

Page 47: Seven DevOps Bottlenecks

www.rackspace.com

“DevOps” it!

!47

Automated Security Testing

Page 48: Seven DevOps Bottlenecks

www.rackspace.com

IN SUMMARY! (psst… it’s basically the same slide you saw earlier)

• Have leadership buy-in • Have team buy-in • Use config management • Don't automate a bad process • Automate your tests • Automate your deployment • Involve security

!48

Page 49: Seven DevOps Bottlenecks

THANK YOU

RACKSPACE® | 1 FANATICAL PLACE, CITY OF WINDCREST | SAN ANTONIO, TX 78218 US SALES: 1-800-961-2888 | US SUPPORT: 1-800-961-4454 | WWW.RACKSPACE.COM

RACKSPACE® | © RACKSPACE LTD. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM

Hart Hoover | @hhoover [email protected]