SlideShare a Scribd company logo
SRE Demystified
Simplicity
ganesh@ganeshniyer.com
ganesh.vigneswara@gmail.com,
http://ganeshniyer.com
Dr Ganesh Neelakanta Iyer
SRE
•
2https://image.slidesharecdn.com/devopssreatgooglescale-190121123035/95/devops-sre-at-google-scale-30-638.jpg?cb=1548074257
Simplicity
• Software systems are inherently dynamic and unstable
• A good summary of the SRE approach to managing
systems is: "At the end of the day, our job is to keep
agility and stability in balance in the system
3
The price of reliability is the pursuit of the
utmost simplicity. C.A.R. Hoare, Turing Award lecture
https://landing.google.com/sre/sre-book/chapters/simplicity/
System Stability Versus Agility
• For the majority of production software systems, we want a
balanced mix of stability and agility
• SREs work to create procedures, practices, and tools that
render software more reliable
• At the same time, SREs ensure that this work has as little
impact on developer agility as possible
• Building reliability into development allows developers to
focus their attention on what we really do care about—the
functionality and performance of their software and systems
4
https://landing.google.com/sre/sre-book/chapters/simplicity/
Accidental Complexity
• Essential complexity is the complexity inherent in a given
situation that cannot be removed from a problem definition,
whereas accidental complexity is more fluid and can be resolved
with engineering effort
• With an eye towards minimizing accidental complexity, SRE
teams should:
• Push back when accidental complexity is introduced into the
systems for which they are responsible
• Constantly strive to eliminate complexity in systems they
onboard and for which they assume operational responsibility
5
https://landing.google.com/sre/sre-book/chapters/simplicity/
The "Negative Lines of Code" Metric
• The term "software bloat" was coined to describe the
tendency of software to become slower and bigger over
time as a result of a constant stream of additional
features
• While bloated software seems intuitively undesirable, its
negative aspects become even more clear when
considered from the SRE perspective: every line of code
changed or added to a project creates the potential for
introducing new defects and bugs
6
https://landing.google.com/sre/sre-book/chapters/simplicity/
Minimal APIs
• Writing clear, minimal APIs is an essential aspect of
managing simplicity in a software system
• The fewer methods and arguments we provide to
consumers of the API, the easier that API will be to
understand, and the more effort we can devote to making
those methods as good as they can possibly be
• In software, less is more! A small, simple API is usually
also a hallmark of a well-understood problem
7
https://landing.google.com/sre/sre-book/chapters/simplicity/
Modularity
• The ability to make changes to parts of the system in
isolation is essential to creating a supportable system
• Versioning APIs allows developers to continue to use the
version that their system depends upon while they
upgrade to a newer version in a safe and considered way
• The concept of modularity also applies to data formats.
One of the central strengths and design goals of Google’s
protocol buffers was to create a wire format that was
backward and forward compatible.
8
https://landing.google.com/sre/sre-book/chapters/simplicity/
Release simplicity
• It is much easier to measure and understand the impact
of a single change rather than a batch of changes
released simultaneously
• If we release 100 unrelated changes to a system at the
same time and performance gets worse, understanding
which changes impacted performance, and how they did
so, will take considerable effort or additional
instrumentation
9
https://landing.google.com/sre/sre-book/chapters/simplicity/
References
10
Dr Ganesh Neelakanta Iyer
ganesh@ganeshniyer.com
ganesh.vigneswara@gmail.com

More Related Content

PDF
SRE Demystified - 04 - Engagement Model
PDF
SRE Demystified - 12 - Docs that matter -1
PDF
SRE Demystified - 13 - Docs that matter -2
PDF
SRE Demystified - 10 - Release management-1
PDF
SRE Demystified - 03 - Choosing SLIs and SLOs
PDF
SRE Demystified - 07 - Practical Alerting
PDF
SRE Demystified - 11 - Release management-2
PDF
SRE Demystified - 01 - SLO SLI and SLA
SRE Demystified - 04 - Engagement Model
SRE Demystified - 12 - Docs that matter -1
SRE Demystified - 13 - Docs that matter -2
SRE Demystified - 10 - Release management-1
SRE Demystified - 03 - Choosing SLIs and SLOs
SRE Demystified - 07 - Practical Alerting
SRE Demystified - 11 - Release management-2
SRE Demystified - 01 - SLO SLI and SLA

What's hot (17)

