The document discusses the significance of Kubernetes and containers in transforming DevOps practices by emphasizing a 'write once, run anywhere' strategy to eliminate infrastructure lock-in. It highlights the benefits of modular application design, fault tolerance, and enhanced deployment control that Kubernetes provides. Additionally, it outlines Platform9's managed Kubernetes service, positioning it as a comprehensive solution for deploying and managing cloud infrastructure.
Overview of Kubernetes and Containers, their significance in DevOps, and the expertise of the speakers.
Importance of Kubernetes in current technology, emphasizing its ability to enable applications to run anywhere and eliminate infrastructure lock-in.
Advancements in application design via containers, discussing modularity, the evolution from monolithic to microservices architecture.
Kubernetes's inherent fault tolerance through desired state management, automatic replication, and load balancing.
Focus on deployment capabilities of Kubernetes, including scaling, rolling updates, and management of application versions.Kubernetes's integrations for production, highlighting why it offers more flexibility compared to PaaS solutions.
Summary of Kubernetes’s potential in DevOps, Platform9's role in providing managed Kubernetes solutions, and how to engage.
About Us
Lauren Delgado,VP Marketing
• Leads marketing and education at Platform9
• Open-source at Platform9, DataTorrent and HortonWorks
• Before: Developer marketing at Microsoft
Sirish Raghuram, Co-founder, CEO
• Vision of Open-source-as-a-Service
• Believes Kubernetes represents a fundamental breakthrough
• Before: early engineer at VMware
3.
Context: Kubernetes &Containers
•Massive interest in Containers today
•Many good technology choices
•We’re focussing on Containers & Kubernetes
• Why is Kubernetes strategic?
• How do Containers & Kubernetes help DevOps?
How does onebuild for hybrid?
#1: Write Once, Run Anywhere (Any Cloud)
6.
#1: Write Once,Run Anywhere (Any Cloud)
•Applications and DevOps tooling “couple” to
infrastructure:
• Performance dependencies
• Network architecture, routing, load-balancing
• Cloud provider specific constructs
• AWS Auto-scaling or Cloud-formations
• Storage services
• EBS, RDS
7.
#1: Write Once,Run Anywhere (Any Cloud)
•Infrastructure coupling is a long term competitive
disadvantage
• Economic reasons
• Strategic. Examples:
• On-premises companies going to SaaS
• SaaS companies needing to sell on-premises
• Hosting in a specific geo/region/MSP
8.
#1: Write Once,Run Anywhere (Any Cloud)
•Kubernetes eliminates infrastructure lock-in
• Uses containers
• Run well everywhere
• Provides management capabilities for containers
• Infrastructure-agnostic
• Application independent
• Supports most modern DevOps scenarios
9.
#1: Write Once,Run Anywhere (Any Cloud)
Kubernetes
Clusters
Nodes +
Networking
Resource
Pools
Cloud
Providers
Bare
OS
Bare
metal
Bare
OS
Applications
#2: Modular AppDesign w/ Containers
•Monolithic applications make everything worse
• Larger teams slow things down
• Spaghetti dependencies
• Lack of ownership for shared components
• Path complexity to testing
• Slower builds
12.
#2: Modular AppDesign w/ Containers
•OOP vs procedural languages: much more
modular
• Notion of “class”: public, private (contracts)
• Separation of concerns
• Extensibility and reusability
• More modular code
13.
#2: Modular AppDesign w/ Containers
•Does the Container image boundary feel similar to
the class boundary?
• Yes, but…
• My app requires many different collaborating processes
• We need a system - a harness - that enables modular apps
using Containers
14.
#2: Modular AppDesign w/ Containers
•How could we use a collection of Containers?
• Let’s assume an App can be broken into n distinct “Services”
• Each Service may need a collection of Containers to get work
done
15.
#2: Modular AppDesign w/ Containers
•Kubernetes makes it easy to leverage Containers
to modularize Apps
• Apps —> Service*
An application is composed of many Services
• Service —> Pod (label)*
A Service exposes some functionality and is supported by a
collection of workers called Pods
• Pod —> Container*
A Pod is a co-located set of Containers, sharing compute,
storage and network resources
#2: Modular AppDesign w/ Containers
•Modularity can grow over time
• Services can represent Kubernetes native or external
functionality
• Pods can evolve to be modular
• Sidecar containers
Extend a main container. E.g. event publishers
• Ambassador containers
Proxy to external systems. E.g. data loaders
• Adapter containers
Enable data normalization. E.g. schema mapping
18.
#2: Modular AppDesign w/ Containers
•Modularity can grow over time
• Start with monolithic applications
• End up with micro-services
• Kubernetes helps modularize, at every stage
#3: Fault-tolerant byDesign
•Design for failure takes a lot of integration
• Infrastructure provisioning and re-provisioning
• Configuring networking and load balancers
• Redundancy (scale-out)
• Lifecycle management
• Software update?
21.
#3: Fault-tolerant byDesign
•Kubernetes native Services are automatically fault-
tolerant
• Accessed via “virtual-IP” and ports
• Visible inside cluster or publicly
• Automatically replicated onto many ephemeral workers
(Pods)
• Automatically load-balanced, out-of-the-box
• Kubernetes built-in or cloud-provider provided
• Discoverable via DNS
22.
#3: Fault-tolerant byDesign
•Kubernetes drives current state towards desired
state
• Desired state is what is declared
• e.g. # replicas=3
• Observed state may differ over time
• e.g. a replica became unreachable
• Kubernetes will find the diff and converge
• Fault tolerance therefore based on desired state
#4: Deployment, notInfrastructure
•Software deployment is hard
• Amplifies sins in design, testing, implementation,
infrastructure, version management, schema upgrades
• Operations teams have infrastructure management tools
• Deployment requires using ad-hoc scripting and automation
• Why is the hardest part of Ops being done ad-hoc?
27.
#4: Deployment, notInfrastructure
•Kubernetes has native support for Deployment
• Controllers are in focus, not infrastructure
• Infrastructure is orchestrated behind the scenes
• Deployment controller:
• Deploys a scale-out Kubernetes Service
• Answers queries for deployment status
• Updates deployed Pods using new versions of Container images
• Rolls back to a previous version
• Pauses and resumes a deployment
28.
#4: Deployment, notInfrastructure
•Deployments provide even more goodness
• Horizontal auto-scaling
Dynamically scale-out Services based on compute / memory
usage, within limits
• Rolling updates
Sequence update of scale-out Services while meeting spare /
worker downtime limits
• Canary deployments
Deploy a new version of software side by side with previous
version, route traffic progressively
#5: Container Integrationsfor Production
•Kubernetes provides many integrations to run
Containers in production
• Distributing secrets without environment variables or storing
them in images
• Resource QoS for Containers
• Liveness and readiness probes
• Termination message and pre-termination hook
38.
FAQ: Why NotPaaS?
•Kubernetes preserves more user choice
• Any application, framework or language
• Any middleware
• Choice of source-to-image workflow
• Choice of logging, monitoring and alerting systems
Kubernetes: New Erafor DevOps
•Kubernetes represents a breakthrough for DevOps
• Integrate applications and operations by design
• Write once, run anywhere
• Modular applications w/ containers
• Fault-tolerant by design
• Control deployments, not just infrastructure
• Integrate containers for production
About Platform9
Coolest CloudStartup of
2015
MIT CIO Sloan Finalist
Top 10
Virtualization Startup
• Founded in 2013 by early
VMware engineers
• Global traction since 2015
• Deliver open-source as
SaaS, making cloud
infrastructure easy
• Managed OpenStack.
Managed Kubernetes.
In Production Globally
43.
Platform9 Managed Kubernetes
•“SaaS Managed” SLA
• Fully automated deployment
• 24/7 pro-active health monitoring
and alerting
• Zero-touch upgrades
• Enterprise Ready
• SSO, RBAC, multi-tenancy and
security/isolation
• Out of box integration with any
storage and networking infra
• Multi-cloud
• Run anywhere: Bare-metal, AWS,
GCE, Azure
• Quotas and isolation for tenants
across clouds
• Define once - deploy anywhere
Get In Touch
•Letus help you build your first Kubernetes Service
• https://platform9.com/contact/
• Reference: “Kubernetes webinar”
•Visit our blog
• https://platform9.com/blog/
• Compare Kubernetes vs Amazon ECS, Docker Swarm and Mesos
•Follow us on Twitter
• @Platform9Sys
• Watch for:
• Kubernetes Comparison eBook
• Why Kubernetes? whitepaper