Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Bosh - Configuring Services

7,822 views

Published on

Configuration Management Camp presentation on the why and what of BOSH. Highlights the 'why' of deploying Cloud Foundry Elastic Runtime and the design decisions to do that.

Published in: Technology

Bosh - Configuring Services

  1. 1. BOSH configuring services Andrew Clay Shafer Gent 2015
  2. 2. Andrew Clay Shafer @littleidea
  3. 3. Andrew Clay Shafer
  4. 4. has been very good to me
  5. 5. ASK ME ABOUT PARETO INEFFICIENT NASH EQUILIBRIUMS
  6. 6. What is BOSH?
  7. 7. Why is BOSH?
  8. 8. Platform as a Service Whatever that means…
  9. 9. routers Linux LinuxLinux 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
  10. 10. how do you manage that thing?
  11. 11. if you wish to deploy a distributed system from scratch, you must first deploy the universe
  12. 12. stateful services Elastic Runtime “cloud” BOSH “metal” configuration management™ apps (the reason we put ourselves through this) containers VMs machines Typical fast unfast
  13. 13. distributed systems managing distributed systems managing distributed systems managing distributed systems
  14. 14. <rant>managing</rant>
  15. 15. back to BOSH
  16. 16. BOSH is an open source tool chain for release engineering, deployment, and lifecycle management of large-scale distributed services.
  17. 17. BOSH allows individual developers and teams to easily version, package and deploy software in a reproducible manner.
  18. 18. Purposeful Goals • Identifiability • Reproducibility • Consistency • Agility
  19. 19. 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.
  20. 20. I READ IT ON THE INTERNET
  21. 21. Whatever
  22. 22. need to manage a large distributed system • deployment • configuration changes • updates/upgrades - minimal downtime • remediation • scale out/scale in • across multiple IaaS
  23. 23. need to manage a large distributed system configuration management™ necessary but not sufficient
  24. 24. BOSH is a distributed package and process orchestrator
  25. 25. packages and processes assumes knowledge…
  26. 26. idempotent resource abstractions for fun and profit desired state current state
  27. 27. service centric, not server centric
  28. 28. – no CEO ever “Good job provisioning servers this year”
  29. 29. highest level primitive: deployment
  30. 30. Learning BOSH
  31. 31. Deployment - map release to IaaS Release - package with some jobs Stem Cell - VM with BOSH agent Vocabulary
  32. 32. Stem Cell Base VM with embedded BOSH agent
  33. 33. Release • Manifest • Packages • spec • packaged bits • Jobs • spec • monit • templates
  34. 34. Deployment • releases • compilation VMs • canary settings • network configurations • resource pools (VMs, Disks, Networks) • jobs • job properties
  35. 35. So…what happens when I deploy?
  36. 36. CLI Director message bus worker VMs IaaS object storage health monitor
  37. 37. Director VM CPI (Cloud Provider Interface) Director Starts VMs
  38. 38. Director VM BOSH Agent Boots
  39. 39. Director VM Director Pings Agent
  40. 40. Director VM Assign Job to Agent
  41. 41. BlobstoreVM Agent Fetches Releases
  42. 42. Agent Starts Jobs VM
  43. 43. this happens for every VM described in the deployment
  44. 44. idempotent resource abstractions for fun and profit desired state current state except now the resource is a running service
  45. 45. but how do I?
  46. 46. don’t
  47. 47. <rant> automate brokeness </rant>
  48. 48. learn you some Pareto Power Law
  49. 49. Warning
  50. 50. do you need a deathstar?
  51. 51. is your goal to deploy a single instance of wordpress?
  52. 52. maybe, maybe not?
  53. 53. Learning Curve effort capability That’s it
  54. 54. I’m here to help https://www.flickr.com/photos/simplebitsdan/2477674571/
  55. 55. Now Hiring
  56. 56. DANK @littleidea

×