Cloud native technologies, like containers and Kubernetes, enable enterprise agility at scale and without compromises. Learn how enterprises can warp speed their DevOps initiatives by embracing cloud native technologies, measuring DevOps success, and utilizing modern enterprise Kubernetes platforms like Nirmata!
2. nirmata2
Dev -> QA -> Ops
Infrastructure as Pets
Configured Applications
Monoliths in VMs
ITSM / Runbooks
DevOps
Infrastructure as Cattle
Immutable Images
Microservices in Containers
Automated Management
Businesses that innovate faster, win!
Past
Future →
3. nirmata3
Agenda
• Cloud Native Technologies
• How to organize for Cloud Native
• Measuring DevOps success
• Summary and Q&A
Jim Bugwadia
Founder & CEO, Nirmata
6. nirmata6
What is Cloud Native?
Cloud native applications are built for
dynamic infrastructure like public,
private, and hybrid clouds.
7. nirmata7
Cloud Native - Key Characteristics
● Scalable
o scale-up or down based on usage or performance metrics
● Resilient
o fast automatic recovery from failures
● Manageable
o can be easily modified or updated without loss of service
● Observable
o emit signals for state, health, and performance
Source: Cloud Native Computing Foundation; cncf.io
8. nirmata8
Technologies and Techniques
● Immutable Infrastructure
o replace, not repair
● Declarative APIs
o capture intent i.e. desired state
● Containers
o immutable images and standard management
● Microservices
o loosely coupled and independent services
● Service Meshes
o decouple service management from applications
Source: Cloud Native Computing Foundation; cncf.io
9. nirmata
Containers are the packaging and runtime for
Cloud Native applications
9
84%of respondents are using containers in
production, a jump of more than 15% from 2018
-- CNCF 2019 Survey
Containers provide:
1. Immutable images
2. Common runtimes
Benefits:
1. Fast
2. Portable
3. Efficient
10. nirmata
And, Kubernetes is the Cloud Native OS
10
Kubernetes provides:
Automated deployment,
scaling, and management of
containerized applications.
11. nirmata11
Kubernetes enables
1. Stateless and stateful application management via
declarative APIs
2. Containers lifecycle management
3. Service discovery, load balancing, auto-scaling for
microservices-style architectures
4. Plugins for storage and networking
5. Immutable infrastructure via node auto-scalers and cloud
provider integrations
12. nirmata12
Kubernetes is a framework for building frameworks
Kubernetes
Istio - Service Mesh Argo CD - GitOps AI/ML OpenFaaS - Serverless
13. nirmata13
Kubernetes – immediate benefits to Enterprises
1. Agility
Increased automation leads to faster cycles
2. Portability
Decoupling of applications from infrastructure
3. Cost-Savings
Consolidation of workloads on shared infrastructure
14. nirmata14
Cloud Native is the New Normal
cloud native technologies empower organizations to build and run scalable, resilient, manageable, and
observable applications in modern, dynamic environments such as public, private, and hybrid clouds
500 million+
new digital apps and services created
using cloud-native approaches by 2023
More than the last 40 years combined!
IDC 2020 Predictions
19. nirmata19
What does the platform team provide?
• Kubernetes-as-a-Service
o Operate one or more K8s clusters
o Support different infrastructure types (GPU, bare-metal, etc.)
o Support different cloud providers
o Support different workloads (Windows, stateful apps, etc.)
• Shared Services
o Ingress controllers
o Backup & restore
o Service Mesh
o …
21. nirmata21
Single Use Clusters
Advantages:
• Teams can manage their own clusters
• Perceived to be easier
Disadvantages:
• Inefficient resource usage
• More clusters to secure and manage
22. nirmata22
Shared Clusters
Advantages:
• Improved resource utilization
• Separation of concerns (Dev and Ops)
Disadvantages:
• Requires central Ops / Platform team
• Complex to configure and maintain
23. nirmata23
Considerations
1. Multiple clusters are inevitable.
2. How many will depend on your organization and
application lifecycle
3. All clusters, including single use clusters, need to be
secured and properly configured
How can we enable self-service for teams and ensure
security and best practices compliance?
24. nirmata24
A Solution - Virtualization
• Virtualization technologies create a software-defined or
“virtual” form of a physical resources e.g. a server
• Virtualization technologies can make it easier (and faster)
to provision resources
• Virtualization technologies provide segmentation and
isolation.
Is it possible to create a virtual form of a Kubernetes
cluster? What would that look like?
25. nirmata25
Virtual Kubernetes Clusters How does it work?
• Kubernetes provides all building blocks for isolation and
segmentation across teams:
o Namespaces
o Resource Quotas
o RBAC
o Network Policies
o Pod Security Policies
• Solutions like Nirmata automate the management of
Kubernetes resources to deliver self-service Virtual
Clusters
26. nirmata26
Virtual Kubernetes Clusters What gets enabled
• Development teams request capacity and services
• Development teams receive a secure and well-configured
Kubernetes endpoint
• Development teams are free to use Kubernetes directly, or
use standardized CI/CD and workload management tools
27. nirmata27
Section Summary
1. Kubernetes adoption requires a platform team to deploy
and operate clusters, shared services, and integrations
2. Security and infrastructure teams need to be involved
3. Integration with existing systems (IdPs, service desks, etc.)
should be considered
4. Enabling self-service, with proper guard-rails, for
developers is essential to scaling adoption
5. Virtual Kubernetes Clusters can deliver secure and well-
configured Kubernetes endpoints in seconds
29. nirmata29
“you are what you measure” -- Dr. Nicole Forsgren
1. Metrics matter
2. What you measure shapes
behaviors
3. The wrong metrics can lead to
unexpected results
32. nirmata32
Lead Time
Containers and Kubernetes along with modern CI/CD
practices like GitOps can provide rapid and reliable
deployments across environments.
35. nirmata35
Section Summary
• The five metrics to track are:
o Deployment Frequency
o Lead Times
o Change Fail
o Time to fix
o Availability
• The annual State of DevOps report provides data to
benchmark against top performers
speed
stability
37. nirmata37
Cloud Native DevOps
1. Kubernetes is the new multi-cloud OS for enterprises
2. Successful Kubernetes adoption is typically driven by a
platform / IT Ops team that defines the strategy and
manages Kubernetes clusters and services
3. Virtual Kubernetes Clusters can enable secure self-service
and allows separation of concerns
4. Kubernetes helps across all key DevOps metrics
5. Platforms like Nirmata manage Kubernetes workloads and
clusters across public, private, and hybrid clouds