Top Banner
Chip Childers - @chipchilders Cloud Foundry Foundation The Making of a Modern Application Architecture
170
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Talk at the Boston Cloud Foundry Meetup June 2015

Chip Childers - @chipchildersCloud Foundry Foundation

The Making of a

Modern Application Architecture

Page 2: Talk at the Boston Cloud Foundry Meetup June 2015

Chip Childers - @chipchildersCloud Foundry Foundation

The Making of a

Modern Application Architecture

Cloud Native Application

Platform

Page 3: Talk at the Boston Cloud Foundry Meetup June 2015

The Dawn of a New Era

Page 4: Talk at the Boston Cloud Foundry Meetup June 2015

A shift in business matchingthe shift in human behavior

Page 5: Talk at the Boston Cloud Foundry Meetup June 2015

Continuous Innovation

Page 6: Talk at the Boston Cloud Foundry Meetup June 2015

waterscrumfall

Page 7: Talk at the Boston Cloud Foundry Meetup June 2015

PAIR

cloud native applicationsWITH

continuous delivery of business value

Page 8: Talk at the Boston Cloud Foundry Meetup June 2015

Continuous Innovation

Page 9: Talk at the Boston Cloud Foundry Meetup June 2015
Page 10: Talk at the Boston Cloud Foundry Meetup June 2015

Containers Automation Cluster Management

Page 11: Talk at the Boston Cloud Foundry Meetup June 2015

Carrier Networking

Datacenter Networking

Datacenter Operating Systems

Hardware

Virtual Machines

Operating Systems

Application Platforms

Programming Frameworks

Containers

Page 12: Talk at the Boston Cloud Foundry Meetup June 2015

Cloud Native Application Platform

Page 13: Talk at the Boston Cloud Foundry Meetup June 2015

When IaaS and App Platforms Come Together

• Better SLAs

• Flexibility

• Speed

• Availability

• Faster Time To Market

• Mobile + Data Services

• Agile and Iterative

• Leverage OSS

• Continuous Delivery

• No Downtime

• Instant scaling

• Consistency & Automation

App Dev App OpsIaaS

Page 14: Talk at the Boston Cloud Foundry Meetup June 2015

Unit of Value

IaaS == Virtual Machine

• Opaque to the system

• Orchestration is post-hoc

• System changes are imperative (“launch” stuff)

App Platform == Application

• Containers are transparent

• Lifecycle is fully managed

• System changes are declarative (manifest.yml)

Page 15: Talk at the Boston Cloud Foundry Meetup June 2015

Understanding Cloud Native Application Platforms

.war .jar

dependencies

libraries

service manifest

App App App

LB

DB

Multi-server run time environment(s)

.tar.gz

Turning this: Into this:

Page 16: Talk at the Boston Cloud Foundry Meetup June 2015

Removing Developer and Operational Constraints

BUILD APPLICATION

PUSH FIRST RELEASE

MAINTAIN APPLICATION

UPDATE APPLICATIONS

RETIRE APPLICATIONS

• Auto-detect frameworks• Link to App Platform

• Self-service deploy• Dynamic routing

• A/B versioning• Live upgrades

• Self-service removal

• Elastic scale• Integrated HA• Log aggregation• Policy and Auth

Page 17: Talk at the Boston Cloud Foundry Meetup June 2015

Application Patterns Are Changing

Page 18: Talk at the Boston Cloud Foundry Meetup June 2015

Microservices are great.Per Martin Fowler they lead to specific

requirements:

rapid provisioningbasic monitoring

rapid application deploymentdevops culture

Page 19: Talk at the Boston Cloud Foundry Meetup June 2015
Page 20: Talk at the Boston Cloud Foundry Meetup June 2015

• Use declarative formats for setup automation, to minimize time and cost for new developers joining the project;

• Have a clean contract with the underlying operating system, offering maximum portability between execution environments;

• Are suitable for deployment on modern cloud platforms, obviating the need for servers and systems administration;

• Minimize divergence between development and production, enabling continuous deployment for maximum agility;

• And can scale up without significant changes to tooling, architecture, or development practices.

Page 21: Talk at the Boston Cloud Foundry Meetup June 2015

But even that’s not enough…

Page 22: Talk at the Boston Cloud Foundry Meetup June 2015

• Role based access to resources: the right people should be able to do things and the wrong people shouldn’t

