You just got “done” with the transformation of your organization (or parts of it) to leverage more DevOps practices, and now the next hot thing is taking over the industry: containers, Cloud Native, SRE, GitOps, Kubernetes, etc. What’s a DevOps Manager to do? Throw away the last few years and rebrand the team as Cloud Native SREs?
Technological advancement not only provides advancement in “what” a modern technology architecture looks like, it can also provide advancement in the processes and the day to day of an organization’s technology teams. We’ve seen this before in the move from mainframe to client-server, and client-server to Cloud.
In this presentation I’ll talk about the relationship of DevOps to Cloud Native technologies, and help make sense of all the jargon - containers, microservices, orchestration (and Kubernetes), SRE, GitOps, etc. I’ll also talk about how some processes & practices in the world of DevOps change when leveraging these technologies. Attendees will leave with a base understanding of what a DevOps operating model looks like when leveraging modern Cloud Native technologies.
3. @mfdii
Origins of DevOps
2008 - Andrew Clay Shafer proposes “Agile Infrastructure” Birds
of a Feather at the Agile Conference held in Toronto. One person
shows up, Patrick Debois.
4. @mfdii
Origins of DevOps
2009 - John Allspaw and Paul Hammond give a talk at Velocity
titled "10+ Deploys Per Day: Dev and Ops Cooperation at Flickr"
- https://www.youtube.com/watch?v=LdOe18KhtT4
2009 - The first DevOpsDays is held in Gent, Belgium, hosted by
Patrick Debois and many others.
5. @mfdii
Origins of DevOps
2010 - John Willis and Damon Edwards coin CAMS. Later this
evolves into CALMS:
- Culture
- Automation
- Lean
- Measurement
- Sharing
6. @mfdii
Culture
- People over process.
- Freedom to fail
- And learn from failure
- Ideas from anyone, not just certain individuals
7. @mfdii
Automation
Automation of your entire software delivery lifecycle.
Often where automation principles apply:
- Infrastructure as Code
- Continuous Integration
- Continuous Delivery
9. @mfdii
Measurement
Measure:
- Performance Metrics
- Process Metrics
- People Metrics
Great example is DORA:
- DevOps Research Associates authors of “The State of DevOps Report”
- https://puppet.com/resources/whitepaper/state-of-devops-report
11. @mfdii
Defining DevOps
“DevOps is a cultural and professional movement, focused
on how we build and operate high velocity organizations,
born from the experiences of its practitioners.”
- Adam Jacob, CTO, Chef
12. @mfdii
What is Cloud Native?
Cloud native computing uses an open source software stack to be:
1. Containerized. Each part (applications, processes, etc) is packaged in its own container. This
facilitates reproducibility, transparency, and resource isolation.
2. Dynamically orchestrated. Containers are actively scheduled and managed to optimize resource
utilization.
3. Microservices oriented. Applications are segmented into microservices. This significantly
increases the overall agility and maintainability of applications.
https://www.cncf.io/about/faq/
13. @mfdii
What is Cloud Native?
“...Cloud Native is structuring teams, culture and technology to
utilize automation and architectures to manage complexity and
unlock velocity.”
- Joe Beda, Heptio
https://blog.heptio.com/cloud-native-part-1-definition-716ed30e9193
14. @mfdii
What is Cloud Native?
“Cloud native is an approach to building and running
applications that fully exploit the advantages of the cloud
computing model.”
https://pivotal.io/cloud-native
17. @mfdii
What is Cloud Native?
Cloud native is an approach to building and running applications that fully exploit the advantages of
the cloud computing model. In particular, Cloud Native takes advantage of technological advances to
build and deploy applications that are:
1. Containerized. Each part (applications, processes, etc) is packaged in its own container. This
facilitates reproducibility, transparency, and resource isolation.
2. Dynamically orchestrated. Containers are actively scheduled and managed to optimize resource
utilization.
3. Microservices oriented. Applications are segmented into microservices. This significantly
increases the overall agility and maintainability of applications.
19. @mfdii
DevOps + Cloud Native
DevOps - A Cultural and Professional movement focused on: Culture,
Automation, Lean, Measurement, & Sharing
Cloud Native - A technological paradigm focused on a repeatable pattern of
building applications in the cloud leveraging Containers, Automation, and
Microservices.
20. @mfdii
DevOps + Cloud Native
DevOps
C
A
L
M
S
Cloud Native
Blameless, Inclusion & Diversity, Self-Care, Fail Fast
Open Source, Public Post-mortems, Public Presentations
22. @mfdii
Cloud Native Improves DevOps
Automation
- Automation as a first principle
- Automation principles built into the Platform
- Tenets of scaling built into the Platform
23. @mfdii
Cloud Native Improves DevOps
Automation
- Makes Infrastructure as Code easier
- Immutability of Containers
- Further abstracted from the Infrastructure
- Less brittle than traditional Config Management
- GitOps for example
25. @mfdii
Cloud Native Improves DevOps
Automation
- Automatic circuit breakers
- Service Mesh
- Proxy for service requests, service discovery, TLS
termination, service metrics, etc
- Can detect abnormal conditions and respond
26. @mfdii
Cloud Native Improves DevOps
Measurement
- Common instrumentation point for Developers
- Prometheus
- Allows developers to easily instrument their code
- Instrumentation == Visibility
27. @mfdii
Cloud Native Improves DevOps
Measurement
- Distributed Tracing
- Jaeger, OpenTracing
- Correlation of events through the distributed stack
- Higher visibility into:
- Bottlenecks
- Sources of Failure
- Potential points to optimize
28. @mfdii
Cloud Native Improves DevOps
Measurement
- Service Mesh provides common instrumentation point for
service performance
- Success, Retries, Error Rates, etc
29. @mfdii
Cloud Native Improves DevOps
Lean
- Side effect of Cloud Native
- Processes are improved to increase velocity and agility
- Points of friction are removed
- Best practices are automated into the Platform
30. @mfdii
Back to “10 Deploys a Day…”
Technical
1. Automated infrastructure
2. Shared version control
3. One step build and deploy
a. Small frequent changes
4. Feature flags
5. Shared metrics
6. IRC and IM Robots (ChatOps)
Cultural
1. Respect
2. Trust
3. Healthy attitude towards failure
4. Avoiding blame
https://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr/76
31. @mfdii
Back to “10 Deploys a Day…”
Technical
1. Automated infrastructure
2. Shared version control
3. One step build and deploy
a. Small frequent changes
4. Feature flags
5. Shared metrics
6. IRC and IM Robots (ChatOps)
Cultural
1. Respect
2. Trust
3. Healthy attitude towards failure
4. Avoiding blame
https://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr/76
32. @mfdii
What about my DevOps Team?
- “DevOps Team” is a misnomer.
- Do you mean, “My cultural and professional
movement Team?”
- What does the “DevOps Team” do for the Culture,
Lean, Measurement, and Sharing aspects of
DevOps?
33. @mfdii
What about my DevOps Team?
- Or, do you mean “my automation team”?
- DevOps Team == Developer Services Team
- Continuous Delivery pipeline infrastructure
- Automation framework infrastructure (Chef, Puppet,
Anisble, etc)
- Artifact repositories
34. @mfdii
What about SREs?
- Site Reliability Engineering (SRE)
- “...a discipline that incorporates aspects of software engineering
and applies that to IT operations problems.” -Wikipedia
- SRE Implements DevOps
- What's the Difference Between DevOps and SRE?
- Liz Fong-Jones (@lizthegrey) and Seth Vargo (@sethvargo)
- https://www.youtube.com/watch?v=uTEL8Ff1Zvk
35. @mfdii
What about my DevOps Transformation?
- In the end:
- DevOps is the entire organization’s job, not one
team
- Cloud Native is a culmination of technological
advancements
- Cloud Native provides real benefits of agility and
velocity
36. @mfdii
Thank You
- What’s the Difference Between DevOps and SRE
- https://www.youtube.com/watch?v=uTEL8Ff1Zvk
- 10 Deploys Per Day: Dev and Ops Cooperation at Flickr
- https://www.youtube.com/watch?v=LdOe18KhtT4
- What DevOps Means to Me
- https://blog.chef.io/2010/07/16/what-devops-means-to-me/
- What's the Difference Between DevOps and SRE?
- Liz Fong-Jones (@lizthegrey) and Seth Vargo (@sethvargo)
- https://www.youtube.com/watch?v=uTEL8Ff1Zvk