You’re at the Cloud Foundry Summit, which means you are by definition a cloud-native enthusiast. There’s no question that building apps in this architectural style will produce resilient, scalable software in an agile manner, and allow you to operate it far more efficiently than you’ve been able to in the past. But you’ve also got a whole lot of software in your company’s portfolio that isn’t there yet. Do you have to resign yourself to the pains of managing those applications the old way until you can finally refactor them to be cloud-native? Kubo to the rescue.
You can run legacy applications on Kubo without significant refactoring – pure and simple. As an added bonus, it allows you to satisfy the CIO mandate of running containers (check). But it’s far more than that – running those workloads on Kubo offers advantages over running them on traditional virtualized infrastructure. This session covers those advantages –resource consolidation, health management, multi-cloud and more. It will also present the abstractions in Kubernetes, things like pods and stateful sets, that support running legacy workloads in the cloud environments that are far more distributed and changing than they have been in the past. It’s a first step to cloud-native.
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
1. Kubo
Your Gateway Drug to Cloud-native
Cornelia Davis
Sr. Director of Technology
Pivotal
@cdavisafcCF Summit Basel, October 2017
2. @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
6. So, let’s talk about workloads…
What workloads are you currently running on IaaS?
Code that
You
develop
Code that
Someone Else
Develops
7. Code that You develop
Cloud Native
Traditional
ArchitecturalStyle
Software LifecycleInfrequent
Changes
Frequent
Changes
Developer Productivity
Operational Efficiency
Operational Efficiency
Operational Efficiency
Operational Efficiency
Developer Productivity
(much of it you bring yourself)
8. Code that You develop
Traditional
ArchitecturalStyle
Software LifecycleInfrequent
Changes
Frequent
Changes
Operational Efficiency
Operational Efficiency
Developer Productivity
(much of it you bring yourself)
9. Code thatYou developTraditional Infrequent
ChangesOperational Efficiency
with
What are you doing for Infra deployments today?
10. Code thatYou developTraditional Infrequent
ChangesOperational Efficiency
with
What are you doing for Infra deployments today?
APP DEV QA OPERATIONS
CHANGE
MGMT
SECURITY COMPLIANCE
APPROVER APPROVER APPROVER APPROVER
infrastructure
11. 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 COMPLIANCE
APPROVER APPROVER APPROVER APPROVER
docker image
12. 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!!
13. 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…
14. cmtcmtcmt v201cmt cmt cmt cmt v202 cmt
… …
Prod
Acceptance
CI
Application Team - “Developer Productivity”
16. 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!
17. Code that You develop
Traditional
ArchitecturalStyle
Software LifecycleInfrequent
Changes
Frequent
Changes
Operational Efficiency
Operational Efficiency
Developer Productivity
(much of it you bring yourself)
18. 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
19. 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 dependencies
Approved buildpack Build and approve Dockerfiles
Allow only approved images
CF Identity and Access
Management
Control build and/or scan image
repository
And more…
20. 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.
21. Code that You develop
Traditional
ArchitecturalStyle
Software LifecycleInfrequent
Changes
Frequent
Changes
Operational Efficiency
Operational Efficiency
Developer Productivity
(much of it you bring yourself)
22. So, let’s talk about workloads…
What workloads are you currently running on IaaS?
Code that
You
develop
Code that
Someone Else
Develops
23. Someone ElseCode that
Cloud Native
Traditional
ArchitecturalStyle
Software LifecycleInfrequent
Changes
Frequent
Changes
Develops
26. 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
27. 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
28. 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
30. Code that Others developTraditional
BOSH
VMware GCP Azure Openstack AWS
K8s Cluster
K8s Cluster
K8s Cluster
Your Application
31. 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!
32. 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
33. Code that You develop Code that Others develop
ArchitecturalStyle
Software Lifecycle
ArchitecturalStyle
Software Lifecycle
36. @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