PDF
SRE Demystified - 16 - NALSD - Non-Abstract Large System Design
PDF
SRE Demystified - 06 - Distributed Monitoring
PPTX
Selenium ide 1
PPTX
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
PPTX
Optimize continuous delivery of oracle fusion middleware applications
PPTX
Load Testing Implementation With Agile Approach
DOCX
The moving target - Performance Testing / Engineering in real world
PDF
SV Value Brief
PPT
SQL Server Profiler & Performance Monitor - SarabPreet Singh
PDF
Performance Value Brief
PDF
Database Health-Check Consulting Service
PPTX
Geek Sync I Practical Performance Tuning with SQL Wait Stats
PDF
Corp implementation presentation 2
PPTX
Performance Testing – Look Before you Leap
PPTX
Geek Sync I Surviving the Holidays with SQL Server
PPTX
Geek Sync | The Five Essential Scripts for Performance Tuning
PPTX
Oracle performance project public
SRE Demystified - 16 - NALSD - Non-Abstract Large System Design
SRE Demystified - 06 - Distributed Monitoring
Selenium ide 1
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...
Optimize continuous delivery of oracle fusion middleware applications
Load Testing Implementation With Agile Approach
The moving target - Performance Testing / Engineering in real world
SV Value Brief
SQL Server Profiler & Performance Monitor - SarabPreet Singh
Performance Value Brief
Database Health-Check Consulting Service
Geek Sync I Practical Performance Tuning with SQL Wait Stats
Corp implementation presentation 2
Performance Testing – Look Before you Leap
Geek Sync I Surviving the Holidays with SQL Server
Geek Sync | The Five Essential Scripts for Performance Tuning
Oracle performance project public
Ad

Similar to SRE Demystified - 09 - Simplicity (20)

PDF
SRE Demystified - 14 - SRE Practices overview
PDF
Simple vs Easy
PPTX
Simple is the best
PDF
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...
PDF
Seven steps to web services governance
PDF
Site Reliability Engineering slide deck 101
PPTX
Design for Simplexity
PPTX
DevOps Torino Meetup - SRE Concepts
PPTX
A Simpler Time: A study of complexity in APIs
PDF
Site-Reliability-Engineering-v2[6241].pdf
PPT
Introduction of Software Engineering
PPTX
Software engineering fundamentals
PDF
Ch2 pressman
PDF
Sre summary
PDF
Simplicity
PDF
e-Business - SE trends
PPTX
Introduction to Software Engg SDLC, SDLC Models
PDF
Excavating the knowledge of our ancestors
PDF
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
PDF
When Things Go Bump in the Night
SRE Demystified - 14 - SRE Practices overview
Simple vs Easy
Simple is the best
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...
Seven steps to web services governance
Site Reliability Engineering slide deck 101
Design for Simplexity
DevOps Torino Meetup - SRE Concepts
A Simpler Time: A study of complexity in APIs
Site-Reliability-Engineering-v2[6241].pdf
Introduction of Software Engineering
Software engineering fundamentals
Ch2 pressman
Sre summary
Simplicity
e-Business - SE trends
Introduction to Software Engg SDLC, SDLC Models
Excavating the knowledge of our ancestors
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
When Things Go Bump in the Night
Ad

More from Dr Ganesh Iyer (19)

PDF
SRE Demystified - 05 - Toil Elimination
PDF
Machine Learning for Statisticians - Introduction
PDF
Making Decisions - A Game Theoretic approach
PDF
Cloud and Industry4.0
PDF
Game Theory and Engineering Applications
PDF
Machine Learning and its Applications
PDF
How to become a successful entrepreneur
PDF
Dockers and kubernetes
PDF
Containerization Principles Overview for app development and deployment
PDF
Game Theory and Engineering Applications
PDF
Demystifying Containerization Principles for Data Scientists
PDF
Cloud computing for image processing and bio informatics
PDF
Io t trends
PDF
Trends in IoT 2017
PPTX
Docker 101 - High level introduction to docker
PDF
DrGanesh-Jan-17-Resume-V1.0
PPTX
Simplify enterprise IT with no code platform - aPaaS
PDF
Agile testing - Principles and best practices
PPTX
Docker - A high level introduction to dockers and containers
SRE Demystified - 05 - Toil Elimination
Machine Learning for Statisticians - Introduction
Making Decisions - A Game Theoretic approach
Cloud and Industry4.0
Game Theory and Engineering Applications
Machine Learning and its Applications
How to become a successful entrepreneur
Dockers and kubernetes
Containerization Principles Overview for app development and deployment
Game Theory and Engineering Applications
Demystifying Containerization Principles for Data Scientists
Cloud computing for image processing and bio informatics
Io t trends
Trends in IoT 2017
Docker 101 - High level introduction to docker
DrGanesh-Jan-17-Resume-V1.0
Simplify enterprise IT with no code platform - aPaaS
Agile testing - Principles and best practices
Docker - A high level introduction to dockers and containers

