39
Bosh Basics

Cloud infrastrukturen - Folienset 6 - Bosh

Embed Size (px)

Citation preview

Page 1: Cloud infrastrukturen - Folienset 6 - Bosh

Bosh Basics

Page 2: Cloud infrastrukturen - Folienset 6 - Bosh

• Inner vs. outer shell

• Bosh = Bosh outer shell

Page 3: Cloud infrastrukturen - Folienset 6 - Bosh

What is Bosh?

Page 4: Cloud infrastrukturen - Folienset 6 - Bosh

„BOSH is an open source tool chain for release engineering, deployment, and lifecycle management of large-scale

distributed services.“

http://docs.cloudfoundry.org/bosh/understanding-bosh.html

Page 5: Cloud infrastrukturen - Folienset 6 - Bosh

IaaS - OpenStack

VIRTUAL DATACENTER

VIRTUAL MACHINE

MicroBosh

Router

STORAGE

Storage Node Storage Node Storage Node

HDD HDD

HDD HDD

HDD HDD

HDD HDD

HDD HDD

HDD HDD

HDD HDD

HDD HDD

HDD HDD

Bosh API

Storage Volume

Operating System

Bosh Agent

VIRTUAL MACHINE

Bosh CLI $> bosh deploy

IaaS API

Page 6: Cloud infrastrukturen - Folienset 6 - Bosh

Bosh Deployment

Stemcell Release Manifest

Page 7: Cloud infrastrukturen - Folienset 6 - Bosh

A Bosh-Deployment depends on 1 .. *

Stemcells

Page 8: Cloud infrastrukturen - Folienset 6 - Bosh

• VM template

• Bosh clones new VMs from stemcells

• Stemcell = OS + Bosh Agent

• Bosh Agent acts on the VM

• Stemcells are infrastructure and OS specific (VMware + Ubuntu, OpenStack + CentOS, etc.)

Page 9: Cloud infrastrukturen - Folienset 6 - Bosh

A Bosh-Deployment is described by a Release

Page 10: Cloud infrastrukturen - Folienset 6 - Bosh

• = collection of

• source code

• configuration files

• startup scripts

• software packages

• jobs

Page 11: Cloud infrastrukturen - Folienset 6 - Bosh

A Release contains 1 .. * Jobs

Page 12: Cloud infrastrukturen - Folienset 6 - Bosh

• Jobs = Processes to be run

• = set of configuration files

• + scripts

• > run process from a package, e.g. mysqld

Page 13: Cloud infrastrukturen - Folienset 6 - Bosh

A Release contains 1 .. * Package

Page 14: Cloud infrastrukturen - Folienset 6 - Bosh

• Package

• src code

• compile script

• install script

Page 15: Cloud infrastrukturen - Folienset 6 - Bosh

A Bosh Deployment’s settings are contained in a

Manifest

Page 16: Cloud infrastrukturen - Folienset 6 - Bosh

• defines the layout and properties of a deployment

• infrastructure configuration

• network architecture

• VM dimensions, used stemcells (OS)

Page 17: Cloud infrastrukturen - Folienset 6 - Bosh

• bosh cli pushed manifest to Bosh director

• > Bosh director creates a deployment

Page 18: Cloud infrastrukturen - Folienset 6 - Bosh

Bosh Deployment Workflow

Page 19: Cloud infrastrukturen - Folienset 6 - Bosh

• Upload stemcell

• Upload a release

• Set deployment with a manifest

• Execute deployment

Page 20: Cloud infrastrukturen - Folienset 6 - Bosh

Benefits from Bosh’s design

Page 21: Cloud infrastrukturen - Folienset 6 - Bosh

• Switch deployment between clouds

• Keep the same release

• Use a stemcell specific to the new cloud

• Adapt the manifest

Page 22: Cloud infrastrukturen - Folienset 6 - Bosh

• Scaling-out a Bosh deployed system

• Keep the same release

• Use the same stemcell

• Change the manifest

Page 23: Cloud infrastrukturen - Folienset 6 - Bosh

• Update or roll-back Bosh deployed system

• Use a newer or older release version

• Use the same stemcell

• Use the same manifest

Page 24: Cloud infrastrukturen - Folienset 6 - Bosh

Bosh Design Principles

Page 25: Cloud infrastrukturen - Folienset 6 - Bosh

BOSH Deployments are Predictable

Page 26: Cloud infrastrukturen - Folienset 6 - Bosh

• Src code is compiled in a freshly created VMs

• VMs always contain exact the software, specified in the release

• No left-overs of prior deployments as new VMs are used.

Page 27: Cloud infrastrukturen - Folienset 6 - Bosh

BOSH Deployments are Repeatable

Page 28: Cloud infrastrukturen - Folienset 6 - Bosh

Executing a specific Bosh deployment always leads to exact same deployed

system.

Page 29: Cloud infrastrukturen - Folienset 6 - Bosh

BOSH Deployments are Self-Healing

Page 30: Cloud infrastrukturen - Folienset 6 - Bosh

Bosh Health Monitor

Page 31: Cloud infrastrukturen - Folienset 6 - Bosh

• Bosh Health Monitor…

• monitors processes running on the VMs managed by Bosh

• Compares desired vs. actual state

• Bosh can recreated processes and VMS on failure.

Page 32: Cloud infrastrukturen - Folienset 6 - Bosh

PaaS Process Failure

Page 33: Cloud infrastrukturen - Folienset 6 - Bosh

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 34: Cloud infrastrukturen - Folienset 6 - Bosh

PaaS VM Failure

Page 35: Cloud infrastrukturen - Folienset 6 - Bosh

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 36: Cloud infrastrukturen - Folienset 6 - Bosh

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 37: Cloud infrastrukturen - Folienset 6 - Bosh

Thank you.

@fischerjulian [email protected]

Page 38: Cloud infrastrukturen - Folienset 6 - Bosh

Links & Sources

Page 39: Cloud infrastrukturen - Folienset 6 - Bosh

• Open Source Bosh Documentation http://docs.cloudfoundry.org/bosh/

• Understanding Bosh http://docs.cloudfoundry.org/bosh/understanding-bosh.html

• Bosh Source Code on github.comhttps://github.com/cloudfoundry/bosh