DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality...

31
DevOps at its Core Ann Marie Fred IBM May 1, 2015

Transcript of DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality...

Page 1: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

DevOps at its CoreAnn Marie Fred

IBM May 1, 2015

Page 2: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

About Me

Duke BS CS 1999

pervasive & mobile

web applications

algorithms

UNC MS CS 2005

distributed systems

software engineering

Page 3: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

About Me

IBM since 1998

pervasive & mobile

web applications

systems management

cloud computing

DevOps since 2011: 5 different teams

Page 4: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

DevOps: Goals

Happy Developers

Happy IT Operators

Happy Business Stakeholders

Happy Consumers

Page 5: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Happy DevsWork-Life Balance

Fun

Passion

Uptime

Quality

Velocity

Business Value

Sharing Knowledge & Experience

Broad & Deep Skills

Clear Communications

Continuous Process Improvement

Page 6: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Happy OpsWork-Life Balance

Fun

Passion

Uptime

Quality

(maybe not Velocity)

Business Value

Sharing Knowledge & Experience

Broad & Deep Skills

Clear Communications

Continuous Process Improvement

Page 7: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Happy BusinessWork-Life Balance

Fun

Passion

Uptime

Quality

Agility (+)

Velocity

Business Value

Sharing Knowledge & Experience

Broad & Deep Skills

Clear Communications

Continuous Process Improvement

Page 8: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Happy ConsumersFun

Passion

Uptime

Quality

Agility

Velocity

Business Value

Clear Communications

Page 9: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

DevOps: Core ValuesWork-Life Balance

Fun

Passion

Clear Communications

Sharing Knowledge & Experience

Broad & Deep Skills

Page 10: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

DevOps: Core ValuesUptime

Quality

Agility

Velocity

Business Value

Continuous Process Improvement

Page 11: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Warm Fuzzies: Work-Life Balance, Fun, and Passion

Attract & Retain Talent

Hire for the Warm Fuzzies.

Assess Management on the Warm Fuzzies.

Consciously make these happen.

The other DevOps Core Values help immensely.

Page 12: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Clear Communications: Required

Talking

Chat Services

Wikis and Blogs

Forums

Bug Reporting & Tracking

Agile Planning & Tracking

Page 13: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Clear Communications: Extras

Co-location

Social Media

Conferences

User Groups and Meetups

Email and Newsletters

Specific Agile Methodologies (Scrum, Kanban, etc.)

Page 14: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Sharing Knowledge & Experience, Broad & Deep

Skills: RequiredSee: Clear Communications

Document as you build: how and why

Informal Training

Internet Resources

Code Reviews

Page 15: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Sharing Knowledge & Experience, Broad & Deep

Skills: ExtrasWork on things you don’t know how to do.

Pair Programming

Cross Pollination

Open Source Model

Formal Training

Books

Page 16: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Uptime: Required

See: Quality

Monitoring

Graceful Fail-over

Sharing the Pager

Post-Mortems

Continuous Delivery

Page 17: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Continuous Delivery

Automated Deployment into Production

Deployment Automation

Infrastructure as Code

Frequent Deployments (ideally, several per day)

Small, Incremental Changes

Zero Downtime

Page 18: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Continuous Delivery

Automated Tests in Production or At Least Staging

Including NFRs: performance, dropoff, etc.

Staged Rollouts

Dark Launches

Rolling Deployments

A/B Testing

etc.

Page 19: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Uptime: Extras

See: Sharing Knowledge & Experiece, Broad & Deep Skills

Graceful degradation

Dedicated Support Team

Page 20: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Quality: Required

See: Uptime

Bug Tracking

Source Control

Code Reviews

Security Testing

Continuous Integration

Continuous Testing

Page 21: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Continuous Integration

On Every Check In of Source Code:

Build Automatically

Test the Source Code Automatically

Static Code Analysis

Linters for Code Style

API Tests

Anything that doesn’t require a running system

Package Build Artifacts for Deployment

Store Build Artifacts in a Library

Page 22: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Continuous TestingRetrieve Build Artifacts from Library

Deploy Automatically in the Lab

As close to production as possible

Automatically Test Running Systems

Report Test Results Quickly

Voting and Non-Voting Tests

Failed tests make the build fail

If the build fails, fix it before moving on

Page 23: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Quality: Extras

See: Sharing Knowledge & Experience, Broad & Deep Skills

Continuous Delivery

Page 24: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Agility

See: Clear Communication

Agile Planning and Tracking

Frequent Releases

Continuous Delivery Helps

Short Feedback Loops

Autonomous, Empowered Teams

Page 25: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Quality and Agility

"Agile has not only improved our ability to plan effectively but it also has allowed us to spend more time working on user stories by improving the quality of the code we deliver." - Richard Gebhardt, Technical Team Lead for Service Engage.

Page 26: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Velocity

Slow at first, while building the frameworks for quality and uptime.

Faster in the long run.

Low Bug Count

Low Technical Debt

Frequent Releases

Page 27: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Agility and Velocity

"By having daily scrum meetings, everyone knows who is working on what, resources quickly get directed to problem areas and impediments are addressed quickly and efficiently." - Chuck Brant, Service Engage Release Manager.

Page 28: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Business ValueSee: Uptime, Quality, Agility, Velocity

The Right Stakeholders

Feedback Directly from Consumers

User Centered Design

Evaluate teams on business value.

Monitor business value.

Page 29: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Agility and Business Value

"As a product line manager, working on one-week sprints gives me the flexibility to change priorities as things change. I can still get the big-ticket items delivered - but I can do so without getting locked into an unyielding plan and can react rapidly to shifting business priorities." - Pete Marshall, Product Manager, IBM Service Engage/Cloud Foundation Services.

Page 30: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

Continuous Process Improvement

See: Sharing Knowledge & Experience

Blameless Post Mortems

Sprint Retrospectives

Page 31: DevOps at its Core - Computer Science · Happy Ops Work-Life Balance Fun Passion Uptime Quality (maybe not Velocity) Business Value Sharing Knowledge & Experience Broad & Deep Skills

ResourcesMe: [email protected], Twitter @DukeAMO

Triangle DevOps Meetup group

DevOps Days conferences

Code as Craft, Etsy’s Engineering Blog

Blogs from Netflix, Facebook, IBM

Books from O’Reilly Media