• Run specified bits on demand: take code, put it together with all the rest of the things it needs and and get it running

• Coordinate cross service configurations: in a service oriented world, services need to be configured to connect with each other

• Route public requests to running bits: the next big thing needs access to the internet

• Read and write persistent data: data has to live somewhere

• Add and remove resources: scaling is a great problem to have, but still

• Isolate resources and failures without isolation and decoupling, that is one big distributed single point of failure

• Measure performance/health: can’t manage what you don’t measure

• Detect and determine failure: sometimes, things get real… but how do you know

• Recover failures: someone is going to have to clean this mess

• Work tomorrow: when everything you’ve thought to be true has been shown not to

Page 23: Talk at the Boston Cloud Foundry Meetup June 2015

Containers Alone Are Not Enough

Page 24: Talk at the Boston Cloud Foundry Meetup June 2015

Cloud Native Application Platform

Page 25: Talk at the Boston Cloud Foundry Meetup June 2015
Page 26: Talk at the Boston Cloud Foundry Meetup June 2015

A Cloud Foundry is a place of practice for continuous innovation. noun pragmatic cathedral

We give you the technology to create the place, and we assemble the wisdom of the community to create the

practices.

Page 27: Talk at the Boston Cloud Foundry Meetup June 2015

Yeah, yeah, get to the technical bit

Page 28: Talk at the Boston Cloud Foundry Meetup June 2015
Page 29: Talk at the Boston Cloud Foundry Meetup June 2015
Page 30: Talk at the Boston Cloud Foundry Meetup June 2015

And now I’ll attempt to impersonate Onsi Fakhouri…

Slides stolen borrowed with permission.

Everybody thank @onsijoe

Page 31: Talk at the Boston Cloud Foundry Meetup June 2015

Let’s talk about Diego

??

?

Page 32: Talk at the Boston Cloud Foundry Meetup June 2015

?

Page 33: Talk at the Boston Cloud Foundry Meetup June 2015

? DIEGO is

a distributed system that orchestrates containerized

workloads

Page 34: Talk at the Boston Cloud Foundry Meetup June 2015

? DIEGOa distributed system that orchestrates containerized workloads

Cells

Brain

BBS(currently etcd)

Page 35: Talk at the Boston Cloud Foundry Meetup June 2015

?

Cells

Brain

BBS(currently etcd)

scheduler

DIEGOa distributed system that orchestrates containerized workloads

Page 36: Talk at the Boston Cloud Foundry Meetup June 2015

?

Cells

Brain

BBS(currently etcd)

scheduler

DIEGOa distributed system that orchestrates containerized workloads

Page 37: Talk at the Boston Cloud Foundry Meetup June 2015

?

Cells

Brain

BBS(currently etcd)

scheduler

DIEGOa distributed system that orchestrates containerized workloads

Page 38: Talk at the Boston Cloud Foundry Meetup June 2015

?

Cells

Brain

BBS(currently etcd)

scheduler

DIEGOa distributed system that orchestrates containerized workloads

Page 39: Talk at the Boston Cloud Foundry Meetup June 2015

?

Cells

Brain

BBS(currently etcd)

health-monitor

DIEGOa distributed system that orchestrates containerized workloads

Page 40: Talk at the Boston Cloud Foundry Meetup June 2015

?

Cells

Brain

BBS(currently etcd)

health-monitor

DIEGOa distributed system that orchestrates containerized workloads

Page 41: Talk at the Boston Cloud Foundry Meetup June 2015

?

Cells

Brain

BBS(currently etcd)

health-monitor

DIEGOa distributed system that orchestrates containerized workloads

Page 42: Talk at the Boston Cloud Foundry Meetup June 2015

?

Cells

Brain

BBS(currently etcd)

health-monitor

DIEGOa distributed system that orchestrates containerized workloads

Page 43: Talk at the Boston Cloud Foundry Meetup June 2015

?

Cells

Brain

BBS(currently etcd)

health-monitor

DIEGOa distributed system that orchestrates containerized workloads

Page 44: Talk at the Boston Cloud Foundry Meetup June 2015

?

Cells

Brain

BBS(currently etcd)

health-monitor

DIEGOa distributed system that orchestrates containerized workloads

Page 45: Talk at the Boston Cloud Foundry Meetup June 2015

?

Cells

Brain

