kubo (cloud foundry container platform): your gateway drug to cloud-native

37
Kubo Your Gateway Drug to Cloud-native Cornelia Davis Sr. Director of Technology Pivotal @cdavisafc CF Summit Basel, October 2017

Upload: cornelia-davis

Post on 23-Jan-2018

725 views

Category:

Software


2 download

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

Someone ElseCode that

Cloud NativeTraditional Architectural Style

Develops

Code that Others developCloud Native

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

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

Someone ElseCode that

Cloud NativeTraditional Architectural Style

Develops

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

34

Call to ActionRun workloads

on Cloud Foundry Container Runtime!

And Share!

Thank you!

Cornelia Davis Sr. Director of Technology Pivotal @cdavisafc

@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