Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud...

57
Cloud Foundry & Bosh A Cloud Love

description

Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Transcript of Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud...

Page 1: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Cloud Foundry & Bosh A Cloud Love

Page 2: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

In this talk you will

Page 3: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

• discover the anynines stack

• get known to Cloud Foundry

• learn how Bosh deploys Cloud Foundry

Page 4: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Introduction

Page 5: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.
Page 6: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

100% European

Page 7: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

30+ employees

Page 8: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

The anynines Stack

Page 9: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Built on approved Open Source

Software

Page 10: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Hardware

OpenStack

Cloud Foundry

VMware

Page 11: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

We migrated from a Rented VMware to a

self-hosted OpenStack.

Page 12: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

< 30 min downtime.

Read more: http://rh.gd/a9vmw2sos

Page 13: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Cloud Foundry

Page 14: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

• open source software, Apache 2 license

• developed by Pivotal, ~$500 mio. funding

• mostly written in Ruby & Go

Page 15: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

CF Architecture

Page 16: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Anynines Elastic Runtime MongoDB Service

MongoDB Service Broker

MongoDB Bosh

MongoDB Service Clusters

Load Balancer & SSL Broker

Application Router

Cloud Controller Health Manager

UAA Login Service

NATS Messaging Bus

DEA Pool

DEA VM 1 DEA VM 2 DEA VM n

App Container 1

App Container 2

App Container 3

App Container 4

App Container 5 App Container n

Blob Store

Bosh

Bosh Director

Bosh Health Manager

Bosh Workers Bosh Resurrector

Bosh Task Queue Bosh DNS Server

Page 17: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Deploying an App

Page 18: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Anynines Elastic Runtime

Blob Store Cloud Controller

DEADEA DEA

= Droplet = Your runnable app

App ContainerApp Container

Application Deployment

cf push{meta: data}

Health Manager

Page 19: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Staging an App

Page 20: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Anynines Elastic Runtime

Blob Store Cloud Controller

DEADEA DEA

= Droplet = Your runnable app

App Container

Application Staging

Global Buildpacks

+ =

Page 21: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Anynines Elastic Runtime

Blob Store Cloud Controller

DEADEA DEA

= Droplet = Your runnable app

App Container

Application Staging

Global Buildpacks

+ =App Container

Page 22: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Scaling an App

Page 23: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

cf scale myapp -i 2

Page 24: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Anynines Elastic Runtime

Blob Store Cloud Controller Health Manager

NATS Message Bus

DEADEA DEA

App Container

= Droplet = Your runnable app

App Container

Application Scale-Out

Page 25: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Cloud Foundry Elastic Runtime

Summary

Page 26: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

• Application server grid on steroids

• Generic buildpack support

• SCM agnostic deployments

Page 27: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.
Page 28: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Services

Page 29: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

cf create-service mongodb cluster-med mydb1

Page 30: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Create Service Instance

Anynines Elastic Runtime

Blob Store Cloud Controller

Health Manager

DEA

App Container App Container

MongoDB Service

Service Broker

Example: MongoDB - Could be any other service

Mongo Cluster 1DEA

VM VM VM

Mongo Cluster 2

VM VM VM

Service Bosh

Service Provisioner Inception VM

Page 31: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

cf bind-service mongodb mydb1

Page 32: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Anynines Elastic Runtime MongoDB Service

Create Service Instance

Blob Store Cloud Controller

Health Manager

DEA

App Container App Container

Service Broker

Example: MongoDB - Could be any other service

Mongo Cluster 1DEA

VM VM VM

Mongo Cluster 2

VM VM VM

Service Bosh

Service Provisioner Inception VM

{user: john, password: doe}

Page 33: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Back to the big picture

Read more http://rh.gd/1E41ZqZ

Page 34: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Anynines Elastic Runtime MongoDB Service

MongoDB Service Broker

MongoDB Bosh

MongoDB Service Clusters

Load Balancer & SSL Broker

Application Router

Cloud Controller Health Manager

UAA Login Service

NATS Messaging Bus

DEA Pool

DEA VM 1 DEA VM 2 DEA VM n

App Container 1

App Container 2

App Container 3

App Container 4

App Container 5 App Container n

Blob Store

Bosh

Bosh Director

Bosh Health Manager

Bosh Workers Bosh Resurrector

Bosh Task Queue Bosh DNS Server

Page 35: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

How to deploy this multitude of services?

Page 36: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Bosh

Page 37: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

• IaaS agnostic

• Turnkey deployments for large distributed systems

• VM orchestration

• Installation automation

Page 38: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Anynines Operations Manager (Bosh) Anynines IaaS (OpenStack)

