a day in the life with devops automation

21
July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 1 A Day in the Life with Devops Automation

Upload: john-wilmes

Post on 12-Jul-2015

314 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 1

A Day in the Life with DevopsAutomation

Page 2: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 2

These things will happen in our startup today:1. A product manager approves a candidate feature for implementation

2. A feature card is created in the backlog list for the current release

3. A developer implements the feature and checks in their code

4. The code is analyzed and the results are reported to QA

5. The developer iterates until the code meets analytical standards

6. The code is built, integrated and tested and the results are reported to QA

7. The code is deployed and the results are reported to the team

8. The deployed code and its environment are monitored for errors/availability

9. If problems occur, pagers are called, tracking issues are created, an issue card is created in the bug report list, and the team is notified

10. The developer investigates by correlating log details with problem records

11. The developer updates tracking issues and checks in revised code

12. Rinse and repeat

Page 3: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 3

These things will be automated or mechanized:1. A product manager approves a candidate feature for implementation

2. A feature card is created in the backlog list for the current release

3. A developer implements the feature and checks in their code

4. The code is analyzed and the results are reported to QA

5. The developer iterates until the code meets QA standards

6. The code is built, integrated and tested and the results are reported to QA

7. The code is deployed and the results are reported to the team

8. The deployed code and its environment are monitored for errors/availability

9. If a problem occurs post-deployment, pagers are called, a tracking issue is created, an issue card is created in the bug report list, and team is notified

10. The developer investigates by correlating log details with problem records

11. The developer updates the tracking issue and checks in revised code

12. Rinse and repeat

Page 4: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 4

What are we doing to support our devops?

Product Management

Project Management

Cloud Based Development

Configuration Management

Code Analysis

Continuous Integration

Continuous Deployment

Application Monitoring

Support Coordination

Issue Management

Log Analysis / Correlation

Team Communications

Page 5: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 5

Who is helping us do those things?

Product Management

Project Management

Cloud Based Development

Configuration Management

Code Analysis

Continuous Integration

Continuous Deployment

Application Monitoring

Support Coordination

Issue Management

Log Analysis / Correlation

Team Communications

Evernote

Trello

AWS EC2

Github

Code Climate

Travis CI Pro

AWS Opsworks

New Relic

PagerDuty

Waffle

LogglySlack

Page 6: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 6

A product manager approves a candidate feature for implementation in Evernote …

Page 7: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 7

… and a feature card is auto-created in the Sprint Backlog list for current release on Trello

Page 8: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 8

A developer implements the feature on EC2 and checks in their code on Github …

Page 9: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 9

… the code is auto-analyzed on Code Climate and results auto-reported on Slack …

Page 10: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 10

… the code is also built and tested by Travis and results are auto-reported to QA on Slack

Page 11: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 11

The developer iterates check-in and analysis until code meets QA standards

Page 12: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 12

The developer checks in their code (this time flagged for deployment) on Github

Page 13: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 13

Travis recreates all dependencies, then builds and tests the code in a clean environment …

Page 14: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 14

… notifying QA via Slack if it fails

Page 15: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 15

Eventually Travis successfully builds, tests and deploys on Opsworks, notifying team via Slack

Page 16: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 16

After a successful build, New Relic monitors the deployed application and its environment

Page 17: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 17

If a monitoring threshold is crossed, New Relic calls PagerDuty and creates a Github issue

Page 18: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 18

Issue card is auto-created in Bug Report list for current release on Trello, & Slack notifies team

Page 19: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 19

The developer manages the Github issue with Waffle, resulting in further updates to Slack

Page 20: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 20

And the cycle repeats …

Product Management

Project Management

Cloud Based Development

Configuration Management

Code Analysis

Continuous Integration

Continuous Deployment

Application Monitoring

Support Coordination

Issue Management

Log Analysis / Correlation

Team Communications

Page 21: A day in the life with devops automation

July 2014 Copyright © 2014 Svarog Technology Group. Reproduction and redistribution not permitted. 21

Observations from our work with devops and with automated / mechanized toolchains

• We could benefit from more integration e.g. team communications

• Automation and integration are easier with everything in the cloud

• Devops automation is a force multiplier• Automation of formerly repetitive tasks better use of team members’ time• Team members can multitask more easily and efficiently with fewer errors

• Automation is most important for the activities most often iterated• Such as analyze, build, test, integrate, deploy, monitor, alert, manage issues• Automation enables the team to iterate both more quickly and more often

• There is a synergy between devops and a microservice architecture (and other paradigms that promote small, relatively isolated features)• To be discussed at length elsewhere