BBS(currently etcd)

health-monitor

DIEGOa distributed system that orchestrates containerized workloads

Page 46: Talk at the Boston Cloud Foundry Meetup June 2015

?

Cells

Brain

BBS(currently etcd)

health-monitor

DIEGOa distributed system that orchestrates containerized workloads

Page 47: Talk at the Boston Cloud Foundry Meetup June 2015

? DIEGO runs

one-off taskslong running processes

a distributed system that orchestrates containerized workloads

Page 48: Talk at the Boston Cloud Foundry Meetup June 2015

?Taska unit of workruns at most once

DIEGO runsa distributed system that orchestrates containerized workloads

long running processes

Page 49: Talk at the Boston Cloud Foundry Meetup June 2015

?Task LRPa unit of workruns at most once

N long-running instancesdistributed across cells for HAmonitored & restarted

DIEGO runsa distributed system that orchestrates containerized workloads

Page 50: Talk at the Boston Cloud Foundry Meetup June 2015

?

generic, platform independent, abstraction

DIEGO runsa distributed system that orchestrates containerized workloads

Task LRP

Page 51: Talk at the Boston Cloud Foundry Meetup June 2015

?

generic, platform independent, abstraction

DIEGO runsa distributed system that orchestrates containerized workloads

Task LRP

Page 52: Talk at the Boston Cloud Foundry Meetup June 2015

?

working today

DIEGO runsa distributed system that orchestrates containerized workloads

generic, platform independent, abstraction

Task LRP

Page 53: Talk at the Boston Cloud Foundry Meetup June 2015

? DIEGO runsa distributed system that orchestrates containerized workloads

successful abstraction

Task LRP

working today

Page 54: Talk at the Boston Cloud Foundry Meetup June 2015

…confusion

Page 55: Talk at the Boston Cloud Foundry Meetup June 2015

…confusion

=?

Page 56: Talk at the Boston Cloud Foundry Meetup June 2015

…confusion

? ?

Page 57: Talk at the Boston Cloud Foundry Meetup June 2015

…confusion

?

Page 58: Talk at the Boston Cloud Foundry Meetup June 2015

isolation

??

??

Page 59: Talk at the Boston Cloud Foundry Meetup June 2015

isolation

shared resources

proc

ess

A

proc

ess

B

proc

ess

C

proc

ess

D

proc

ess

E

proc

ess

F

kernel

tenant 1 tenant 2 tenant 3

??

Page 60: Talk at the Boston Cloud Foundry Meetup June 2015

isolation

shared resources

kernel

resource isolation

namespace isolation

proc

ess

A

proc

ess

B

proc

ess

C

proc

ess

D

proc

ess

E

proc

ess

Ftenant 1 tenant 2 tenant 3

??

Page 61: Talk at the Boston Cloud Foundry Meetup June 2015

isolation

CPU

kernel

resource isolation

namespace isolation

proc

ess

A

proc

ess

B

proc

ess

C

proc

ess

D

proc

ess

E

proc

ess

Ftenant 1 tenant 2 tenant 3

??

Page 62: Talk at the Boston Cloud Foundry Meetup June 2015

isolation

resource isolation

namespace isolation

CPUpr

oces

s A

proc

ess

B

proc

ess

C

proc

ess

D

proc

ess

E

proc

ess

Ftenant 1 tenant 2 tenant 3

??

Page 63: Talk at the Boston Cloud Foundry Meetup June 2015

isolation

resource isolation

namespace isolation

proc

ess

A

proc

ess

B

proc

ess

C

proc

ess

D

proc

ess

E

proc

ess

Ftenant 1 tenant 2 tenant 3

CPU

??

Page 64: Talk at the Boston Cloud Foundry Meetup June 2015

isolation

resource isolation

namespace isolation

proc

ess

A

proc

ess

B

proc

ess

C

proc

ess

D

proc

ess

E

proc

ess

Ftenant 1 tenant 2 tenant 3

CPU

??

Page 65: Talk at the Boston Cloud Foundry Meetup June 2015

isolation

resource isolation

namespace isolation

proc

ess

A

proc

ess

B

proc

ess

C

proc

ess

D

proc

ess

E

proc

ess

Ftenant 1 tenant 2 tenant 3

cgroups

CPU

??

Page 66: Talk at the Boston Cloud Foundry Meetup June 2015