CF Health Manager (Process)

Bosh Agent

VIR

TU

AL

MA

CH

INE

Process Monitor

CF DEA (Process)

VIR

TU

AL

MA

CH

INE

Bosh Agent Process Monitor

Bosh Health Monitor

Bosh Director

NATS Message Bus

Infrastructure Level Self-Healing

CF DEA (Process)

VIR

TU

AL

MA

CH

INE

Bosh Agent Process Monitor

Bosh CLI

Bosh Blobstore

DNS Server

Bosh CPI

Registry

Resurrector

Task Queue

Task Workers

VM

VM

VM

VM

VM

VM

VM

VM

Page 39: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Bosh CPI -

Cloud Provider Interface

Page 40: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Bosh CPI# Stemcell create_stemcell(image, cloud_properties) delete_stemcell(stemcell_id) !# VM create_vm(agent_id, stemcell_id, resource_pool, networks, disk_locality, env) delete_vm(vm_id) reboot_vm(vm_id) configure_networks(vm_id, networks) !# Disk create_disk(size, vm_locality) delete_disk(disk_id) attach_disk(vm_id, disk_id) detach_disk(vm_id, disk_id)

Page 41: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

OpenStack CPI http://rh.gd/1oDezng

Page 42: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Four Layers of HA

Page 43: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

1. Application Failure⇒ Reboot in new Container ✔

2. Rack Failure⇒ Availability Zones ✔

3. PaaS Process Failure⇒ Reboot component in a new VM ✔

4. PaaS VM Failure⇒ VM Monitor ⇒ Recreate VM ✔

Page 44: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Application Failure

Page 45: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Anynines Elastic Runtime

Blob Store Cloud Controller Health Manager

NATS Message Bus

DEADEA DEA

App Container

= Droplet = Your runnable app

App Container App Container

Application Level Self-Healing

Page 46: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Availability Zone Failure (e.g. Rack Failure)

Page 47: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Anynines Elastic Runtime

IaaS Availability Zone 1 IaaS Availability Zone 2 IaaS Availability Zone 3

DEAs DEAs DEAs

Application Container

Application Container

Application Container

Application Container

Application Container

Application Container

Application Container

Application Container

Application Level Self-Healing

Page 48: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

PaaS Process Failure

Page 49: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Anynines Operations Manager (Bosh) Anynines IaaS (OpenStack)

CF Health Manager (Process)

Bosh Agent

VIR

TU

AL

MA

CH

INE

Process Monitor

CF DEA (Process)

VIR

TU

AL

MA

CH

INE

Bosh Agent Process Monitor

Bosh Health Monitor

Bosh Director

NATS Message Bus

Infrastructure Level Self-Healing

CF DEA (Process)

VIR

TU

AL

MA

CH

INE

Bosh Agent Process Monitor

CF DEA (Process)

Process Monitor

Page 50: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

PaaS VM Failure

Page 51: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Anynines Operations Manager (Bosh) Anynines IaaS (OpenStack)

CF Health Manager (Process)

Bosh Agent

VIR

TU

AL

MA

CH

INE

Process Monitor

CF DEA (Process)

VIR

TU

AL

MA

CH

INE

Bosh Agent Process Monitor

CF DEA (Process)

VIR

TU

AL

MA

CH

INE

Bosh Agent Process Monitor

Bosh Health Monitor

Bosh Director

NATS Message Bus

CF DEA (Process)

VIR

TU

AL

MA

CH

INE

Bosh Agent Process Monitor

Infrastructure Level Self-Healing

Page 52: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Anynines Operations Manager (Bosh) Anynines IaaS (OpenStack)

CF Health Manager (Process)

Bosh Agent

VIR

TU

AL

MA

CH

INE

Process Monitor

CF DEA (Process)

VIR

TU

AL

MA

CH

INE

Bosh Agent Process Monitor

Bosh Health Monitor

Bosh Director

NATS Message Bus

Infrastructure Level Self-Healing

CF DEA (Process)

VIR

TU

AL

MA

CH

INE

Bosh Agent Process Monitor

CF DEA (Process)

VIR

TU

AL

MA

CH

INE

Bosh Agent Process MonitorBosh Agent

Page 53: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Summary

Page 54: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

• Cloud Foundry is a free, production ready Heroku-like PaaS

• Awesome app runtime

• Service orchestration

• Transparent due to open source

• No vendor-lock in

Page 55: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

• Bosh is a cloud-ready orchestration tool

• Describe a distributed-system blueprint⇒ Bosh will build it for you. Ready to use.

Page 56: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Which part(s) should be presented in the next talk?

Page 57: Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

Thank you!