Kubernetes helps us tame sprawling microservices architectures and address increased operational complexity. Kubernetes gives developers abstractions and APIs to deploy and run their services.
But there is a price to pay in terms of both the in-house operational expertise required and the learning curve for application teams. The elephant in the room is that to run, maintain and evolve Kubernetes, we likely need a dedicated Kubernetes team.
Is the tradeoff between better operational tools and introducing a new dependency layer on the path to production for application teams worthwhile? Are we making life easier for application teams or instead reducing their end-to-end ownership?
Regardless of all the technical benefits that Kubernetes undoubtedly brings, team interactions are still key for successfully delivering and running services. We will look at a couple of organizations that have succeeded by focusing on reducing the cognitive load for application teams.
Unfortunately, many organizations see Kubernetes as “the” platform, rather than just a technical foundation for a true internal platform. In the worst case, they mandate all teams to adopt Kubernetes, regardless of both the application teams’ and the platform’s maturity levels.
Successful Kubernetes adoption requires thinking about what a platform really means and learning which team structures and interactions work well. And evolve them over time.
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
Kubernetes is Not Your Platform, It's Just the Foundation @ UK Cloud Infrastructure User Group, Dec 2020
1. TeamTopologies.com
@TeamTopologies
K8s is Not Your Platform,
It’s Just the Foundation
Manuel Pais
co-author of Team Topologies
UK Cloud Infrastructure User Group, Dec 2020
@manupaisable
2. Team Topologies
2
Organizing business and
technology teams for fast flow
Matthew Skelton & Manuel Pais
IT Revolution Press (Sep 2019)
teamtopologies.com/book
3. 3
Is Kubernetes a Platform?
Team Cognitive Load
Team Interactions
Getting Started
10. 10
Still need to...
… sizing hosts
… create/destroy clusters
… update to new K8s versions
… decide on namespaces vs clusters
<insert your fav chore here>
15. “A digital platform is a foundation of
self-service APIs, tools, services,
knowledge and support which are
arranged as a compelling internal
product.”
– Evan Bottcher, 2018
15
16. “A digital platform is a foundation of
self-service APIs, tools, services,
knowledge and support which are
arranged as a compelling internal
product.”
– Evan Bottcher, 2018
16
39. 39
Low-level AWS service calls (EC2, IAM, STS, Autoscaling, etc.) from January 2015 to January 2017
40. “We didn’t change our organization
because we wanted to use
Kubernetes, we used Kubernetes
because we wanted to change
our organization.”
- Paul Ingles
40
41. “Kubernetes helps us in a few ways:
- Application-focused abstractions
- Operate and configure clusters to
minimise coordination ”
- Paul Ingles 41
44. 44
… in order to reduce
extraneous cognitive load
on stream-aligned teams
Platform Purpose
45. “We wanted to scale our teams but
maintain the principles of what
helped us move fast: autonomy,
work with minimal coordination,
self-service infrastructure.”
- Paul Ingles
45
52. 52
2018
Infra platform
started with few
services
First customer
(centralized
logging, metrics,
auto scaling)
2019
Started using SLAs
and SLOs, clarifying
reliability/latency/etc
Growing traffic in
platform vs AWS
53. 53
...
Addressed critical
cross-functional
needs (GDPR,
security, alerts +
SLOs as a service)
Adoption by HMMT
(Highest Money
Making Team)
2018
Infra platform
started with few
services
First customer
(centralized
logging, metrics,
auto scaling)
2019
Started using SLAs
and SLOs, clarifying
reliability/latency/etc
Growing traffic in
platform vs AWS
54. 54
...
Addressed critical
cross-functional
needs (GDPR,
security, alerts +
SLOs as a service)
Adoption by HMMT
(Highest Money
Making Team)
2018
Infra platform
started with few
services
First customer
(centralized
logging, metrics,
auto scaling)
2019
Started using SLAs
and SLOs, clarifying
reliability/latency/etc
Growing traffic in
platform vs AWS
57. 57
user satisfaction metrics
(Accelerate metrics for business services, NPS, etc)
adoption & engagement metrics
(% teams onboard, per platform and per service)
Platform Metrics
59. 59
user satisfaction metrics
(Accelerate metrics for business services, NPS, etc)
adoption & engagement metrics
(% teams onboard, per platform and per service)
reliability metrics
(SLOs, latency, MTTR, etc)
delivery metrics
(Accelerate metrics i.e. lead time, deploy freq, etc)
Platform Metrics
60. 60
The success of platform
teams is the success of
stream-aligned teams
79. How well can the team understand the
platform/Kubernetes abstractions they
need to use on a regular basis?
1 - Assess cognitive load
79
github.com/TeamTopologies/Team-Cognitive-Load-Assessment
80. What’s the gap between your
Kubernetes implementation and an
internal digital platform?
2 - Define your platform
80
81. Who is responsible for what? Who is
impacted? How do you collaborate on
new platform internal services?
Collaboration vs X-as-a-Service
3 - Team Interactions
81
82. Zalando Kubernetes at Zalando
Mercedes DevOps Adoption at Mercedes-Benz.io
Twilio Platforms at Twilio: Unlocking Developer Effectiveness
Adidas Where Cloud Native Meets the Sporting Goods Industry
ITV ITV's Common Platform v2 Better, Faster, Cheaper, Happier
MAN Truck & Bus How to Manage Cloud Infrastructure at MAN Truck & Bus
Farfetch UX I DevOps - The Trojan Horse for Implementing a DevOps Culture
More platform examples
82