Did you know that BOSH is not the only tool for deploying the Cloud Foundry PaaS?.. Initially presented at the 2014 DevOps Summit by Andrei Yurkevich, CTO @ Altoros, this slide deck demonstrates how to deploy CF with Juju Charms and compares this orchestration solution to BOSH. It also covers overlapping features and explains when to use BOSH, Juju Charms, or both.
For more Cloud Foundry research, visit: http://www.altoros.com/research-papers
4. @yurkvch | @altoros
Cloud Foundry in a nutshell
Who is using Cloud Foundry
35 foundation members
Contributions
Cloud Foundry has had 41,963
commits made by 1,536
contributors representing 776,201
lines of code
9. @yurkvch | @altoros
How can you do it in your case?
● Rapid provisioning of dev
environment
● High availability
● Security and governance
● Authorization and access
management
● and...
10. @yurkvch | @altoros
And more!
● No IaaS vendor lock-in
● Self-healing
● Scalability
● Zero downtime upgrades
● Portability
● Minimal human involvement
11. @yurkvch | @altoros
Requirements specification
Self-healing Availability monitoring
Scalability Monitor utilization
Provision new instances
Zero downtime upgrades Rolling updates
Portability Centralized cluster management
No IaaS vendor lock-in Multiple CPI
16. @yurkvch | @altoros
BOSH fact sheet
http://docs.cloudfoundry.org/bosh/
Name Bosh Outer SHell
Start date April 2012
Major contributors Pivotal
License Apache 2.0
Languages Ruby 70%
Go 18%
XML 10%
Other 2%
Lines of code 341329
Contributors 362
Commits 17761
19. @yurkvch | @altoros
Who else can do the job?
Puppet Chef Salt Ansible Juju Bosh
Deployment lifecycle management Rolling Updates
Monitor / Health Checking
Backup and Restore
Orchestration Networking
Storage Management
VM Provisioning
Life-cycle Management
Interdependence (ability to create relations between services
without restarting deployment process)
Service Discovery Only in Enterprise With Plugin
Configuration Packaging
Templating
Service provisioning
20. @yurkvch | @altoros
Manual installation?
o Experience in creating and
deploying services
o Deep understanding of
virtualized cloud
infrastructure
o DevOps skills for many
platforms
o Knowledge of Cloud Foundry
internals
o CF is configured manually
o Human factor
o No self-healing
21. @yurkvch | @altoros
Too sweet to be true...
Puppet Chef Salt Ansible Juju Bosh
Developers adoption
Barrier to enter (complexity to study), 0-easy, 10-nightmare 5 5 2 2 4 8
Community adoption, 0-a lot of information, 10 - find necessary
information is a problem
3 2 4 2 5 8
Developers' productivity as using. Using only existing components.
0 - good, 10 - bad
2 1 2 1 0 5
Developers' productivity as using. Implementation of custom
components. 0 - good, 10 - bad
2 1 4 2 5 8
Ecosystem, 0- a lot of additional software, 10 - low level of
adoption 3-rd party software
0 0 5 2 2 5
22. @yurkvch | @altoros
Why do we need one more tool?!
BOSH:
● incredibly complicated
● limited talent availability
● no software defined networking
● limited ecosystem (data services)
24. @yurkvch | @altoros
Juju fact sheet
http://jujucharms.com
Name (Black) Magic
Start date April 2012
Major contributor Canonical
License AGPL 1.0
Languages Go 74%
JS 22%
Other 7%
Lines of code 354139
Contributors 171
Commits 14108
28. @yurkvch | @altoros
Let’s compare again
Puppet Chef Salt Ansible Juju Bosh
Deployment lifecycle management Rolling Updates*
Monitor / Health Checking
Backup and Restore
Orchestration Networking
Storage Management
VM Provisioning
Life-cycle Management
Interdependence (ability to create relations between services
without restarting deployment process)
Service Discovery Only in Enterprise With Plugin
Configuration Packaging
Templating
Service provisioning
* Rolling updates for Chef, Puppet and Juju are possible with additional customization of recepies/charms
29. @yurkvch | @altoros
● A complete stack by Canonical:
o Hardware: MAAS
o IaaS: OpenStack is deployed on
MAAS with Juju
o PaaS: Cloud Foundry is deployed atop
OpenStack using Juju
● GUI allows for designing, building,
configuring, deploying, and managing an
infrastructure
● Charm Store with hundreds of charms
● An easy switch between target
environments
Let’s do it!
32. @yurkvch | @altoros
Issues and limitations
● Juju local environment is not supported
● CF version is r180
● Limited number of service brokers
33. @yurkvch | @altoros
Current state of the project
● core CF functionality
● charms generator for new version of cf-release
● using templates from cf-release
● possibility to set placement strategy
● deployment to AWS and OpenStack
● uses pre-built packages from S3
34. @yurkvch | @altoros
Look into the future
● no “rolling updates”
● lagging support of new versions of CF
● CF juju charms use non-trivial approach to deployment:
○ default way: charm are deployed one by one and relation
are added after it.
○ cf charm way: one (orchestrator) charm is deployed and
then it manages installations of other charms. CF charm
has limited types of configurations.
35. @yurkvch | @altoros
Make your choice!
Feature description BOSH CF Deployment Juju CF Deployment
Barrier to enter
Latest CF releases
Rolling updates
Flexible Architecture Management
Strong ecosystem
Ease of Installation
36. @yurkvch | @altoros
Thank you!
Contact info:
Andrei Yurkevich
andrei.yurkevich@altoros.com
@yurkvch
Further reading:
www.altoros.com/research-papers | @altoros