continuous delivery of the cloud foundry platform (as a service!)
TRANSCRIPT
Continuous Delivery of the Cloud Foundry Platform (as a service!)
Tushar DadlaniCloud Operations
Pivotal
@tushardadlani
Why should you continuously deliver your platform?
There is no real business value in maintaining the computing infrastructure and the platform. Real business value lies in your applications.
@tushardadlani
Top 3 lessons learned1. Humans are error prone, computer programs are testable.
2. Given room for failure, your team will achieve great things.
3. Continuous improvement of the team is the goal and not CI or CD.
@tushardadlani
Continuous delivery
Continuously delivery is like flying an airplane. Autopilot is awesome, but to be safe you need humans.
@tushardadlani
Pivotal Web Services• Latest OSS Cloudfoundry • PCF Service Marketplace • Apps Manager • Real customers ~ 1000s of apps • Multi-tenant
@tushardadlani
Cloudfoundry CI/CD Experience
• App Developer: cf push
• Operator:
✦bosh deploy?
✦Ops Manager deploy button ?
✦What do I do about missing properties?
✦What are the potential side effects of these changes?
@tushardadlani
Checklist - cons
• High human processing time.
• Communication between different groups of people.
• People forget to update checklists.
@tushardadlani
Checklist -> GoCD• Automate boring, predictable and
obvious parts from the checklist.
• Reduce time spent on deploying and updating the platform and services.
• Ability to consume artifacts from other teams
@tushardadlani
GoCD - pros
• Scripting logic can live in code
• Artifacts from different team’s pipelines upstream to you, can be consumed easily
@tushardadlani
GoCD - cons• Too much clicking with hard to
navigate UI
• Pipelines stored centrally as huge XML files, hard to version
• Hard to reuse work of other teams
@tushardadlani
GoCD - verdict
• Higher sense of predictability compared to checklists.
• Higher automation than checklists.
@tushardadlani
GoCD -> Concourse• Very hard to add a new task in your
workflow.
• Simple changes to a script might involve a lot of clicking.
• Avoids corruption of build directory
• First class primitives for BOSH and CF@tushardadlani
Concourse - pros
• YAML pipelines
• Reusable pipelines and tasks.
• Ability to version pipelines
• Containerized tasks
@tushardadlani
Concourse - cons• Started trying it out in alpha stage.
• Maintaining the concourse server can be non trivial at times.
• New team members might find it hard to understand your new CI/CD system and the workflows.
@tushardadlani
Overall wins• Easy CI/CD replication for new IaaS
• Pivotal is working towards shipping updates via pipelines
• Lower time to onboard new team that needs to deploy to production
@tushardadlani
Top 3 lessons learned1. Humans are error prone, computer programs are testable.
2. Given room for failure, your team will achieve great things.
3. Continuous improvement of the team is the goal and not CI or CD.
@tushardadlani
Things you can do1. Allow room for failure within your culture and take baby steps.
2. Test your CI/CD scripts.
3. Work towards standardizing the technology not the people.
@tushardadlani