Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.