Many teams start with Kubernetes, and it works well for 5-10 projects, but adopting it at scale starts becoming a challenge.
That is where an enterprise-wide architecture practice helps scale Kubernetes deployments across the enterprise.
This architecture could be a set of standard practices, documentation, guidelines, or even tooling to enable broader adoption of Kubernetes across the enterprise.
This talk will bridge that gap and focus on a few common patterns, architectures and practices that help drive adoption across the enterprise.
You will learn:
• To understand the challenges involved with an enterprise-wide adoption of Kubernetes.
• How those challenges can be handled by setting up an enterprise-ready application deployment platform/centre of excellence that can help in rapid adoption of Kubernetes across the enterprise
• To understand some of the key drivers to increase adoption and discuss some potential roadmaps on driving the adoption journey for cloud-native in general, and Kubernetes in particular, across the enterprise.
2. Thank You all for being
here.
And , a Big Thank You to the DevOps Institute for
hosting this event , and inviting me over .
I hope you all have a wonderful session.
3. Currently , I am working as an Assistant Director,
Cloud Practice at EY (Ernst & Young).
Before that I led the CCOE ( Cloud
Centre Of Excellence) Team at Accenture.
I Have around 10+ years of IT experience ,
working on Public Cloud technologies
since 2017.
A brief about me -
4. Agenda -
- Discuss standard k8 adoption process in an
enterprise.
- Discuss issues/challenges in scaling k8 adoption
across an enterprise.
- Discuss potential/feasible solutions to handle those
issues/challenges.
- Discuss how a central excellence team for
Containers/Kubernetes technologies can operate.
5. Expectation management -
- This is not an introductory session on how to get
started with Kubernetes.
- It is expected that the audience for this session is
already familiar with Kubernetes , at a high-level.
- This talk is primarily targeted at
individuals/teams/enterprises who want to scale
their k8 usage across hundreds of
projects/products.
6.
7. Nowadays , most
enterprises
are interested in adopting
Kubernetes.
Kubernetes is quickly
becoming the de-facto
standard for deploying
applications in the cloud.
8. But , managing
Kubernetes at “scale” , across
hundreds of projects/teams
in an “enterprise“
is extremely difficult.
9. - Multiple departments and locations.
- Hundreds of teams and departments across the
company , possibly globally distributed.
- You only know your direct colleagues well and
interact with a handful of people from other
departments.
- Everyone has clear responsibilities and
hierarchies.
First , how do we define
an “enterprise” ?
Some examples could be,
10. • Typically means at a rapid pace , across a large number
of entities.
• Refers to high pace / velocity also.
• In enterprise terms , it commonly refers to initiatives
that are undertaken across the enterprise , typically
involving hundreds of teams and thousands of
developers/engineers.
Second , what do we mean
by “at scale” ?
11. So , how are things
operating today across
many medium-to-big
enterprises?
12. A typical state of
Kubernetes adoption in
enterprises could be -
19. 1. Standardization -
• Every single cluster provisioned should be
provisioned from the same
template/script/automation pipeline .
• There should be no deviation ( as to the
basic principles/attributes ) between two k8
clusters setup in the same enterprise.
• No team should write their custom script to
setup/operate a new cluster from scratch.
20. 2. Self - service
• A mature enterprise should provide k8
cluster creation and management/operation
as part of its IT Service catalog.
• Cluster creation and management should be
self-service , where a team can login to a
portal , and select parameters to deploy a k8
cluster.
21.
22. 3. Catalog of k8 offerings
• Multiple customers/projects within an enterprise might need
different k8 services.
• With that in mind , an enterprise k8 service catalog might also
be different .
• One offering could be a standalone k8 cluster ( AKS/
EKS/GKE ) that is dedicated to a single customer/tenant.
• On the other hand , some customers might want
to leverage a multi-tenant solution , where they
can request for namespaces within the same cluster.
23. 4. Create a Container/
Kubernetes centre
of excellence
• No matter what you name it , there should be
a central team that manages , governs and is
responsible for Kubernetes workloads
deployed across the enterprise.
• This could include a support module ( for
24x7 operational support) or even a Solution
architecture module ( for design/
architectural guidance).
25. 5. Manage a documentation
repository for k8
consumption
• The k8/container centre of excellence should publish
extensive documentation on how to consume the
enterprise k8 offering , how to get started .
• Architectural best practices , detailed user-manuals ,
tutorials , how-to-guides should be published .
26. 6. Manage cross-
cutting
concerns centrally
• Cross cutting concerns that are applicable to
all projects within an enterprise should be
managed centrally .
• These might include backup , DR ,
compliance , policy management , etc .
27.
28. 7. Establish a consistent
support model
• There should be a central SRE/k8 operations
team that will manage/monitor all k8
installations/workloads within the enterprise.
• This could potentially include 24x7 support
models also.
• They will be responsible to ensure that the k8
platform is up and running.
29. 8. Automation to support
containerized application
development and deployment
• Automation should be there not only to
provision the infra/cluster ,but also to build
container images ( say using Dockerfile ) , or
deploy them to k8 clusters ( say using Helm
Charts )
• This automation should also be self-service or
well-documented modules that can be easily
consumed by anyone in the enterprise.
30. 9. Central governance and
compliance
• Security , like other cross-cutting concerns
should also be managed centrally ; at least the
ones that are mandated by the InfoSec team.
• Policies should be pushed to all k8 clusters
from a central repository to ensure that all
workloads are safe and compliant.
• Specific customers can apply in-depth granular
policies , as an addition if needed also.
31. So , as promised we went over
a few strategies that could
potentially remediate the
challenges concerning at-
scale Kubernetes adoption
across an enterprise .
32. Provided we are successful in
implementing our
solutions/strategies , how will a
k8 consumption process look
like ?
34. Some Tips & Tricks that I would
like to share based on my real-
life experiences in scaling
container adoption across
enterprises -
35. 1 . Structure you
central container excellence team properly
36. 3 . Don’t just restrict yourself to k8 workloads ,
focus on the entire developer experience around
k8 , starting from IDE to CI/CD deployment
pipelines.
2 . Try to make your enterprise k8 offering and
associated elements as cloud-agnostic as
possible – this will result in wider adoption.
4 . Get high-level leadership buy-in , this will
ensure that all dev teams are aligned
and focused on this approach.