Platform Engineering vs SRE discussion and lessons learnt.
Size: 415.64 KB
Language: en
Added: May 16, 2024
Slides: 14 pages
Slide Content
Working together: SRE &
Platform Engineering
Marcus Vechiato
25/05/2023
Agenda
●SRE and Platform Engineering - Main Goals and Objectives
●Summary key Concepts
○What is SRE?
○What is Platform Engineering?
●Food for thought
○SRE Practice
○Platform Engineering
●Benefits of Platform Engineering
●How SREs can benefit from Platform Engineering
●Platform Engineering IDP Approach
●Q&A
SRE and Platform Engineering - Main Goals and Objectives
Platform Engineering focuses on creating
self-service provisioning, standardized
environments, and efficient deployment
pipelines
SRE focuses on automating tasks,
streamlining incident response, and
reducing toil
Platform Engineering focuses on creating
a scalable, stable and resilient platform
infrastructure.
SRE provides insights into
performance bottlenecks and helps
optimize system scalability
Scalability
and
Reliability
Efficiency
SRE
Focus on user-facing
experience
Platform Engineering
Focus on developer
experience
User
Experience
SRE and Platform Engineering work together to ensure systems can scale effectively to meet
growing demands while aim to ensure reliability and availability.
What is SRE?
Vestibulum nec congue
tempus
Lorem ipsum dolor sit dolor amet,
consectetur nec adipiscing elit, sed
do ipsum eiusmod tempor. Donec
facilisis lacus eget sit nec lorem
mauris.
Vestibulum nec congue
tempus
Lorem ipsum dolor sit dolor amet,
consectetur nec adipiscing elit, sed
do ipsum eiusmod tempor. Donec
facilisis lacus eget sit nec lorem
mauris.
"SRE is what
happens when you
ask a software
engineer to design
an operations
team."
Google SRE Book
"SRE is what you
get when you
treat operations
as if it’s a
software
problem…"
Google
Why SRE?
SRE serves as a practical
embodiment of DevOps,
implementing principles and
practices to ensure reliability,
scalability and efficiency in
systems ops
DevOps is a
philosophy that
unifies Developers
and Operations
What is SRE? :: Key Principles
SRE principles contribute
to the reliability and
performance of software
systems by emphasizing
proactive monitoring,
incident response, error
budget management,
and continuous
improvement to ensure
high availability and
optimized performance.
Lorem ipsum
congue tempus
Lorem
ipsum
tempus
Incident
Response
Monitoring
Error
Budget
SLOs
Postmortems
Key Principles
SRE-to-developer
ratio
Toil
Food for thought - SRE Practice
How mature is
your SRE
practice?
What SRE can
do better?
Is SRE being
successful in your
organization?
Cloud
Costs
Tool Creep
SRE identity
centricity
Food for thought - SRE Identity Centricity
Product
Centric
Reliability
User
Experience
Centric
Incident
Centric
SRE
Identity
What is Platform Engineering?
Standardization Self-service Automation
"Platform engineering is the discipline of
building and operating self-service internal
developer platforms (IDPs) for software
delivery and life cycle management" Gartner
Food for thought - Platform Engineering
Things to consider before adopting Platform Engineering:
5
SRE mindset and responsibilities
Can a subset of the SRE role be transferred to
the developers role?
4
Legacy or non-cloud-ready
systems / current state
Platform engineering will not fix your current
state. Everything must be migrated to benefit
3
Which are the pains are you
expecting to address?
Systems Documentation, Toil reduction,
Developer experience fragmentation,
cognitive load, performance issues
Standardization is a concern?
Tools creep, every team/tribe/squad has their
own standards? Is it a source of toil?
2 1
How big is your engineering team?
Hundreds? thousands?
Benefits of Platform Engineering
Lorem ipsum dolor sit amet at
nec at adipiscing 05
● Donec risus dolor porta venenatis
● Pharetra luctus felis
● Proin in tellus felis volutpat
Lorem ipsum dolor sit amet at
nec at adipiscing 04
● Donec risus dolor porta venenatis
● Pharetra luctus felis
● Proin in tellus felis volutpat
Supports CI/CD
practices 05
●Provides infrastructure, tools, and pipelines for automated build, test,
and deployment processes
Infrastructure
as Code (IaC) 04
●Embraces Infrastructure as Code principles
Self-Service 03
Automation 02
●Automates repetitive tasks and processes
●Saves time, reduces errors, and accelerates software delivery
●Examples: provisioning environments, building and testing code, deploying
applications
●Enables teams to provision and manage their own resources and services
●Reduces dependencies and minimizes bottlenecks in development and
deployment processes
●Establishes standardized practices, tools, and frameworks
●Reduces complexity and streamlines processes
●Ensures consistency and improves efficiency across the organization
Standardization01
How SREs can benefit from Platform Engineering
●Implementing an IDP internaldeveloperplatform.org:
○Improve Developer experience and productivity
■Faster onboarding of new team members
■Reduce developers cognitive load
■Reduce time spent provisioning and maintaining new systems while:
●Guardrails best practices/standards
●Address regulatory requirements
●Reduces the burden of cumbersome internal processes "bureaucracy"
○Reduces toil
○Improves team efficiency
○Free up SRE time to work on noble matters
Platform Engineering IDP Approach
●Establish a Platform Team to work on the IDP
●IDP approach:
○CLI (Command line interface) + Crossplane (crossplane.io)
■Code Repository(GitHub):
●Initial repository creation based on predefined templates with best practices in
place as observability, hardening, etc…
●CI/CD creation and deploy in multiple environments as STG/Prod/etc
●Repository of templates open to the Engineering team to collaborate
○Backstage (backstage.io) - Developer Portal
■Service Catalog
■Self-service Documentation
■Code Visibility / System dependencies
■Open source plugins