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.

Introduction into Cloud Foundry and Bosh | anynines

1,727 views

Published on

Introduction into Cloud Foundry and Bosh describing architecture, deployment, app staging and Cloud Foundry & Bosh self-healing capabilities.

  • Be the first to comment

Introduction into Cloud Foundry and Bosh | anynines

  1. 1. Cloud Foundry & Bosh A Cloud Love
  2. 2. In this talk you will
  3. 3. • discover the anynines stack • get known to Cloud Foundry • learn how Bosh deploys Cloud Foundry
  4. 4. Introduction
  5. 5. 100% European
  6. 6. 30+ employees
  7. 7. The anynines Stack
  8. 8. Built on approved Open Source Software
  9. 9. Cloud Foundry OpenStack VMware Hardware
  10. 10. We migrated from a Rented VMware to a self-hosted OpenStack.
  11. 11. < 30 min downtime. Read more: http://rh.gd/a9vmw2sos
  12. 12. Cloud Foundry
  13. 13. • open source software, Apache 2 license • developed by Pivotal, ~$500 mio. funding • mostly written in Ruby & Go
  14. 14. CF Architecture
  15. 15. Anynines Elastic Runtime MongoDB Service MongoDB Service Broker MongoDB Bosh MongoDB Service Clusters … Load Balancer & SSL Broker Application Router Cloud Controller Health Manager UAA Login Service NATS Messaging Bus Blob Store DEA Pool DEA VM 1 DEA VM 2 DEA VM n App Container 1 App Container 2 App Container 3 App Container 4 App Container 5 App Container n Bosh Bosh Director … Bosh Health Manager Bosh Workers Bosh Resurrector Bosh Task Queue Bosh DNS Server
  16. 16. Deploying an App
  17. 17. Anynines Elastic Runtime Blob Store Cloud Controller DEA DEA DEA App Container App Container = Droplet = Your runnable app Application Deployment cf push {meta: data} Health Manager
  18. 18. Staging an App
  19. 19. Anynines Elastic Runtime Blob Store Cloud Controller DEA DEA DEA App Container = Droplet = Your runnable app Application Staging Global Buildpacks + =
  20. 20. Anynines Elastic Runtime Blob Store Cloud Controller DEA DEA DEA App Container = Droplet = Your runnable app Application Staging Global Buildpacks +App C=ontainer
  21. 21. Scaling an App
  22. 22. cf scale myapp -i 2
  23. 23. Anynines Elastic Runtime Application Scale-Out Blob Store Cloud Controller Health Manager NATS Message Bus DEA DEA DEA App Container = Droplet = Your runnable app App Container
  24. 24. Cloud Foundry Elastic Runtime Summary
  25. 25. • Application server grid on steroids • Generic buildpack support • SCM agnostic deployments
  26. 26. Services
  27. 27. cf create-service mongodb cluster-med mydb1
  28. 28. Create Service Instance Anynines Elastic Runtime Blob Store Cloud Controller Health Manager DEA App Container App Container MongoDB Service Service Broker Example: MongoDB - Could be any other service Service Provisioner Inception VM DEA Mongo Cluster 1 VM VM VM Service Bosh Mongo Cluster 2 VM VM VM
  29. 29. cf bind-service mongodb mydb1
  30. 30. Create Service Instance Anynines Elastic Runtime MongoDB Service Blob Store Cloud Controller Health Manager DEA App Container App Container Service Broker Example: MongoDB - Could be any other service Service Provisioner Inception VM DEA Mongo Cluster 1 VM VM VM Service Bosh Mongo Cluster 2 VM VM VM {user: john, password: doe}
  31. 31. Back to the big picture Read more http://rh.gd/1E41ZqZ
  32. 32. Anynines Elastic Runtime MongoDB Service MongoDB Service Broker MongoDB Bosh MongoDB Service Clusters … Load Balancer & SSL Broker Application Router Cloud Controller Health Manager UAA Login Service NATS Messaging Bus Blob Store DEA Pool DEA VM 1 DEA VM 2 DEA VM n App Container 1 App Container 2 App Container 3 App Container 4 App Container 5 App Container n Bosh Bosh Director … Bosh Health Manager Bosh Workers Bosh Resurrector Bosh Task Queue Bosh DNS Server
  33. 33. How to deploy this multitude of services?
  34. 34. Bosh
  35. 35. • IaaS agnostic • Turnkey deployments for large distributed systems • VM orchestration • Installation automation
  36. 36. Anynines Operations Manager (Bosh) Anynines IaaS (OpenStack) Bosh Agent CF Health Manager (Process) VIRTUAL MACHINE Process Monitor CF DEA (Process) VIRTUAL MACHINE Bosh Agent Process Monitor Bosh Health Monitor Bosh Director NATS Message Bus Infrastructure Level Self-Healing CF DEA (Process) VIRTUAL MACHINE Bosh Agent Process Monitor Bosh CLI Bosh Blobstore DNS Server Bosh CPI Registry Resurrector Task Queue Task Workers VM VM VM VM VM VM VM VM
  37. 37. Bosh CPI - Cloud Provider Interface
  38. 38. Bosh CPI # Stemcell create_stemcell(image, cloud_properties) delete_stemcell(stemcell_id) ! # VM create_vm(agent_id, stemcell_id, resource_pool, networks, disk_locality, env) delete_vm(vm_id) reboot_vm(vm_id) configure_networks(vm_id, networks) ! # Disk create_disk(size, vm_locality) delete_disk(disk_id) attach_disk(vm_id, disk_id) detach_disk(vm_id, disk_id)
  39. 39. OpenStack CPI http://rh.gd/1oDezng
  40. 40. Four Layers of HA
  41. 41. 1. Application Failure ⇒ Reboot in new Container ✔ 2. Rack Failure ⇒ Availability Zones ✔ 3. PaaS Process Failure ⇒ Reboot component in a new VM ✔ 4. PaaS VM Failure ⇒ VM Monitor ⇒ Recreate VM ✔
  42. 42. Application Failure
  43. 43. Anynines Elastic Runtime Blob Store Cloud Controller Health Manager NATS Message Bus DEA DEA DEA App Container App Container App Container = Droplet = Your runnable app Application Level Self-Healing
  44. 44. Availability Zone Failure (e.g. Rack Failure)
  45. 45. Anynines Elastic Runtime Application Level Self-Healing IaaS Availability Zone 1 IaaS Availability Zone 2 IaaS Availability Zone 3 DEAs DEAs DEAs Application Container Application Container Application Container Application Container Application Container Application Container Application Container Application Container
  46. 46. PaaS Process Failure
  47. 47. Anynines Operations Manager (Bosh) Anynines IaaS (OpenStack) MACHINE Bosh Agent Process Monitor VIRTUAL CF Health Manager (Process) CF DEA (Process) VIRTUAL MACHINE Bosh Agent Process Monitor Bosh Health Monitor Bosh Director NATS Message Bus Infrastructure Level Self-Healing CF DEA (Process) VIRTUAL MACHINE Bosh Agent Process Monitor
  48. 48. PaaS VM Failure
  49. 49. Anynines Operations Manager (Bosh) Anynines IaaS (OpenStack) MACHINE Bosh Agent Process Monitor VIRTUAL CF Health Manager (Process) CF DEA (Process) VIRTUAL MACHINE Bosh Agent Process Monitor CF DEA (Process) VIRTUAL MACHINE Bosh Agent Process Monitor Bosh Health Monitor Bosh Director NATS Message Bus Infrastructure Level Self-Healing
  50. 50. Anynines Operations Manager (Bosh) Anynines IaaS (OpenStack) MACHINE Bosh Agent Process Monitor VIRTUAL CF Health Manager (Process) CF DEA (Process) VIRTUAL MACHINE Bosh Agent Process Monitor Bosh Health Monitor Bosh Director NATS Message Bus Infrastructure Level Self-Healing CF DEA (Process) VIRTUAL MACHINE Bosh Agent Process Monitor
  51. 51. Summary
  52. 52. • Cloud Foundry is a free, production ready Heroku-like PaaS • Awesome app runtime • Service orchestration • Transparent due to open source • No vendor-lock in
  53. 53. • Bosh is a cloud-ready orchestration tool • Describe a distributed-system blueprint ⇒ Bosh will build it for you. Ready to use.
  54. 54. Which part(s) should be presented in the next talk?
  55. 55. Thank you!

×