everything
as code
hart hoover
cloud evangelist
Wednesday, August 21, 13
WHAT IS devops?
2
Wednesday, August 21, 13
3
Culture & Work Methodology
Wednesday, August 21, 13
4
What Does DevOps Enable?
Wednesday, August 21, 13
5
Wednesday, August 21, 13
6
Wednesday, August 21, 13
7
Wednesday, August 21, 13
8
Tooling
Wednesday, August 21, 13
9
Wednesday, August 21, 13
10
Wednesday, August 21, 13
11
Gerrit
Wednesday, August 21, 13
12
Wednesday, August 21, 13
13
Deployment Strategies
Wednesday, August 21, 13
14
Wednesday, August 21, 13
15
Wednesday, August 21, 13
16
Wednesday, August 21, 13
17
Cookbooks
Nodes
(chef-client)
Chef
Server HTTPS
Workstation
knife
Wednesday, August 21, 13
•Nodes: Servers
•Environments: Groups of nodes (Dev/QA/Prod)
•Recipes: Describes the desired state of a node
•Cookbooks: G...
CHEF TOOLS
19
Test Kitchen
berkshelf
foodcritic
Vagrant
Wednesday, August 21, 13
20
Wednesday, August 21, 13
21
Manifests
Agents
Puppet
Master HTTPS
Puppet
CA
Wednesday, August 21, 13
•Nodes: Servers
•Environments: Groups of
nodes (Dev/QA/Prod)
•Manifests: Describes the
desired state of a node
•Catalog: G...
PUPPET TOOLS
23
Test Kitchen - soon
librarian-puppet
puppet-lint
Vagrant
Wednesday, August 21, 13
PUPPET vs. CHEF
24
Wednesday, August 21, 13
25
Wednesday, August 21, 13
26
States
Minions
Master
Wednesday, August 21, 13
•Nodes: Minions
•Environments: Groups of nodes (Dev/QA/Prod)
•States: Describes the desired state of a node
•Grains: infor...
28
Wednesday, August 21, 13
29
SSH
Playbooks
Hosts
Wednesday, August 21, 13
•Hosts: Servers
•Groups: Groups of Hosts
(Dev/QA/Prod)
•Play: Describes the desired
state of a Host.
•Playbook: Group of P...
ANSIBLE vs. SALTSTACK
31
Wednesday, August 21, 13
32
Measure All the Things
Wednesday, August 21, 13
CollectD + GRAPHITE
33
Wednesday, August 21, 13
CollectD + GRAPHITE
34
Wednesday, August 21, 13
CollectD + GRAPHITE
35
Wednesday, August 21, 13
NAGIOS
36
NAGIOS
Linux
Windows
Networking
NSClient++
NRPE
SNMP
Wednesday, August 21, 13
NAGIOS PluGINS
37
Wednesday, August 21, 13
38
• Application Monitoring Service
• Agent-based
• Plugins
Wednesday, August 21, 13
39
Automate All the Things
Wednesday, August 21, 13
40
Wednesday, August 21, 13
41
Wednesday, August 21, 13
41
Wednesday, August 21, 13
41
Wednesday, August 21, 13
41
Wednesday, August 21, 13
41
Wednesday, August 21, 13
42
SOME OF THESE != SUCCESS
Wednesday, August 21, 13
43
NO CULTURE BUY-IN = NO DEVOPS
Wednesday, August 21, 13
44
SOFTWARE DEVELOPMENT LIFECYCLE
Wednesday, August 21, 13
45
Wednesday, August 21, 13
45
DEV OPS+
Wednesday, August 21, 13
45
DEV OPS+ QA+
Wednesday, August 21, 13
45
DEV OPS+ QA+
=
DEVOPS
Wednesday, August 21, 13
How to Embrace
DevOps
46
SCRUM KANBAN AGILE
Wednesday, August 21, 13
SCRUM
47
Scrum Master
Product Owner Developers
Wednesday, August 21, 13
Product
Backlog
Sprint
Backlog
Sprint
Working increment
of the software
48
1. Design
5. QA 2. Build
4. Release 3. Configur...
49
1. Design
5. QA 2. Build
4. Release 3. Configure
Wednesday, August 21, 13
SCRUM: KEY MEETINGS
50
Backlog Grooming
Sprint Planning
Daily Scrum
Sprint Review
Sprint Retrospective
Wednesday, August 2...
Features In Progress Blocked Tabled Testing Complete
Feature A
Feature B
Feature C
51
KANBAN
Wednesday, August 21, 13
Features In Progress Blocked Tabled Testing Complete
Feature A
Feature B
Feature C
52
KANBAN
Wednesday, August 21, 13
Features In Progress Blocked Tabled Testing Complete
Feature A
Feature B
Feature C
Feature E
Feature D
52
KANBAN
Wednesday...
Features In Progress Blocked Tabled Testing Complete
Feature AFeature BFeature C
Feature E
Feature G
53
KANBAN
Wednesday, ...
Features In Progress Blocked Tabled Testing Complete
Feature AFeature BFeature C
Feature E
Feature D
Feature F
Feature G
5...
Features In Progress Blocked Tabled Testing Complete
Feature A
Feature B
Feature C
Feature E
Feature D
Feature F
Feature G...
Features In Progress Blocked Tabled Testing Complete
Feature A
Feature B
Feature C
Feature E
Feature D
Feature F
Feature G...
Features In Progress Blocked Tabled Testing Complete
Feature A
Feature B
Feature C
Feature EFeature D
Feature F
Feature G
...
AGILE DEVELOPMENT
• Individuals and interactions over process and
tools
• Working software over comprehensive
documentatio...
AGILE TEAMS
57
Traditional Teams AGILE Teams
Project Manager /
Team Lead
Servant Leader /
Facilitator
Self-Organized
Wedne...
CONTINUOUS DELIVERY
58
Wednesday, August 21, 13
59
Same Problems
Wednesday, August 21, 13
60
What Version is in Production?
Wednesday, August 21, 13
61
Issues are Found, Fixed & Redeployed Quickly
Wednesday, August 21, 13
62
Test as You Develop
Wednesday, August 21, 13
63
Same Best Practices
Wednesday, August 21, 13
64
Tag, Branch & Release Code that Defines Infra
Wednesday, August 21, 13
65
Coverage Lifecycle Over Various Stages
Wednesday, August 21, 13
66
Continuously Test
Wednesday, August 21, 13
67
Wednesday, August 21, 13
68
Wednesday, August 21, 13
69
Wednesday, August 21, 13
69
Wednesday, August 21, 13
70
Wednesday, August 21, 13
70
INDUSTRY STANDARD!
Wednesday, August 21, 13
70
INDUSTRY STANDARD!
OPEN SOURCE!
Wednesday, August 21, 13
70
THEMES!
INDUSTRY STANDARD!
OPEN SOURCE!
Wednesday, August 21, 13
70
THEMES!
PLUGINS!
INDUSTRY STANDARD!
OPEN SOURCE!
Wednesday, August 21, 13
70
THEMES!
PLUGINS!
INDUSTRY STANDARD!
OPEN SOURCE!
WE KNOW IT!
Wednesday, August 21, 13
71
Wednesday, August 21, 13
72
Wednesday, August 21, 13
So What
Happened?
Why
Change?
Wednesday, August 21, 13
74
Scaling WordPress is
complicated
Wednesday, August 21, 13
74
Scaling WordPress is
complicated
Wednesday, August 21, 13
75
Our process was terrible
Wednesday, August 21, 13
75
•Someone emails one of us a post
Our process was terrible
Wednesday, August 21, 13
75
•Someone emails one of us a post
•We read it and send it back to them for revisions.
Our process was terrible
Wednesday...
75
•Someone emails one of us a post
•We read it and send it back to them for revisions.
•They rewrite it and send us a new...
75
•Someone emails one of us a post
•We read it and send it back to them for revisions.
•They rewrite it and send us a new...
75
•Someone emails one of us a post
•We read it and send it back to them for revisions.
•They rewrite it and send us a new...
75
•Someone emails one of us a post
•We read it and send it back to them for revisions.
•They rewrite it and send us a new...
75
•Someone emails one of us a post
•We read it and send it back to them for revisions.
•They rewrite it and send us a new...
76
Wednesday, August 21, 13
77
OCTOPRESS
Wednesday, August 21, 13
78
OCTOPRESS
+
Wednesday, August 21, 13
79
Rackspace Cloud Files
is GLOBAL
Wednesday, August 21, 13
80
Rackspace Cloud Files
is CHEAP
Wednesday, August 21, 13
81
Wednesday, August 21, 13
82
Wednesday, August 21, 13
82
Wednesday, August 21, 13
82
http://github.com/rackerlabs/devsite
Wednesday, August 21, 13
83
Our new process is
awesome
Wednesday, August 21, 13
83
•Someone forks our GitHub repo
Our new process is
awesome
Wednesday, August 21, 13
83
•Someone forks our GitHub repo
•They write a post: rake new_post[‘Some post’]
Our new process is
awesome
Wednesday, Aug...
83
•Someone forks our GitHub repo
•They write a post: rake new_post[‘Some post’]
•They submit a pull request to us.
Our ne...
83
•Someone forks our GitHub repo
•They write a post: rake new_post[‘Some post’]
•They submit a pull request to us.
•We re...
83
•Someone forks our GitHub repo
•They write a post: rake new_post[‘Some post’]
•They submit a pull request to us.
•We re...
83
•Someone forks our GitHub repo
•They write a post: rake new_post[‘Some post’]
•They submit a pull request to us.
•We re...
84
Wednesday, August 21, 13
85
Wednesday, August 21, 13
86
DEMO TIME
Wednesday, August 21, 13
86
DEMO TIME
MAYBE
?
Wednesday, August 21, 13
87
Wednesday, August 21, 13
88
Wednesday, August 21, 13
Conclusions...
Wednesday, August 21, 13
90
Wednesday, August 21, 13
91
+
Wednesday, August 21, 13
92
OCTOPRESS
+
Wednesday, August 21, 13
93
Wednesday, August 21, 13
ENJOY YOUR
LUNCH!
Wednesday, August 21, 13
Upcoming SlideShare
Loading in …5
×