isolation

resource isolation

namespace isolation

proc

ess

A

proc

ess

B

proc

ess

C

proc

ess

D

proc

ess

E

proc

ess

Ftenant 1 tenant 2 tenant 3

cgroupspr

oces

s D

proc

ess

E

proc

ess

F

CPU

??

Page 67: Talk at the Boston Cloud Foundry Meetup June 2015

isolation

shared resources

kernel

resource isolation

namespace isolation

proc

ess

A

proc

ess

B

proc

ess

C

proc

ess

D

proc

ess

E

proc

ess

Ftenant 1 tenant 2 tenant 3

??

Page 68: Talk at the Boston Cloud Foundry Meetup June 2015

isolation

kernel

resource isolation

namespace isolation

proc

ess

A

proc

ess

B

proc

ess

C

proc

ess

D

proc

ess

E

proc

ess

Ftenant 1 tenant 2 tenant 3

ProcessID

??

Page 69: Talk at the Boston Cloud Foundry Meetup June 2015

isolation

resource isolation

namespace isolation

proc

ess

A

proc

ess

B

proc

ess

C

proc

ess

D

proc

ess

E

proc

ess

Ftenant 1 tenant 2 tenant 3

PID 2 3 4 5 6 7

??

Page 70: Talk at the Boston Cloud Foundry Meetup June 2015

isolation

resource isolation

namespace isolation

proc

ess

A

proc

ess

B

proc

ess

C

proc

ess

D

proc

ess

E

proc

ess

Ftenant 1 tenant 2 tenant 3

PID 2 3 4 5 6 7

??

Page 71: Talk at the Boston Cloud Foundry Meetup June 2015

isolation

resource isolation

namespace isolation

proc

ess

A

proc

ess

B

proc

ess

C

proc

ess

D

proc

ess

E

proc

ess

Ftenant 1 tenant 2 tenant 3

PID 2 3 4 5 6 7

??

Page 72: Talk at the Boston Cloud Foundry Meetup June 2015

isolation

resource isolation

namespace isolation

proc

ess

A

proc

ess

B

proc

ess

C

proc

ess

D

proc

ess

E

proc

ess

Ftenant 1 tenant 2 tenant 3

PID 2 3 4 5 6 7

PID namespace

??

Page 73: Talk at the Boston Cloud Foundry Meetup June 2015

isolation

resource isolation

namespace isolation

proc

ess

A

proc

ess

B

proc

ess

C

proc

ess

D

proc

ess

E

proc

ess

Ftenant 1 tenant 2 tenant 3

PID 2 3 4 5 6 7

PID namespace

??

Page 74: Talk at the Boston Cloud Foundry Meetup June 2015

isolation

resource isolation

namespace isolation

proc

ess

A

proc

ess

B

proc

ess

C

proc

ess

D

proc

ess

E

proc

ess

Ftenant 1 tenant 2 tenant 3

PID 2 3 4 2 2 3

PID namespace

??

Page 75: Talk at the Boston Cloud Foundry Meetup June 2015

isolation

resource isolation

namespace isolation

proc

ess

A

proc

ess

B

proc

ess

C

proc

ess

D

proc

ess

E

proc

ess

Ftenant 1 tenant 2 tenant 3

PID

shared resources

kernel

NetworkMountUser

namespaces

??

Page 76: Talk at the Boston Cloud Foundry Meetup June 2015

??

??

Page 77: Talk at the Boston Cloud Foundry Meetup June 2015

=

isolation

User

Network

cgroups

PID

??

??

Page 78: Talk at the Boston Cloud Foundry Meetup June 2015

?

=

isolation

PID

User

Network

cgroups

??

??

Page 79: Talk at the Boston Cloud Foundry Meetup June 2015

=

isolation

PID

User

Network

cgroups

+

contents

??

??

Page 80: Talk at the Boston Cloud Foundry Meetup June 2015

=

isolation

PID

User

Network

cgroups

+

contents

+

processes

??

??

Page 81: Talk at the Boston Cloud Foundry Meetup June 2015

=??

??

Page 82: Talk at the Boston Cloud Foundry Meetup June 2015

TasksLRPs

in

??

Page 83: Talk at the Boston Cloud Foundry Meetup June 2015

TasksLRPs

in Garden

??

Page 84: Talk at the Boston Cloud Foundry Meetup June 2015

