What is BOSH? An over-overview

Post on 11-Apr-2017

134 views 1 download

Transcript of What is BOSH? An over-overview

@eljuanchosf

What is BOSH?An over-overview

Juan Pablo GenoveseCloud Engineer

@eljuanchosf

Yours truly...

Juan Pablo Genovese (aka J.P.)

Cloud Engineer

A bit about me

● Absolutely passionate about teaching and dancing Tango

● Plays guitar and sings.● Have two dogs (a Giant

schnauzer and a Boxer)● Loves meeting people and

talking about pretty much everything

Keep in touch!

● 19 years in the IT business, in different industries.

● From S/390 to Cloud environments.● From COBOL to microservices.● 3.5 years working with Cloud

Foundry.● Loves working on system

architectures, enabling companies in the Cloud World and delivering trainings.

@eljuanchosfjuanpgenovese

@eljuanchosf@eljuanchosf

Configuration management today

Chef

Puppet

Ansible

Terraform + Packer

BOSH

@eljuanchosf@eljuanchosf

BOSH

“... unifies release engineering, deployment, and lifecycle management of small and large-scale cloud software.”

Provision and deploy software

Monitoring

Failure recovery

Software updates with zero-to-minimal downtime

@eljuanchosf@eljuanchosf

BOSH

Complies with the four principles of Release Engineering:

Identifiability

Reproducibility

Consistency

Agility

Well suited for large, distributed systems

Support many IaaS providers

Very active, friendly and responsive community

Born to deploy Cloud Foundry, now used to deploy all kinds of software

@eljuanchosf@eljuanchosf

When use BOSH?

When you want to avoid coupling with IaaS.

When you are working with a distributed system.

When you want lifecycle management.

When you want to manage and test deployments upgrades/rollbacks on different environments.

@eljuanchosf

Director NATS

Registry

BlobstoreHealth Monitor

Postgres

IaaS

VM(s)

Agent

IaaS API

CPI

BOSH CLI

BOSH Installation

@eljuanchosf@eljuanchosf

The three flavors of BOSH

(full)

BOSH Director-VM(former MicroBOSH)

BOSHLite

@eljuanchosf@eljuanchosf

A BOSH deployment

Stemcell+

Release+

Deployment manifest

@eljuanchosf@eljuanchosf

A BOSH stemcell

Base OS

BOSH Agent

Default configuration and tools

@eljuanchosf@eljuanchosf

A BOSH release

Jobs (describe pieces of the service or application you are releasing)

Packages (provide source code and dependencies to jobs)

Blobs (provide binary files for packages)

Source (provides non-binary files to packages)

Config (general configuration options for the release)

@eljuanchosf@eljuanchosf

A BOSH deployment manifest

Deployment Identification: deployment name and the director UUID

Releases: name and version of each release in a deployment

Networks: network configuration information

Resource Pools: properties of VMs that BOSH creates and manages

Disk Pools: properties of disk pools that BOSH creates and manages

Compilation: properties of compilation VMs

Update: defines how BOSH updates job instances during deployment

Jobs: configuration and resource information for jobs

Properties: describes global properties and generalized configuration information

@eljuanchosf

DEMO!