kubo (cloud foundry container platform): your gateway drug to cloud-native
TRANSCRIPT
Kubo Your Gateway Drug to Cloud-native
Cornelia Davis Sr. Director of Technology Pivotal @cdavisafcCF Summit Basel, October 2017
@cdavisafc
Me?
Developer (wasn’t Ops)
Web architectures for >10 years
Cloud-native for 5 years
Cloud Foundry for 5 years
More recently
Discount code 40% off!: 40cloudnat
CONTAINERSEVENT-DRIVEN
FUNCTIONS
DATA SERVICESMICROSERVICES
Batches
MONOLITHIC APPLICATIONS
Companies have many ways to package and run their workloads in the cloud
CONTAINERSEVENT-DRIVEN
FUNCTIONS
DATA SERVICESMICROSERVICES
Batches
MONOLITHIC APPLICATIONS
IaaSApplicationPlatform(PaaS)
This is what most enterprises have today
CONTAINERSEVENT-DRIVEN
FUNCTIONS
DATA SERVICESMICROSERVICES
Batches
MONOLITHIC APPLICATIONS
IaaS
ContainerOrchestrator (CaaS)
ApplicationPlatform(PaaS)
Serverless Functions(FaaS)
Their goal: pick the right runtime for each workload
Kubo allows us to up-level from pure IaaS
So, let’s talk about workloads…
What workloads are you currently running on IaaS?
Code that
Youdevelop
Code that
Someone ElseDevelops
Code that You develop
Cloud Native
Traditional
Arc
hite
ctur
al S
tyle
Software LifecycleInfrequent Changes
Frequent Changes
Developer Productivity
Operational EfficiencyOperational Efficiency
Operational EfficiencyOperational Efficiency
Developer Productivity (much of it you bring yourself)
Code that You develop
Traditional
Arc
hite
ctur
al S
tyle
Software LifecycleInfrequent Changes
Frequent Changes
Operational EfficiencyOperational Efficiency
Developer Productivity (much of it you bring yourself)
Code thatYou developTraditional Infrequent ChangesOperational Efficiency
with
What are you doing for Infra deployments today?
Code thatYou developTraditional Infrequent ChangesOperational Efficiency
with
What are you doing for Infra deployments today?
APP DEV QA OPERATIONS
CHANGE MGMT
SECURITY COMPLIANCEAPPROVER APPROVER APPROVER APPROVER
infrastructure
Code thatYou developTraditional Infrequent ChangesOperational Efficiency
with
Make target of existing processes the image
rather than the infrastructure.
APP DEV QA OPERATIONS
CHANGE MGMT
SECURITY COMPLIANCEAPPROVER APPROVER APPROVER APPROVER
docker image
Code thatYou developTraditional Infrequent ChangesOperational Efficiency
with
What are you doing for Infra deployments today?
Value
Minimal Disruption to Current Processes Creates “low-hanging” fruit Done Infrequently Approval heavy processes okay
Health Management, Logging, Scaling From Kubernetes Multi-cloud Via Goodness!!Kernel and Kubernetes Upgrades How do you roll out new versions of the platform with the lights on?
Consolidation More fully utilize your VMs and Servers
More goodness!!
BUT...
Can I really roll the kernel or K8s version without involving the app team?
While the app may be changing infrequently, the kernel or Kubernetes version is likely to cycle more frequently.
Maybe…
cmtcmtcmt v201cmt cmt cmt cmt v202 cmt… …
Prod
Acceptance
CI
Application Team - “Developer Productivity”
cmt v201cmt cmt cmt cmt v202 cmt… …
App
PlatformCVE
Prod
Acceptance
Platform Team - “Operational Efficiency”
You don’t have to refactor your app, or retool your whole process, but a test suite is a significant enabler!
What enables this is the existence of a rich test suite!
Code that You develop
Traditional
Arc
hite
ctur
al S
tyle
Software LifecycleInfrequent Changes
Frequent Changes
Operational EfficiencyOperational Efficiency
Developer Productivity (much of it you bring yourself)
Code thatYou developTraditional Frequent ChangesOperational Efficiency
with
How do you ensure your images meet corporate requirements?
Developer Productivity
∴ frequently changing the
image
Well… … it’s up to you
Code thatYou developTraditional Frequent ChangesOperational Efficiency
withDeveloper Productivity
Approved Base Image
Built into approved stemcell Select/build and approve base images
Runtime and other filesystem dependenciesApproved buildpack Build and approve Dockerfiles
Allow only approved imagesCF Identity and Access Management
Control build and/or scan image repository
And more…
Code thatYou developTraditional Frequent ChangesOperational Efficiency
withDeveloper Productivity
Value
Health Management, Logging, Scaling From Kubernetes Multi-cloud Via Goodness!!Kernel and Kubernetes Upgrades How do you roll out new versions of the platform with the lights on?
Consolidation More fully utilize your VMs and Servers
Developer Productivity
More goodness!!
But you’re changing a lot in your process and tooling
Standardized Images
Controlled Dockerfiles
Compliance Approvals Across a Myriad of Tools
… and much more.
Code that You develop
Traditional
Arc
hite
ctur
al S
tyle
Software LifecycleInfrequent Changes
Frequent Changes
Operational EfficiencyOperational Efficiency
Developer Productivity (much of it you bring yourself)
So, let’s talk about workloads…
What workloads are you currently running on IaaS?
Code that
Youdevelop
Code that
Someone ElseDevelops
Someone ElseCode that
Cloud Native
Traditional
Arc
hite
ctur
al S
tyle
Software LifecycleInfrequent Changes
Frequent Changes
Develops
Code that Others developCloud Native
Anticipate Change! • Support nodes having new IP addresses on recreate • Availability zone aware • Flexible cluster topologies (i.e. dynamically scale)
• Need persistence • No shared storage
Cloud-native Clusters &
Data-centric workloads
Code that Others developCloud Native
Anticipate Change! • Support nodes having new IP addresses on recreate • Availability zone aware • Flexible cluster topologies (i.e. dynamically scale)
• Need persistence • No shared storage
Cloud-native Clusters &
Data-centric workloads
Code that Others developCloud Native
Health Management, Logging, Scaling From Kubernetes Multi-cloud Via Goodness!!Kernel and Kubernetes Upgrades How do you roll out new versions of the platform with the lights on?
Consolidation More fully utilize your VMs and Servers
Value
More goodness!!
Why are we running these workloads on Kubo?
Already Containerized ISVs are increasingly distributing their software in containers
And, all of this
Code that Others developTraditional
BOSH
VMware GCP Azure Openstack AWS
K8s ClusterK8s Cluster
K8s Cluster
Your Application
Code that Others developTraditional
Why??
Arguably, WLS itself gives you some of these values - but only some.
Health Management, Logging, Scaling From Kubernetes Multi-cloud Via Goodness!!Kernel and Kubernetes Upgrades How do you roll out new versions of the platform with the lights on?
Consolidation More fully utilize your VMs and Servers
Value
More goodness!!
And possibly even licensing compression!
Code that Others developTraditional
Leverages Stateful Sets
StatefulSets are valuable for applications that require one or more of the following. • Stable, unique network identifiers.
• Stable, persistent storage.
• Ordered, graceful deployment and scaling.
• Ordered, graceful deletion and termination.
• Ordered, automated rolling updates.
https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/
Replace ‘Pet Sets’
Beta in 1.8
Code that You develop Code that Others develop
Arc
hite
ctur
al S
tyle
Software Lifecycle
Arc
hite
ctur
al S
tyle
Software Lifecycle
@cdavisafc
Me?
Developer (wasn’t Ops)
Web architectures for >10 years
Cloud-native for 5 years
Cloud Foundry for 5 years
More recently
Discount code 40% off!: 40cloudnat