Garden

allows Diego to programmatically say

“make me a container” “put this in it” “then run this”

via a platform-agnostic API

??

Page 85: Talk at the Boston Cloud Foundry Meetup June 2015

Garden

allows Diego’s abstractions to be flexible

??

Page 86: Talk at the Boston Cloud Foundry Meetup June 2015

cf push

??

Page 87: Talk at the Boston Cloud Foundry Meetup June 2015

appsourcecode

Task

staging

cf push??

Page 88: Talk at the Boston Cloud Foundry Meetup June 2015

cf push

compiled asset

app + app-specific dependencies

assumes a particular execution context

cflinuxfs2

??

Page 89: Talk at the Boston Cloud Foundry Meetup June 2015

cf push

?

??

Page 90: Talk at the Boston Cloud Foundry Meetup June 2015

cf push

LRP

??

Page 91: Talk at the Boston Cloud Foundry Meetup June 2015

cf push??

Page 92: Talk at the Boston Cloud Foundry Meetup June 2015

cf push

cflinuxfs2

preloaded rootfs

??

Page 93: Talk at the Boston Cloud Foundry Meetup June 2015

cf push

cflinuxfs2

preloaded rootfs

download droplet

??

Page 94: Talk at the Boston Cloud Foundry Meetup June 2015

cf push

cflinuxfs2

preloaded rootfs

download droplet

start command

??

Page 95: Talk at the Boston Cloud Foundry Meetup June 2015

cf push

Droplet LRP{

memory: 128mb,

rootfs: “preloaded:cflinuxfs2”,

setup: <download-droplet>,

run: {metadata}.start-command

}

??

Page 96: Talk at the Boston Cloud Foundry Meetup June 2015

cf push

Droplet LRP{

memory: 128mb,

rootfs: “preloaded:cflinuxfs2”,

setup: <download-droplet>,

run: {metadata}.start-command

}

??

Page 97: Talk at the Boston Cloud Foundry Meetup June 2015

cf push

{memory: 128mb,

rootfs: “preloaded:cflinuxfs2”,

setup: <download-droplet>,

run: {metadata}.start-command

}

Droplet LRP

??

Page 98: Talk at the Boston Cloud Foundry Meetup June 2015

cf push

{memory: 128mb,

rootfs: “preloaded:cflinuxfs2”,

setup: <download-droplet>,

run: {metadata}.start-command

}

Droplet LRP

??

Page 99: Talk at the Boston Cloud Foundry Meetup June 2015

cf push

??

Page 100: Talk at the Boston Cloud Foundry Meetup June 2015

cf push-docker

??

Page 101: Talk at the Boston Cloud Foundry Meetup June 2015

cf push-docker??

Page 102: Talk at the Boston Cloud Foundry Meetup June 2015

cf push-docker

docker image

??

Page 103: Talk at the Boston Cloud Foundry Meetup June 2015

cf push-docker

docker image docker metadata

??

Page 104: Talk at the Boston Cloud Foundry Meetup June 2015

cf push-docker

docker image docker metadata

docker registry

}

??

Page 105: Talk at the Boston Cloud Foundry Meetup June 2015

Docker LRP

{memory:128mb,

rootfs: “docker://docker-image”,

run: {docker metadata}.start-command

}

cf push-docker??

Page 106: Talk at the Boston Cloud Foundry Meetup June 2015

cf push-docker

docker image docker metadata

docker registry

}

??

Page 107: Talk at the Boston Cloud Foundry Meetup June 2015

Docker LRP

{memory:128mb,

rootfs: “docker://docker-image”,

run: {docker metadata}.start-command

}

cf push-docker??

Page 108: Talk at the Boston Cloud Foundry Meetup June 2015

Docker LRP

{memory:128mb,

rootfs: “docker://docker-image”,

run: {docker metadata}.start-command

}

cf push-docker??

Page 109: Talk at the Boston Cloud Foundry Meetup June 2015

Docker LRP

{memory:128mb,

rootfs: “docker://docker-image”,

run: {docker metadata}.start-command

}

cf push-docker??

Page 110: Talk at the Boston Cloud Foundry Meetup June 2015

???

Page 111: Talk at the Boston Cloud Foundry Meetup June 2015

?

(anything) (anything)

??

Page 112: Talk at the Boston Cloud Foundry Meetup June 2015

