How DevOps Changes Everything

A presentation at Agile 2013 in August 2013 in Nashville, TN, USA by Karthik Gaekwad

Slide 1

Slide 1

How DevOps changed everything Karthik Gaekwad @iteration1 Wednesday, August 7, 13 #AgileDevOps

Slide 2

Slide 2

Howdy! • I’m Karthik Gaekwad • Senior Web Engineer • Mentor Graphics Embedded • From Austin, TX • We have great BBQ, chill people and brutal summers! @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 3

Slide 3

My Background • National Instruments (NI) • Ecommerce Team (Agile) • R&D Cloud Team (DevOps) • Mentor Graphics Embedded • Cloud Team (DevOps) • Organizer: CloudAustin, DevOpsDays Austin, TheAgileAdmin @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 4

Slide 4

Audience Survey @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 5

Slide 5

Let’s not waste time! The most important DevOps things I’ve learned over the last 4 years @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 6

Slide 6

First, we have to talk about agile… @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 7

Slide 7

@iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 8

Slide 8

There was a waterfall Requirements Design Implement, Test Deploy Maintain @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 9

Slide 9

Roles Requirements Product Manager, Business Analyst Design Business Analyst, Web Designer, Architect Implement Programmer Analyst, Web Developer Deploy Programmer Analyst, System Administrator Maintain System Administrator @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 10

Slide 10

Waterfall.. S @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 11

Slide 11

Communication “But I told you this already” @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 12

Slide 12

Accountability “That is not my job!” @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 13

Slide 13

Time to deliver “That is not a priority” @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 14

Slide 14

@iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 15

Slide 15

**About the time I started… @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 16

Slide 16

New Product: Partslist Collaborate and tag parts to build large systems @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 17

Slide 17

Transitioned to SCRUM 2 Week Iterations Targeted Feature sets Demo at end of iteration @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 18

Slide 18

The Product Team > Traditional Organization @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 19

Slide 19

Results Working together, building things that were wanted @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 20

Slide 20

Results Between Business and IT @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 21

Slide 21

Results Better products being delivered, at a faster pace. Methodology expanded to all other web teams… @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 22

Slide 22

Results I love my job! #ForReal @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 23

Slide 23

Agile: Retrospective • Scrum brought team together. • Building products on time, which were actually needed. • Superior collaboration between business and IT. • Organization shift -> Scrum @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 24

Slide 24

Ops conversations “Agile is cool! but it’s hard for ops to be agile because it takes months to buy and provision servers.” @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 25

Slide 25

@iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 26

Slide 26

Ops conversations Deployer Dude “All day everyday” @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 27

Slide 27

But in the community… @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 28

Slide 28

But in the community… @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 29

Slide 29

“Go build us cloud products “We’re making cloud now” products now” Sincerely, Management @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 30

Slide 30

“Cloud is “We’re making cloud AWESOME!” products now” @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 31

Slide 31

“Cloud is “We’reOSSM” making cloud -Dave Nielson products now” -NIST @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 32

Slide 32

“Cloud is AWESOME OSSM” On-demand “We’re making cloud Self-service products now” Scalable Measurable @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 33

Slide 33

“Give me API or give me death” @littleidea @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 34

Slide 34

“Agile DevOps “We’re making cloud Cloud Team” products now” @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 35

Slide 35

DevOps “A cultural and professional movement” Adam Jacobs @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 36

Slide 36

DevOps “System administrators participating in an agile development process alongside developers and using many of the same agile techniques for their systems work.” The Agile Admin Blog @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 37

Slide 37

“Get rid of the devs; get rid of the ops; let’s just find people who can solve problems” Alison Chaiken Embedded Linux, Thought Leader @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 38

Slide 38

Pillars of DevOps CULTURE AUTOMATION MEASUREMENT By: John Willis SHARING Damon Edwards @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 39

Slide 39

DevOps 101 Ideas and Stories Free!! No charge!! @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 40

Slide 40

