Post on 25-Sep-2020
Workflow PaaS on KubernetesNYI, Deis, Kubernetes & a Night of Containers
● Senior engineer at Engine Yard● A Deis core maintainer● Former app developer● Former devops dude● Rabid comic book fan
Who is this guy?
kent@deis.comKent Rancourt
About Deis● Acquired by Engine Yard in April 2015● Makers of the leading open source PaaS with 3.9 million downloads● Building products for the Kubernetes ecosystem
○ Deis Workflow -- Platform as a Service○ Helm -- The Kubernetes package manager
I have a Kubernetes cluster, now what?
We can help.
The Deis Mission
The Microservices Trade-off
Software Complexity Operational Complexity
Deis solves for increased operational complexity by empowering developers to...
● Create applications● Build and deploy code or Docker images● Configure the runtime environment● Manage releases and rollbacks● Run administrative commands● View aggregated logs● Scale out via the process model● Collaborate with a team
… using simple, easy-to-use CLIs and APIs.
Empowering Developers
Empower OperatorsGoogle’s Operational Model:
Infrastructure Ops
Cluster Ops
Application Ops
Kubernetes
What is Kubernetes?Greek for “Helmsman”; also the root of the words “governor” and “cybernetic”
• Runs and manages containers
• Inspired and informed by Google’s experiences and internal systems
• Supports multiple cloud and bare-metal environments
• Supports multiple container runtimes
• 100% Open source, written in Go
Manage applications, not machines.
Google Cloud Platform
kubelet
UI
kubelet CLI
API
developers & operators master nodes
etcd
kubelet
scheduler
controllers
apiserver
The 10,000 Foot View
Google Cloud Platform
UI
APIContainer
Cluster
All We Really Care About
Why Kubernetes? (for us)● Widespread adoption and a vibrant community● Declarative APIs● Right abstractions● Promotes loose coupling
Represents Google’s 10+ years experience with containers at scale
But using Kubernetes can be complicated… there’s that operational complexity again.
Deis v2: Workflow
What is Deis Workflow?● Private PaaS running on your own infrastructure● Simple developer experience on top of Kubernetes● Force multiplier for operations teams
Deis Workflow for Developers
Create an application $ deis create
Build and deploy $ git push deis master
Configure $ deis config:set FOO=bar
Scale! $ deis scale web=5
Great! How can we install Deis Workflow?
Helm!
The best way to find, share and use software built for Kubernetes
Why Helm?Should be easy to…
● Get up and running with common workloads● Define new workloads● Collaborate on workload definitions
Helm vs. Workflow● Helm supports more than 12-factor applications
○ Databases○ Queues○ Caches
● Helm promotes a Kubernetes-native approach● Helm is a tool for operators, not developers
Helm is used to install Workflow.
Installing Workflow with Helm$ helm repo add deis git@github.com:deis/charts.git
$ helm fetch deis/deis-dev
$ helm generate deis-dev
$ helm install deis-dev
+
Why bare metal?Ideal for…
● Processor and I/O intensive workloads● Security without the maintenance hassle● Workloads that have outgrown the cloud
○ Require dedicated resources
Why bare metal + Deis?● Developer self-service● Lightning-fast app boot times● Dramatically increased density
○ Major cost savings
● Portable software artifacts○ Move from bare metal to the cloud and back
● Dramatically simplified scaling○ Using the process model
Demo
Roadmap Q1/Q2 2016Q1:
● Helm: Facilitate delivery of Deis Workflow● Workflow: Ship v2, PaaS on Kubernetes
Q2:
● Helm: Continue investment in native Kubernetes Workloads● Workflow: Teams and Permissions● Workflow: Service Broker Integration
Questions?