Deploying Services
with BOSH
Jeffrey Peckham | Engineer
Cloud Foundry
Who Am I?
•
Jeffrey Peckham
2008-2012 – SRE in Higher Education and eCommerce.
2012 – SRE on Production Cloud Foundry
2013...
What is BOSH?
 A comprehensive service deployment tool.
 Developed originally for Cloud Foundry.
 Deploys distributed s...
What BOSH is not
 It is not a PaaS.
 It is not Pacemaker, Clusterware, or other HA orchestration.
 It is not clever.
Why BOSH?
 Addresses the end-to-end problem of provisioning to running services.
 Designed for updates, provisioning is ...
Top Down Deployment Strategy
 What do I want to deploy?

 What services make it up?

 How do those services run?

 ...
Top Down Deployment Strategy
 What do I want to deploy?
- A search indexer
 What services make it up?
- Elastic Search
...
Job
Is a process or set of processes that can be configured and monitored.





 What's the simplest thing I can mon...
How about 'init'?
$ ps ­ef
 UID        PID  PPID  C STIME TTY          TIME CMD
 root         1     0  0 09:10 ?        ...
Demo: Initial Release and Job
Deploy to a BOSH
 What BOSH?

 Deploy a BOSH
 http://docs.cloudfoundry.com/docs/running/deploying-cf/

 BOSH-Lite (V...
Stemcell
 A base OS image for deploying services on.

 Currently an Ubuntu based image with an embedded BOSH Agent.

...
Deployment Manifest
 A description of a BOSH deployed release.

 Describes What...
 Release
 Resources (Networks, Dis...
Demo: Initial Deploy
What did that do?
 Spun up a VM and monitored init.



 This is where you think, 'Jolly good... who cares?'
Package
 Source Based
 Generates static files only, no templates
 No pre/post apply scripts
 Built on ephemeral VMs
 ...
Demo: Adding Packages and Exploring an Instance
Demo: Updating a Service and Debugging
Properties
 Variables that can be set at deployment time and used to configure jobs.


 Can be scoped to single jobs o...
Demo: Introducing Properties
Scaling
 Define the desired instances per job and BOSH will oblige.
Demo: Adding Instances
Rolling updates
 Canary based deployments.
 Tunable timeouts on expected update times.
 Supports OS base image updates....
Demo: Rolling update
Infrastructures Supported
 vSphere
 vCloud
 OpenStack
 AWS

 Experimental
 CloudStack
 Warden (LXC)
Demo: Taking it to a new Infrastructure
Questions?
Thank You
 Jeffrey Peckham
 peckham@pivotallabs.com
 twitter: abic – github: abic
 https://github.com/abic/elasticsear...
Upcoming SlideShare
Loading in...5
×

Deploying your application on open stack using bosh presentation

459

Published on

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
459
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Deploying your application on open stack using bosh presentation

  1. 1. Deploying Services with BOSH Jeffrey Peckham | Engineer Cloud Foundry
  2. 2. Who Am I? • Jeffrey Peckham 2008-2012 – SRE in Higher Education and eCommerce. 2012 – SRE on Production Cloud Foundry 2013 – Engineer on BOSH OSCON – 3rd time attending, 1st time speaking
  3. 3. What is BOSH?  A comprehensive service deployment tool.  Developed originally for Cloud Foundry.  Deploys distributed software onto various IaaS providers.  
  4. 4. What BOSH is not  It is not a PaaS.  It is not Pacemaker, Clusterware, or other HA orchestration.  It is not clever.
  5. 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. 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. 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. 8. Job Is a process or set of processes that can be configured and monitored.       What's the simplest thing I can monitor? 
  9. 9. How about 'init'? $ ps ­ef  UID        PID  PPID  C STIME TTY          TIME CMD  root         1     0  0 09:10 ?        00:00:01 /sbin/init  root         2     0  0 09:10 ?        00:00:00 [kthreadd]  root         3     2  0 09:10 ?        00:00:01 [ksoftirqd/0]  root         5     2  0 09:10 ?        00:00:00 [kworker/0:0H]  root         7     2  0 09:10 ?        00:00:00 [kworker/u:0H]  root         8     2  0 09:10 ?        00:00:00 [migration/0]
  10. 10. Demo: Initial Release and Job
  11. 11. Deploy to a BOSH  What BOSH?   Deploy a BOSH  http://docs.cloudfoundry.com/docs/running/deploying-cf/   BOSH-Lite (VERY ALPHA)  https://github.com/cloudfoundry/bosh-lite   Come talk to us  https://groups.google.com/a/cloudfoundry.org/forum/#!forum/bosh-users 
  12. 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. 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. 14. Demo: Initial Deploy
  15. 15. What did that do?  Spun up a VM and monitored init.     This is where you think, 'Jolly good... who cares?'
  16. 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. 17. Demo: Adding Packages and Exploring an Instance
  18. 18. Demo: Updating a Service and Debugging
  19. 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. 20. Demo: Introducing Properties
  21. 21. Scaling  Define the desired instances per job and BOSH will oblige.
  22. 22. Demo: Adding Instances
  23. 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. 24. Demo: Rolling update
  25. 25. Infrastructures Supported  vSphere  vCloud  OpenStack  AWS   Experimental  CloudStack  Warden (LXC)
  26. 26. Demo: Taking it to a new Infrastructure
  27. 27. Questions?
  28. 28. Thank You  Jeffrey Peckham  peckham@pivotallabs.com  twitter: abic – github: abic  https://github.com/abic/elasticsearch-boshrelease  http://docs.cloudfoundry.com  https://githb.com/cloudfoundry/bosh  https://groups.google.com/a/cloudfoundry.org/d/forum/bosh-users  http://www.thisweekincf.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×