“Agile DevOps “We’re making cloud Cloud Team” products now” Buzzword friendly! @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 41

Slide 41

We had a goal: “Build a cloud authentication prototype” Wednesday, August 7, 13

Slide 42

Slide 42

R E U LT U C Our 1st sprint(s) sucked! @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 43

Slide 43

R E U LT U C Devs: “REST Services!” But we suffered from “Wall of confusionitis” Ops: “System Stability!” @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 44

Slide 44

R E U LT U C Not seeing eye to eye #Frustrating #Angry @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 45

Slide 45

R E U LT U C @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 46

Slide 46

R E U LT U C Really, this is “Platform Architecture”, but I’m too lazy to redo the image @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 47

Slide 47

R E U LT U C Devs and ops understand good architecture. #GoodPlaceToStart @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 48

Slide 48

R E U LT U C Think platform first, then app later. #PaaS #REST @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 49

Slide 49

IO N A U T O M A T 1st win: Architecture • Everyone understood architecture • Helped everyone speak same language • Reduced friction • Called it “The System Model” @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 50

Slide 50

IO N M A T T O A U 1st win: Architecture • “Model Driven Automation” • Championed by ops • Everyone needs to understand the model • Figure out how to deploy the model @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 51

Slide 51

IO N M A T T O A U • 1st win: Architecture Programmable Infrastructure Environment (PIE) • Based on version controlled architecture diagram • • • • Provisioned cloud boxes Ran deploys Set standard naming for boxes On demand deploy for apps @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 52

Slide 52

IO N M A T T O A U Outcomes • Ops learns Java! • Ops learns version control! • Developers get comfortable with production environments! • …Now we’re speaking many common languages! @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 53

Slide 53

A U T O M A T IO N Are y’all crazy??? No Chef? No Puppet? @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 54

Slide 54

A U T O M A T IO N Everybody be cool • We believe the cleanest abstraction layer is starting with the entire system you’re trying to model • In 2009, chef and puppet were younger • We were scared of Ruby • We needed windows cloud support • Plus dawg, cloud was a wild wild world then! @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 55

Slide 55

IO N M A T T O A U Please automate!! @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 56

Slide 56

IO N M A T T O A U Do I pick Chef or Puppet?? “whatever makes you happy” @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 57

Slide 57

IN G R SH A For chef/puppet, you’ll need to code. #NotJust4Devs #NotScary @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 58

Slide 58

IN G R SH A Stuck? Just ask your DevOps dev guy! #NotJust4Devs @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 59

Slide 59

IN G R SH A Don’t hide. Share the knowledge @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 60

Slide 60

IN G R SH A Wednesday, August 7, 13 App configs

Slide 61

Slide 61

IN G R SH A App configs Easy Change Management Let your automation control these kind of files Wednesday, August 7, 13

Slide 62

Slide 62

PS D EV O Tools Philosophy • Needed to work for cloud • Facilitate collaboration • Charts and graphs • Everyone wants to use it @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 63

Slide 63

E R SU EA M Tools Philosophy • Monitoring = Cloudkick • Monitor servers • Monitor code (custom synthetic checks) We use #datadog now @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 64

Slide 64

E R SU EA M Tools Philosophy Teach your devs how to monitor their code, and they will love the tool Example: #NewRelic @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 65

Slide 65

M EA SU R E Tools Philosophy If it measures business metrics, management will love you too! #statsd #dogstatsd HINT: Management pays you. Make them happy @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 66

Slide 66

E R SU EA M Tools Philosophy WASTE OF TIME: SSH’ing into a box to read log files @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 67

Slide 67

M EA SU R E Tools Philosophy Get a logging solution. Plethora of choices! #Logstash #Graylog #Splunk #Sumologic Which one? CloudAustin July Meetup @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 68

Slide 68

IN G R SH A Tools Philosophy You’ll need more tools Find them or write them! You’re devops now! @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 69

Slide 69

E R SU EA M Tools Philosophy DevOps victory: “People” use tools that solve their core problems @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 70