Recently uploaded (20)

PDF
Machine learning based COVID-19 study performance prediction
PPTX
A Presentation on Artificial Intelligence
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Approach and Philosophy of On baking technology
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
cuic standard and advanced reporting.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Modernizing your data center with Dell and AMD
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Encapsulation_ Review paper, used for researhc scholars
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
KodekX | Application Modernization Development
Machine learning based COVID-19 study performance prediction
A Presentation on Artificial Intelligence
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Approach and Philosophy of On baking technology
“AI and Expert System Decision Support & Business Intelligence Systems”
Per capita expenditure prediction using model stacking based on satellite ima...
Spectral efficient network and resource selection model in 5G networks
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Unlocking AI with Model Context Protocol (MCP)
cuic standard and advanced reporting.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Review of recent advances in non-invasive hemoglobin estimation
Understanding_Digital_Forensics_Presentation.pptx
Modernizing your data center with Dell and AMD
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Encapsulation_ Review paper, used for researhc scholars
The AUB Centre for AI in Media Proposal.docx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Chapter 3 Spatial Domain Image Processing.pdf
KodekX | Application Modernization Development

SRE Demystified - 09 - Simplicity

  • 3. Simplicity • Software systems are inherently dynamic and unstable • A good summary of the SRE approach to managing systems is: "At the end of the day, our job is to keep agility and stability in balance in the system 3 The price of reliability is the pursuit of the utmost simplicity. C.A.R. Hoare, Turing Award lecture https://landing.google.com/sre/sre-book/chapters/simplicity/
  • 4. System Stability Versus Agility • For the majority of production software systems, we want a balanced mix of stability and agility • SREs work to create procedures, practices, and tools that render software more reliable • At the same time, SREs ensure that this work has as little impact on developer agility as possible • Building reliability into development allows developers to focus their attention on what we really do care about—the functionality and performance of their software and systems 4 https://landing.google.com/sre/sre-book/chapters/simplicity/
  • 5. Accidental Complexity • Essential complexity is the complexity inherent in a given situation that cannot be removed from a problem definition, whereas accidental complexity is more fluid and can be resolved with engineering effort • With an eye towards minimizing accidental complexity, SRE teams should: • Push back when accidental complexity is introduced into the systems for which they are responsible • Constantly strive to eliminate complexity in systems they onboard and for which they assume operational responsibility 5 https://landing.google.com/sre/sre-book/chapters/simplicity/
  • 6. The "Negative Lines of Code" Metric • The term "software bloat" was coined to describe the tendency of software to become slower and bigger over time as a result of a constant stream of additional features • While bloated software seems intuitively undesirable, its negative aspects become even more clear when considered from the SRE perspective: every line of code changed or added to a project creates the potential for introducing new defects and bugs 6 https://landing.google.com/sre/sre-book/chapters/simplicity/
  • 7. Minimal APIs • Writing clear, minimal APIs is an essential aspect of managing simplicity in a software system • The fewer methods and arguments we provide to consumers of the API, the easier that API will be to understand, and the more effort we can devote to making those methods as good as they can possibly be • In software, less is more! A small, simple API is usually also a hallmark of a well-understood problem 7 https://landing.google.com/sre/sre-book/chapters/simplicity/
  • 8. Modularity • The ability to make changes to parts of the system in isolation is essential to creating a supportable system • Versioning APIs allows developers to continue to use the version that their system depends upon while they upgrade to a newer version in a safe and considered way • The concept of modularity also applies to data formats. One of the central strengths and design goals of Google’s protocol buffers was to create a wire format that was backward and forward compatible. 8 https://landing.google.com/sre/sre-book/chapters/simplicity/
  • 9. Release simplicity • It is much easier to measure and understand the impact of a single change rather than a batch of changes released simultaneously • If we release 100 unrelated changes to a system at the same time and performance gets worse, understanding which changes impacted performance, and how they did so, will take considerable effort or additional instrumentation 9 https://landing.google.com/sre/sre-book/chapters/simplicity/
  • 11. Dr Ganesh Neelakanta Iyer ganesh@ganeshniyer.com ganesh.vigneswara@gmail.com