bosh - configuring services

60
BOSH configuring services Andrew Clay Shafer Gent 2015

Upload: andrew-shafer

Post on 15-Jul-2015

4.797 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Bosh - Configuring Services

BOSHconfiguring services

Andrew Clay Shafer Gent 2015

Page 2: Bosh - Configuring Services

Andrew Clay Shafer

@littleidea

Page 3: Bosh - Configuring Services

Andrew Clay Shafer

Page 4: Bosh - Configuring Services

has been very good to me

Page 5: Bosh - Configuring Services

ASK ME ABOUT PARETO INEFFICIENT NASH EQUILIBRIUMS

Page 6: Bosh - Configuring Services
Page 7: Bosh - Configuring Services

What is BOSH?

Page 8: Bosh - Configuring Services

Why is BOSH?

Page 9: Bosh - Configuring Services
Page 10: Bosh - Configuring Services

Platform as a ServiceWhatever that means…

Page 11: Bosh - Configuring Services

routers

LinuxLinuxLinux Containers

message bus

cloud controller

loggregators

controller DB

etcd

hm9000

metrics firehose

a couple dozen services

UAA

login

What even is Elastic Runtime?

service brokers

object store

stagers

Page 12: Bosh - Configuring Services

how do you manage that thing?

Page 13: Bosh - Configuring Services

if you wish to deploy a distributed system from scratch, you must

first deploy the universe

Page 14: Bosh - Configuring Services

stateful services

Elastic Runtime

“cloud”

BOSH

“metal”

configuration management™

apps (the reason we put ourselves through this)

containers

VMs

machines

Typical

fast

unfast

Page 15: Bosh - Configuring Services

distributed systems managing distributed systems managing distributed systems managing

distributed systems

Page 16: Bosh - Configuring Services

<rant>managing</rant>

Page 17: Bosh - Configuring Services

back to BOSH

Page 18: Bosh - Configuring Services

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

distributed services.

Page 19: Bosh - Configuring Services

BOSH allows individual developers and teams to easily version, package and deploy

software in a reproducible manner.

Page 20: Bosh - Configuring Services

Purposeful Goals

• Identifiability

• Reproducibility

• Consistency

• Agility

Page 21: Bosh - Configuring Services

GOALS• Identifiability - Being able to identify all of the source, tools,

environment, and other components that make up a particular release.

• Reproducibility - The ability to integrate source, third party components, data, and deployment externals of a software system in order to guarantee operational stability.

• Consistency - The mission to provide a stable framework for development, deployment, audit, and accountability for software components.

• Agility - The ongoing research into what are the repercussions of modern software engineering practices on the productivity in the software cycle, i.e. continuous integration.

Page 22: Bosh - Configuring Services

I READ IT ON THE INTERNET

Page 23: Bosh - Configuring Services

Whatever

Page 24: Bosh - Configuring Services

need to manage a large distributed system

• deployment

• configuration changes

• updates/upgrades - minimal downtime

• remediation

• scale out/scale in

• across multiple IaaS

Page 25: Bosh - Configuring Services

need to manage a large distributed system

configuration management™

necessary but not sufficient

Page 26: Bosh - Configuring Services

BOSH is a distributed package and process

orchestrator

Page 27: Bosh - Configuring Services

packages and processes

assumes knowledge…

Page 28: Bosh - Configuring Services

idempotent resource abstractions for fun and profit

desired state current state

Page 29: Bosh - Configuring Services

service centric, not server centric

Page 30: Bosh - Configuring Services

– no CEO ever

“Good job provisioning servers this year”

Page 31: Bosh - Configuring Services

highest level primitive: deployment

Page 32: Bosh - Configuring Services

Learning BOSH

Page 33: Bosh - Configuring Services

Deployment - map release to IaaS

Release - package with some jobs

Stem Cell - VM with BOSH agent

Vocabulary

Page 34: Bosh - Configuring Services

Stem Cell

Base VM with embedded BOSH agent

Page 35: Bosh - Configuring Services

Release• Manifest

• Packages

• spec

• packaged bits

• Jobs

• spec

• monit

• templates

Page 36: Bosh - Configuring Services

Deployment• releases

• compilation VMs

• canary settings

• network configurations

• resource pools (VMs, Disks, Networks)

• jobs

• job properties

Page 37: Bosh - Configuring Services

So…what happens when I deploy?

Page 38: Bosh - Configuring Services

CLI

Director

message busworker

VMsIaaS

object storage

health monitor

Page 39: Bosh - Configuring Services

Director VM

CPI

(Cloud Provider Interface)

Director Starts VMs

Page 40: Bosh - Configuring Services

Director VM

BOSH Agent Boots

Page 41: Bosh - Configuring Services

Director VM

Director Pings Agent

Page 42: Bosh - Configuring Services

Director VM

Assign Job to Agent

Page 43: Bosh - Configuring Services

BlobstoreVM

Agent Fetches Releases

Page 44: Bosh - Configuring Services

Agent Starts Jobs

Director VM

Page 45: Bosh - Configuring Services

this happens for every VM described in the

deployment

Page 46: Bosh - Configuring Services

idempotent resource abstractions for fun and profit

desired state current state

except now the resource is a running service

Page 47: Bosh - Configuring Services
Page 48: Bosh - Configuring Services

but how do I?

Page 49: Bosh - Configuring Services

don’t

Page 50: Bosh - Configuring Services

<rant> automate brokeness </rant>

Page 51: Bosh - Configuring Services
Page 52: Bosh - Configuring Services

learn you some Pareto Power Law

Page 53: Bosh - Configuring Services

Warning

Page 54: Bosh - Configuring Services

do you need a deathstar?

Page 55: Bosh - Configuring Services

is your goal to deploy a single instance of wordpress?

Page 56: Bosh - Configuring Services

maybe, maybe not?

Page 57: Bosh - Configuring Services

Learning Curve

effort

capability

That’s it

Page 58: Bosh - Configuring Services

I’m here to help

https://www.flickr.com/photos/simplebitsdan/2477674571/

Page 59: Bosh - Configuring Services

Now Hiring

Page 60: Bosh - Configuring Services

DANK

@littleidea