Slide 70

DevOps 201 MOAR Ideas and Stories For ops who can code and dev not scared of linux @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 71

Slide 71

R E U LT U C Is different for every team. What works for your team, works for your team @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 72

Slide 72

R E U LT U C This worked for us… #AlwaysBeInclusive @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 73

Slide 73

R E U LT U C Stuff Breaks Like…all the time @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 74

Slide 74

R E U LT U C @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 75

Slide 75

R E U LT U C #DontDoThis @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 76

Slide 76

R E U LT U C Be Cool. Fix the issue at hand If you panic, everyone else does too. @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 77

Slide 77

C U LT U R E Post Mortem Do a Post mortem @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 78

Slide 78

R E U LT C U Post Mortem It’s okay to admit mistakes You’re not Batman… @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 79

Slide 79

R E U LT C U Post Mortem Why x5 Add more tests Make sure it doesn’t happen again @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 80

Slide 80

R E U LT C U RELEASE OFTEN Release with 4 changes is less risky than Release with 40,000 changes @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 81

Slide 81

PS D EV O Wednesday, August 7, 13 Testing

Slide 82

Slide 82

D EV O PS Test Everything Test the code Test the infrastructure It’s all the same now #infrastructureAsCode @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 83

Slide 83

PS D EV O Free Time? Write more tests! @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 84

Slide 84

PS D EV O CONTINUOUSLY @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 85

Slide 85

PS D EV O CONTINUOUSLY @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 86

Slide 86

PS D EV O Manual Changes To Production @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 87

Slide 87

PS D EV O Manual Changes Don’t do this. Do this: 1. Make manual changes in dev 2. Add to your chef/puppet script 3. Release to test/prod @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 88

Slide 88

DevOps 301 MOAR MOAR Tips For when your team grows @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 89

Slide 89

Security in the loop Add security audits as a part of your sprint. We do an audit periodically @Gauntlt @RuggedDevOps @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 90

Slide 90

Security in the loop Hire an infosec pro to your devops team @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 91

Slide 91

Security in the loop No budget? Try a cross functional working group @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 92

Slide 92

Expanding Teams? • Rotate times for meetings (status/planning) • Scrum standups were recorded and dropbox(ed) • “OK to call” philosophy • Campfire chat (saves history) • Ownership of new features @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 93

Slide 93

Expanding Teams? • No secret: Face to face is always better • Prioritize travels for visits to teammates @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 94

Slide 94

Everyone asking for DevOps? The embedded DevOps model works* @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 95

Slide 95

Everyone asking for DevOps? Make sure your team culture is strong enough so you don’t lose person permanently :) @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 96

Slide 96

Start Small… Don’t say “WE’RE 100% DEVOPS TODAY” Wednesday, August 7, 13

Slide 97

Slide 97

DevOps 401 MOAR MOAR MOAR Ideas For next time. I don’t have any. Tweet #agiledevops for your best ideas! @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 98

Slide 98

STILL STUCK? Just ask! We’re devops, and this is real (even though we can’t define it) Twitter: #devopsama http://devopsweekly.com/ Go to a devopsdays https://groups.google.com/forum/#!forum/devops @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 99

Slide 99

DevOps: Retrospective @iteration1 Wednesday, August 7, 13 • DevOps and CAMS bring team together. • Building stable products on time, which were actually needed. • Superior collaboration between devs and ops • Organization shift -> DevOps Agile 2013 #AgileDevOps

Slide 100

Slide 100

DevOps: Retrospective • DevOps and CAMS bring team together. • Superior collaboration between business and IT. Building stable products on time, which were actually needed. • Superior collaboration between devs and ops Organization shift -> Scrum • Organization shift -> DevOps • Scrum brought team together. • Building products on time, which were actually needed. • • @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps

Slide 101

Slide 101

Thank you! Let’s work together, and solve the problems that our business wants us to! #DevOps @iteration1 Wednesday, August 7, 13 Agile 2013 #AgileDevOps