An introduction to DevOps

Preview:

Citation preview

DevOpsAn introduction to DevOps

Alexander Meijers| Lead ArchitectWednesday, September 30th 2015

“A software development method that emphasizes communication,

collaboration, integration, automation, and measurement of cooperation between

software developers and other IT professionals”DEV OPS

Source is Wikipedia

DevOps – Working togetherImprove technologic and process integration between development and operations

• Have a common goal• Working together• Optimization of team performance

Development

Technology Operations

Quality Assurance

DevOps

DevOps – Deployment lifecyclesImprove deployment frequency and have faster development and deployment lifecycles

• Leads to faster time to market• Leads to lower failure rate of new released• Leads to shortened lead time between fixes• Leads to faster mean time to recovery (MTTR)

DevOps - Automation• DevOps approach aims to maximize

• predictability• efficiency• Security• maintainability of operational processes

• By investing in automation and critical tool selection• Standardize development environments• Use release management• More flexibility in managing and driving automation

• No or less manually work at the command line

DevOps – application-centric networking• Success is determined by the

end user’s experience with an application• Measuring metrics• Application responsiveness• Application uptime• …

• Requires different level of instrumentation within the supporting infrastructure

DevOps? – Look at the A-Team• Working together• Strive for the same goal• Stick together no matter

what• Share intel• Analyze their results• They learn from it• They always win and nobody

dies!

Lifecycle of DevOps

People Process Products

DEV OPS

Plan1 Monitor +

Learn

Release

Develop + Test2

Development

Production

4

3

DevOps process

Thanks to Donovan Brown for the amazing graphics!

It starts with an idea – and a plan how to turn this idea into reality …

Manage work

Develop + Test

1

PlanProject starts

PlanTrack progress

Thanks to Donovan Brown for the amazing graphics!

Write Code

Unit Testing

2

Build

Version Control

Build Verification

Release

Once the iteration starts, developers turn great ideas into features …

Develop + Test

Thanks to Donovan Brown for the amazing graphics!

CloudLoad

TestingIntegration testing

environment

Automated functional testing

environment

3

Pre-production

environment

Stagingenvironme

nt

Monitor + Learn

When all tests pass, the build is deployed to testing environments for each stage in the release process

Release

Thanks to Donovan Brown for the amazing graphics!

Learn and understand how users use your app, how it reacts and quickly fix issues and bugs

Monitor + Learn

4

Monitor

Feedback

Plan the next iteration

Thanks to Donovan Brown for the amazing graphics!

DevOps practices• Infrastructure as Code • Continuous integration • Automated testing• Application Performance Monitoring / Management• Continuous Deployment / Delivery• Release Management• Configuration Management

Doing one of these practices doesn’t mean you are doing DevOps!Source: http://www.itproguy.com/devops-practices

DevOps solutions @ Microsoft

DevOps journey – Where to start?Asses where you are

• Gather information about MTTR, MTTD, rates of deployment

• Microsoft’s DevOps Self assessment*

Challenge people

• Address people on collaboration between dev and ops

• Thinks out of the box instead of in organization structure and processes like ITIL

Determine your tools

• Choose the practices you need

• Define the tools that are suited to your case

*Microsoft’s DevOps Self Assessment: http://devopsassessment.azurewebsites.net MTTR=Mean Time To ResolveMTTD=Mean Time To Detect

Questions?

Recommended