???

Page 113: Talk at the Boston Cloud Foundry Meetup June 2015

?

appc

??

Page 114: Talk at the Boston Cloud Foundry Meetup June 2015

cf push-docker

??

Page 115: Talk at the Boston Cloud Foundry Meetup June 2015

cf push -stack windows

??

Page 116: Talk at the Boston Cloud Foundry Meetup June 2015

Garden-Windows

resource isolationkernel job objectdisk quotas

namespace isolationuser profilesHost Web Core(an isolated IIS instance)

Garden-Linux

resource isolationcgroups

namespace isolationPIDNetworkUserMount

??

Page 117: Talk at the Boston Cloud Foundry Meetup June 2015

collaborating with Microsoft

Garden-Windows

??

Page 118: Talk at the Boston Cloud Foundry Meetup June 2015

Garden-Windows

provides a container experience for Windows 2012that will only get better with Windows 2016

allows us to build a cf push experience

??

Page 119: Talk at the Boston Cloud Foundry Meetup June 2015

Garden-Linux Garden-Windows

?

??

Page 120: Talk at the Boston Cloud Foundry Meetup June 2015

Garden API

??

Page 121: Talk at the Boston Cloud Foundry Meetup June 2015

.net LRP

{memory: 128mb,

rootfs: “preloaded:windows2012R2”,

setup: <download-application>

run: {metadata}.start-command}

??

Page 122: Talk at the Boston Cloud Foundry Meetup June 2015

.net LRP

{memory: 128mb,

rootfs: “preloaded:windows2012R2”,

setup: <download-application>

run: {metadata}.start-command}

??

Page 123: Talk at the Boston Cloud Foundry Meetup June 2015

.net LRP

{memory: 128mb,

rootfs: “preloaded:windows2012R2”,

setup: <download-application>

run: {metadata}.start-command}

??

Page 124: Talk at the Boston Cloud Foundry Meetup June 2015

.net LRP

{memory: 128mb,

rootfs: “preloaded:windows2012R2”,

setup: <download-application>

run: {metadata}.start-command}

??

Page 125: Talk at the Boston Cloud Foundry Meetup June 2015

.net LRP

{memory: 128mb,

rootfs: “preloaded:windows2012R2”,

setup: <download-application>

run: {metadata}.start-command}

??

Page 126: Talk at the Boston Cloud Foundry Meetup June 2015

3 different contexts

??

Page 127: Talk at the Boston Cloud Foundry Meetup June 2015

1 cluster??

Page 128: Talk at the Boston Cloud Foundry Meetup June 2015

CloudController

DEA

cf push

stage

DEA

DEA

DEArun

? Current CF Architecture (Simplified)

Page 129: Talk at the Boston Cloud Foundry Meetup June 2015

CloudControllercf push

stage

run

app-specific generic

?

Page 130: Talk at the Boston Cloud Foundry Meetup June 2015

CloudControllercf push

stage

run

CCBridge

Cells

BrainBBS

Rec

epto

r AP

I

?

Page 131: Talk at the Boston Cloud Foundry Meetup June 2015

CloudController

CCBridge

generic consumer

? Cells

BrainBBS

Rec

epto

r AP

I

Page 132: Talk at the Boston Cloud Foundry Meetup June 2015

CloudController

CCBridge

BrainBBS

generic consumer

other consumers?

? Cells

BrainBBS

Rec

epto

r AP

I

Page 133: Talk at the Boston Cloud Foundry Meetup June 2015
Page 134: Talk at the Boston Cloud Foundry Meetup June 2015

Cells

BrainBBS

Task or LRP

Rec

epto

r AP

I

Page 135: Talk at the Boston Cloud Foundry Meetup June 2015

Cells

BrainBBS

Task or LRP

meh Rec

epto

r AP

I

Page 136: Talk at the Boston Cloud Foundry Meetup June 2015

Cells

BrainBBS

Task or LRP

gorouter

http traffic

Rec

epto

r AP

I

Page 137: Talk at the Boston Cloud Foundry Meetup June 2015

Cells

BrainBBS

Task or LRP

gorouter

http traffic

loggregator

logs

Rec

epto

r AP

I

Page 138: Talk at the Boston Cloud Foundry Meetup June 2015
Page 139: Talk at the Boston Cloud Foundry Meetup June 2015

vagrant up