Everything as Code

1,289 views
1,169 views

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,289
On SlideShare
0
From Embeds
0
Number of Embeds
423
Actions
Shares
0
Downloads
18
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Everything as Code

  1. 1. everything as code hart hoover cloud evangelist Wednesday, August 21, 13
  2. 2. WHAT IS devops? 2 Wednesday, August 21, 13
  3. 3. 3 Culture & Work Methodology Wednesday, August 21, 13
  4. 4. 4 What Does DevOps Enable? Wednesday, August 21, 13
  5. 5. 5 Wednesday, August 21, 13
  6. 6. 6 Wednesday, August 21, 13
  7. 7. 7 Wednesday, August 21, 13
  8. 8. 8 Tooling Wednesday, August 21, 13
  9. 9. 9 Wednesday, August 21, 13
  10. 10. 10 Wednesday, August 21, 13
  11. 11. 11 Gerrit Wednesday, August 21, 13
  12. 12. 12 Wednesday, August 21, 13
  13. 13. 13 Deployment Strategies Wednesday, August 21, 13
  14. 14. 14 Wednesday, August 21, 13
  15. 15. 15 Wednesday, August 21, 13
  16. 16. 16 Wednesday, August 21, 13
  17. 17. 17 Cookbooks Nodes (chef-client) Chef Server HTTPS Workstation knife Wednesday, August 21, 13
  18. 18. •Nodes: Servers •Environments: Groups of nodes (Dev/QA/Prod) •Recipes: Describes the desired state of a node •Cookbooks: Group of Recipes •Roles: Group of Cookbooks (Web) •Attribute: information about the current state of a node 18 Wednesday, August 21, 13
  19. 19. CHEF TOOLS 19 Test Kitchen berkshelf foodcritic Vagrant Wednesday, August 21, 13
  20. 20. 20 Wednesday, August 21, 13
  21. 21. 21 Manifests Agents Puppet Master HTTPS Puppet CA Wednesday, August 21, 13
  22. 22. •Nodes: Servers •Environments: Groups of nodes (Dev/QA/Prod) •Manifests: Describes the desired state of a node •Catalog: Group of Manifests •Facts: information about the current state of a node 22 Wednesday, August 21, 13
  23. 23. PUPPET TOOLS 23 Test Kitchen - soon librarian-puppet puppet-lint Vagrant Wednesday, August 21, 13
  24. 24. PUPPET vs. CHEF 24 Wednesday, August 21, 13
  25. 25. 25 Wednesday, August 21, 13
  26. 26. 26 States Minions Master Wednesday, August 21, 13
  27. 27. •Nodes: Minions •Environments: Groups of nodes (Dev/QA/Prod) •States: Describes the desired state of a node •Grains: information about the current state of a node 27 Wednesday, August 21, 13
  28. 28. 28 Wednesday, August 21, 13
  29. 29. 29 SSH Playbooks Hosts Wednesday, August 21, 13
  30. 30. •Hosts: Servers •Groups: Groups of Hosts (Dev/QA/Prod) •Play: Describes the desired state of a Host. •Playbook: Group of Plays •Roles: Group of Hosts (Web) •Facts: information about the current state of a Host. 30 Wednesday, August 21, 13
  31. 31. ANSIBLE vs. SALTSTACK 31 Wednesday, August 21, 13
  32. 32. 32 Measure All the Things Wednesday, August 21, 13
  33. 33. CollectD + GRAPHITE 33 Wednesday, August 21, 13
  34. 34. CollectD + GRAPHITE 34 Wednesday, August 21, 13
  35. 35. CollectD + GRAPHITE 35 Wednesday, August 21, 13
  36. 36. NAGIOS 36 NAGIOS Linux Windows Networking NSClient++ NRPE SNMP Wednesday, August 21, 13
  37. 37. NAGIOS PluGINS 37 Wednesday, August 21, 13
  38. 38. 38 • Application Monitoring Service • Agent-based • Plugins Wednesday, August 21, 13
  39. 39. 39 Automate All the Things Wednesday, August 21, 13
  40. 40. 40 Wednesday, August 21, 13
  41. 41. 41 Wednesday, August 21, 13
  42. 42. 41 Wednesday, August 21, 13
  43. 43. 41 Wednesday, August 21, 13
  44. 44. 41 Wednesday, August 21, 13
  45. 45. 41 Wednesday, August 21, 13
  46. 46. 42 SOME OF THESE != SUCCESS Wednesday, August 21, 13
  47. 47. 43 NO CULTURE BUY-IN = NO DEVOPS Wednesday, August 21, 13
  48. 48. 44 SOFTWARE DEVELOPMENT LIFECYCLE Wednesday, August 21, 13
  49. 49. 45 Wednesday, August 21, 13
  50. 50. 45 DEV OPS+ Wednesday, August 21, 13
  51. 51. 45 DEV OPS+ QA+ Wednesday, August 21, 13
  52. 52. 45 DEV OPS+ QA+ = DEVOPS Wednesday, August 21, 13
  53. 53. How to Embrace DevOps 46 SCRUM KANBAN AGILE Wednesday, August 21, 13
  54. 54. SCRUM 47 Scrum Master Product Owner Developers Wednesday, August 21, 13
  55. 55. Product Backlog Sprint Backlog Sprint Working increment of the software 48 1. Design 5. QA 2. Build 4. Release 3. Configure Wednesday, August 21, 13
  56. 56. 49 1. Design 5. QA 2. Build 4. Release 3. Configure Wednesday, August 21, 13
  57. 57. SCRUM: KEY MEETINGS 50 Backlog Grooming Sprint Planning Daily Scrum Sprint Review Sprint Retrospective Wednesday, August 21, 13
  58. 58. Features In Progress Blocked Tabled Testing Complete Feature A Feature B Feature C 51 KANBAN Wednesday, August 21, 13
  59. 59. Features In Progress Blocked Tabled Testing Complete Feature A Feature B Feature C 52 KANBAN Wednesday, August 21, 13
  60. 60. Features In Progress Blocked Tabled Testing Complete Feature A Feature B Feature C Feature E Feature D 52 KANBAN Wednesday, August 21, 13
  61. 61. Features In Progress Blocked Tabled Testing Complete Feature AFeature BFeature C Feature E Feature G 53 KANBAN Wednesday, August 21, 13
  62. 62. Features In Progress Blocked Tabled Testing Complete Feature AFeature BFeature C Feature E Feature D Feature F Feature G 53 KANBAN Wednesday, August 21, 13
  63. 63. Features In Progress Blocked Tabled Testing Complete Feature A Feature B Feature C Feature E Feature D Feature F Feature G 54 KANBAN Wednesday, August 21, 13
  64. 64. Features In Progress Blocked Tabled Testing Complete Feature A Feature B Feature C Feature E Feature D Feature F Feature G Feature H Feature I 54 KANBAN Wednesday, August 21, 13
  65. 65. Features In Progress Blocked Tabled Testing Complete Feature A Feature B Feature C Feature EFeature D Feature F Feature G Feature H Feature I 55 KANBAN Wednesday, August 21, 13
  66. 66. AGILE DEVELOPMENT • Individuals and interactions over process and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan 56 Wednesday, August 21, 13
  67. 67. AGILE TEAMS 57 Traditional Teams AGILE Teams Project Manager / Team Lead Servant Leader / Facilitator Self-Organized Wednesday, August 21, 13
  68. 68. CONTINUOUS DELIVERY 58 Wednesday, August 21, 13
  69. 69. 59 Same Problems Wednesday, August 21, 13
  70. 70. 60 What Version is in Production? Wednesday, August 21, 13
  71. 71. 61 Issues are Found, Fixed & Redeployed Quickly Wednesday, August 21, 13
  72. 72. 62 Test as You Develop Wednesday, August 21, 13
  73. 73. 63 Same Best Practices Wednesday, August 21, 13
  74. 74. 64 Tag, Branch & Release Code that Defines Infra Wednesday, August 21, 13
  75. 75. 65 Coverage Lifecycle Over Various Stages Wednesday, August 21, 13
  76. 76. 66 Continuously Test Wednesday, August 21, 13
  77. 77. 67 Wednesday, August 21, 13
  78. 78. 68 Wednesday, August 21, 13
  79. 79. 69 Wednesday, August 21, 13
  80. 80. 69 Wednesday, August 21, 13
  81. 81. 70 Wednesday, August 21, 13
  82. 82. 70 INDUSTRY STANDARD! Wednesday, August 21, 13
  83. 83. 70 INDUSTRY STANDARD! OPEN SOURCE! Wednesday, August 21, 13
  84. 84. 70 THEMES! INDUSTRY STANDARD! OPEN SOURCE! Wednesday, August 21, 13
  85. 85. 70 THEMES! PLUGINS! INDUSTRY STANDARD! OPEN SOURCE! Wednesday, August 21, 13
  86. 86. 70 THEMES! PLUGINS! INDUSTRY STANDARD! OPEN SOURCE! WE KNOW IT! Wednesday, August 21, 13
  87. 87. 71 Wednesday, August 21, 13
  88. 88. 72 Wednesday, August 21, 13
  89. 89. So What Happened? Why Change? Wednesday, August 21, 13
  90. 90. 74 Scaling WordPress is complicated Wednesday, August 21, 13
  91. 91. 74 Scaling WordPress is complicated Wednesday, August 21, 13
  92. 92. 75 Our process was terrible Wednesday, August 21, 13
  93. 93. 75 •Someone emails one of us a post Our process was terrible Wednesday, August 21, 13
  94. 94. 75 •Someone emails one of us a post •We read it and send it back to them for revisions. Our process was terrible Wednesday, August 21, 13
  95. 95. 75 •Someone emails one of us a post •We read it and send it back to them for revisions. •They rewrite it and send us a new file... via email. Our process was terrible Wednesday, August 21, 13
  96. 96. 75 •Someone emails one of us a post •We read it and send it back to them for revisions. •They rewrite it and send us a new file... via email. •Round and round we go. Our process was terrible Wednesday, August 21, 13
  97. 97. 75 •Someone emails one of us a post •We read it and send it back to them for revisions. •They rewrite it and send us a new file... via email. •Round and round we go. •We email the finished article to our editor, Andrew. Our process was terrible Wednesday, August 21, 13
  98. 98. 75 •Someone emails one of us a post •We read it and send it back to them for revisions. •They rewrite it and send us a new file... via email. •Round and round we go. •We email the finished article to our editor, Andrew. •Andrew emails us a different copy with his edits. Our process was terrible Wednesday, August 21, 13
  99. 99. 75 •Someone emails one of us a post •We read it and send it back to them for revisions. •They rewrite it and send us a new file... via email. •Round and round we go. •We email the finished article to our editor, Andrew. •Andrew emails us a different copy with his edits. •We copy/paste into WordPress and post. Our process was terrible Wednesday, August 21, 13
  100. 100. 76 Wednesday, August 21, 13
  101. 101. 77 OCTOPRESS Wednesday, August 21, 13
  102. 102. 78 OCTOPRESS + Wednesday, August 21, 13
  103. 103. 79 Rackspace Cloud Files is GLOBAL Wednesday, August 21, 13
  104. 104. 80 Rackspace Cloud Files is CHEAP Wednesday, August 21, 13
  105. 105. 81 Wednesday, August 21, 13
  106. 106. 82 Wednesday, August 21, 13
  107. 107. 82 Wednesday, August 21, 13
  108. 108. 82 http://github.com/rackerlabs/devsite Wednesday, August 21, 13
  109. 109. 83 Our new process is awesome Wednesday, August 21, 13
  110. 110. 83 •Someone forks our GitHub repo Our new process is awesome Wednesday, August 21, 13
  111. 111. 83 •Someone forks our GitHub repo •They write a post: rake new_post[‘Some post’] Our new process is awesome Wednesday, August 21, 13
  112. 112. 83 •Someone forks our GitHub repo •They write a post: rake new_post[‘Some post’] •They submit a pull request to us. Our new process is awesome Wednesday, August 21, 13
  113. 113. 83 •Someone forks our GitHub repo •They write a post: rake new_post[‘Some post’] •They submit a pull request to us. •We revise it via a GitHub discussion Our new process is awesome Wednesday, August 21, 13
  114. 114. 83 •Someone forks our GitHub repo •They write a post: rake new_post[‘Some post’] •They submit a pull request to us. •We revise it via a GitHub discussion •We merge the commit. Our new process is awesome Wednesday, August 21, 13
  115. 115. 83 •Someone forks our GitHub repo •They write a post: rake new_post[‘Some post’] •They submit a pull request to us. •We revise it via a GitHub discussion •We merge the commit. •DEPLOY! Our new process is awesome Wednesday, August 21, 13
  116. 116. 84 Wednesday, August 21, 13
  117. 117. 85 Wednesday, August 21, 13
  118. 118. 86 DEMO TIME Wednesday, August 21, 13
  119. 119. 86 DEMO TIME MAYBE ? Wednesday, August 21, 13
  120. 120. 87 Wednesday, August 21, 13
  121. 121. 88 Wednesday, August 21, 13
  122. 122. Conclusions... Wednesday, August 21, 13
  123. 123. 90 Wednesday, August 21, 13
  124. 124. 91 + Wednesday, August 21, 13
  125. 125. 92 OCTOPRESS + Wednesday, August 21, 13
  126. 126. 93 Wednesday, August 21, 13
  127. 127. ENJOY YOUR LUNCH! Wednesday, August 21, 13

×