what is bosh? an over-overview

13
@eljuanchos f What is BOSH? An over-overview Juan Pablo Genovese Cloud Engineer

Upload: juan-pablo-genovese

Post on 11-Apr-2017

133 views

Category:

Software


1 download

TRANSCRIPT

Page 1: What is BOSH? An over-overview

@eljuanchosf

What is BOSH?An over-overview

Juan Pablo GenoveseCloud Engineer

Page 2: What is BOSH? An over-overview

@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

Page 3: What is BOSH? An over-overview

@eljuanchosf@eljuanchosf

Configuration management today

Chef

Puppet

Ansible

Terraform + Packer

BOSH

Page 4: What is BOSH? An over-overview

@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

Page 5: What is BOSH? An over-overview

@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

Page 6: What is BOSH? An over-overview

@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.

Page 7: What is BOSH? An over-overview

@eljuanchosf

Director NATS

Registry

BlobstoreHealth Monitor

Postgres

IaaS

VM(s)

Agent

IaaS API

CPI

BOSH CLI

BOSH Installation

Page 8: What is BOSH? An over-overview

@eljuanchosf@eljuanchosf

The three flavors of BOSH

(full)

BOSH Director-VM(former MicroBOSH)

BOSHLite

Page 9: What is BOSH? An over-overview

@eljuanchosf@eljuanchosf

A BOSH deployment

Stemcell+

Release+

Deployment manifest

Page 10: What is BOSH? An over-overview

@eljuanchosf@eljuanchosf

A BOSH stemcell

Base OS

BOSH Agent

Default configuration and tools

Page 11: What is BOSH? An over-overview

@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)

Page 12: What is BOSH? An over-overview

@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

Page 13: What is BOSH? An over-overview

@eljuanchosf

DEMO!