Page 140: Talk at the Boston Cloud Foundry Meetup June 2015

vagrant up

terraform apply

Page 141: Talk at the Boston Cloud Foundry Meetup June 2015

vagrant up

terraform apply

ltc create <app>

Page 142: Talk at the Boston Cloud Foundry Meetup June 2015

lattice.cf

Page 143: Talk at the Boston Cloud Foundry Meetup June 2015

lattice.cf

Local VM

Page 144: Talk at the Boston Cloud Foundry Meetup June 2015

lattice.cf

Local VM

AWSDigital OceanGoogle Cloud PlatformOpenStack

Page 145: Talk at the Boston Cloud Foundry Meetup June 2015

?Why

?

Page 146: Talk at the Boston Cloud Foundry Meetup June 2015

?

CCUAADiegoLoggregatorGorouterBuildpacksServicesBOSH

Page 147: Talk at the Boston Cloud Foundry Meetup June 2015

?

CCUAADiegoLoggregatorGorouterBuildpacksServicesBOSH

Page 148: Talk at the Boston Cloud Foundry Meetup June 2015

?

CCUAADiegoLoggregatorGorouterBuildpacksServicesBOSH

Page 149: Talk at the Boston Cloud Foundry Meetup June 2015

?

CCUAADiegoLoggregatorGorouterBuildpacksServicesBOSH

single-tenant

Page 150: Talk at the Boston Cloud Foundry Meetup June 2015

?

CCUAADiegoLoggregatorGorouterBuildpacks*ServicesBOSH

dockersingle-tenant

Page 151: Talk at the Boston Cloud Foundry Meetup June 2015

?

CCUAADiegoLoggregatorGorouterBuildpacks*ServicesBOSH

BYOSdocker

single-tenant

Page 152: Talk at the Boston Cloud Foundry Meetup June 2015

?

CCUAADiegoLoggregatorGorouterBuildpacks*ServicesBOSH

no rolling upgradesBYOSdocker

single-tenant

Page 153: Talk at the Boston Cloud Foundry Meetup June 2015

?

?Why

Page 154: Talk at the Boston Cloud Foundry Meetup June 2015

?

…is a useful low-barrier solution to real-world problems

…makes exploring Diego easy

…is a softer onramp to the CF tech stack

…allows us to efficiently prototype new ideas for Diego’s future

Lattice…

Page 155: Talk at the Boston Cloud Foundry Meetup June 2015

WHEN?

Page 156: Talk at the Boston Cloud Foundry Meetup June 2015

“rewrite the DEA”Diego’s scope is much more than

Page 157: Talk at the Boston Cloud Foundry Meetup June 2015

Diego is running in production on PWSManaging ~5% of the load

Page 158: Talk at the Boston Cloud Foundry Meetup June 2015

Diego is in beta while we

validate performance at O(~100s) of cells

secure Diego’s internal components

Page 159: Talk at the Boston Cloud Foundry Meetup June 2015

Start using it alongside the DEAs now and give us feedback

Page 160: Talk at the Boston Cloud Foundry Meetup June 2015

Diego should be out of beta within Q3(probably)

Page 161: Talk at the Boston Cloud Foundry Meetup June 2015

Then what?

Page 162: Talk at the Boston Cloud Foundry Meetup June 2015

Placement Constraintstop of backlog post-beta

Page 163: Talk at the Boston Cloud Foundry Meetup June 2015

cf ssh <app/index>working now, CLI support on the way

shell access, port forwarding, scp

Page 164: Talk at the Boston Cloud Foundry Meetup June 2015

TCP Routing

Page 165: Talk at the Boston Cloud Foundry Meetup June 2015

Private Docker Registry

Page 166: Talk at the Boston Cloud Foundry Meetup June 2015

Support for persistence(a long term goal)

Page 167: Talk at the Boston Cloud Foundry Meetup June 2015

Container-Container networking(a long term goal)

Page 168: Talk at the Boston Cloud Foundry Meetup June 2015

Condenserlightweight buildpacks for Lattice

Page 169: Talk at the Boston Cloud Foundry Meetup June 2015

That was Diego…

??

?

Page 170: Talk at the Boston Cloud Foundry Meetup June 2015

cloudfoundry.org : @chipchilders

A Cloud Foundry is a place of practice for continuous innovation. noun pragmatic cathedral