KEMBAR78
Why kubernetes matters | PPTX
Kubernetes & Containers
A New Era for DevOps
Sirish Raghuram,
Co-founder, CEO
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
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?
#1: Write Once, Run Anywhere
(Any Cloud)
How does one build for hybrid?
#1: Write Once, Run Anywhere (Any Cloud)
#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
#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
#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
#1: Write Once, Run Anywhere (Any Cloud)
Kubernetes
Clusters
Nodes +
Networking
Resource
Pools
Cloud
Providers
Bare
OS
Bare
metal
Bare
OS
Applications
#2: Modular App Design w/ Containers
#2: Modular App Design 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
#2: Modular App Design w/ Containers
•OOP vs procedural languages: much more
modular
• Notion of “class”: public, private (contracts)
• Separation of concerns
• Extensibility and reusability
• More modular code
#2: Modular App Design 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
#2: Modular App Design 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
#2: Modular App Design 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 App Design w/ Containers
#2: Modular App Design 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
#2: Modular App Design 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 by Design
#3: Fault-tolerant by Design
•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?
#3: Fault-tolerant by Design
•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
#3: Fault-tolerant by Design
•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
#3: Fault-tolerant by Design
replicas = 2
#3: Fault-tolerant by Design
replicas = 3
#4: Deployment Control, not just
Infrastructure Management
#4: Deployment, not Infrastructure
•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?
#4: Deployment, not Infrastructure
•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
#4: Deployment, not Infrastructure
•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
#4: Deployment, not Infrastructure
Rolling Update
#4: Deployment, not Infrastructure
Rolling Update
#4: Deployment, not Infrastructure
Rolling Update
#4: Deployment, not Infrastructure
Rolling Update
#4: Deployment, not Infrastructure
Rolling Update
#4: Deployment, not Infrastructure
Rolling Update
#4: Deployment, not Infrastructure
Rolling Update
#5: Container Integrations for Production
#5: Container Integrations for 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
FAQ: Why Not PaaS?
•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
In Summary
Kubernetes: New Era for 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
Platform9 Overview
About Platform9
Coolest Cloud Startup 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
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
Platform9 Managed Kubernetes
Platform9 Managed Kubernetes
Platform9 Managed Kubernetes
Get In Touch
•Let us 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
Why kubernetes matters

Why kubernetes matters

  • 1.
    Kubernetes & Containers ANew Era for DevOps Sirish Raghuram, Co-founder, CEO
  • 2.
    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?
  • 4.
    #1: Write Once,Run Anywhere (Any Cloud)
  • 5.
    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
  • 10.
    #2: Modular AppDesign w/ Containers
  • 11.
    #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
  • 16.
    #2: Modular AppDesign w/ Containers
  • 17.
    #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
  • 19.
  • 20.
    #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
  • 23.
    #3: Fault-tolerant byDesign replicas = 2
  • 24.
    #3: Fault-tolerant byDesign replicas = 3
  • 25.
    #4: Deployment Control,not just Infrastructure Management
  • 26.
    #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
  • 29.
    #4: Deployment, notInfrastructure Rolling Update
  • 30.
    #4: Deployment, notInfrastructure Rolling Update
  • 31.
    #4: Deployment, notInfrastructure Rolling Update
  • 32.
    #4: Deployment, notInfrastructure Rolling Update
  • 33.
    #4: Deployment, notInfrastructure Rolling Update
  • 34.
    #4: Deployment, notInfrastructure Rolling Update
  • 35.
    #4: Deployment, notInfrastructure Rolling Update
  • 36.
  • 37.
    #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
  • 39.
  • 40.
    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
  • 41.
  • 42.
    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
  • 44.
  • 45.
  • 46.
  • 47.
    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