Presentation is loading. Please wait.

Presentation is loading. Please wait.

Deploying Services with BOSH

Similar presentations


Presentation on theme: "Deploying Services with BOSH"— Presentation transcript:

1 Deploying Services with BOSH
Jeffrey Peckham | Engineer Cloud Foundry

2 Who Am I? Jeffrey Peckham
– SRE in Higher Education and eCommerce. 2012 – SRE on Production Cloud Foundry 2013 – Engineer on BOSH OSCON – 3rd time attending, 1st time speaking

3 What is BOSH? A comprehensive service deployment tool.
Developed originally for Cloud Foundry. Deploys distributed software onto various IaaS providers.

4 What BOSH is not It is not a PaaS.
It is not Pacemaker, Clusterware, or other HA orchestration. It is not clever.

5 Why BOSH? Addresses the end-to-end problem of provisioning to running services. Designed for updates, provisioning is just a side-effect. Fast, predictable deploys that don't suffer from “Configuration Drift”.

6 Top Down Deployment Strategy
What do I want to deploy? What services make it up? How do those services run? What software do they need?

7 Top Down Deployment Strategy
What do I want to deploy? A search indexer What services make it up? Elastic Search How do those services run? A Single Elastic Search process. What software do they need? Java, Elastic Search

8 Job Is a process or set of processes that can be configured and monitored. What's the simplest thing I can monitor?

9 How about 'init'? $ ps -ef UID PID PPID C STIME TTY TIME CMD
root :10 ? :00:01 /sbin/init root :10 ? :00:00 [kthreadd] root :10 ? :00:01 [ksoftirqd/0] root :10 ? :00:00 [kworker/0:0H] root :10 ? :00:00 [kworker/u:0H] root :10 ? :00:00 [migration/0]

10 Demo: Initial Release and Job

11 Deploy to a BOSH What BOSH? Deploy a BOSH
BOSH-Lite (VERY ALPHA) Come talk to us

12 Stemcell A base OS image for deploying services on.
Currently an Ubuntu based image with an embedded BOSH Agent. Knows how to discover location and can phone home.

13 Deployment Manifest A description of a BOSH deployed release.
Describes What... Release Resources (Networks, Disks and VMs) Services Update behavior Settings for the Release

14 Demo: Initial Deploy

15 What did that do? Spun up a VM and monitored init.
This is where you think, 'Jolly good... who cares?'

16 Package Source Based Generates static files only, no templates
No pre/post apply scripts Built on ephemeral VMs Packaging script places files in $BOSH_INSTALL_TARGET

17 Demo: Adding Packages and Exploring an Instance

18 Demo: Updating a Service and Debugging

19 Properties Variables that can be set at deployment time and used to configure jobs. Can be scoped to single jobs or span multiple. Often to describe relationships (host / port to connect / listen to).

20 Demo: Introducing Properties

21 Scaling Define the desired instances per job and BOSH will oblige.

22 Demo: Adding Instances

23 Rolling updates Canary based deployments.
Tunable timeouts on expected update times. Supports OS base image updates. Supports rollback as separate deploy* *if release version is backwards compatible (may require roll forward)

24 Demo: Rolling update

25 Infrastructures Supported
vSphere vCloud OpenStack AWS Experimental CloudStack Warden (LXC)

26 Demo: Taking it to a new Infrastructure

27 Questions?

28 Thank You Jeffrey Peckham peckham@pivotallabs.com
twitter: abic – github: abic


Download ppt "Deploying Services with BOSH"

Similar presentations


Ads by Google