28
Continuous Delivery of the Cloud Foundry Platform (as a service!) Tushar Dadlani Cloud Operations Pivotal @tushardadlani

Continuous Delivery of the Cloud Foundry Platform (as a service!)

Embed Size (px)

Citation preview

Page 1: Continuous Delivery of the Cloud Foundry Platform (as a service!)

Continuous Delivery of the Cloud Foundry Platform (as a service!)

Tushar DadlaniCloud Operations

Pivotal

@tushardadlani

Page 2: Continuous Delivery of the Cloud Foundry Platform (as a service!)

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

Page 3: Continuous Delivery of the Cloud Foundry Platform (as a service!)

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

Page 4: Continuous Delivery of the Cloud Foundry Platform (as a service!)

Continuous Delivery

Image: https://wikipedia.org

@tushardadlani

Page 5: Continuous Delivery of the Cloud Foundry Platform (as a service!)

Continuous delivery

Continuously delivery is like flying an airplane. Autopilot is awesome, but to be safe you need humans.

@tushardadlani

Page 6: Continuous Delivery of the Cloud Foundry Platform (as a service!)

Pivotal Web Services• Latest OSS Cloudfoundry • PCF Service Marketplace • Apps Manager • Real customers ~ 1000s of apps • Multi-tenant

@tushardadlani

Page 7: Continuous Delivery of the Cloud Foundry Platform (as a service!)

Cloud Operations

Goal

High Predictability High Automation

@tushardadlani

Page 8: Continuous Delivery of the Cloud Foundry Platform (as a service!)

Cloud Operations

Reality

Low Predictability Low Automation

@tushardadlani

Page 9: Continuous Delivery of the Cloud Foundry Platform (as a service!)

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

Page 10: Continuous Delivery of the Cloud Foundry Platform (as a service!)

How we have delivered CF?

• Checklist

• GoCD

• Concourse

@tushardadlani

Page 11: Continuous Delivery of the Cloud Foundry Platform (as a service!)

Checklist

@tushardadlani

Page 12: Continuous Delivery of the Cloud Foundry Platform (as a service!)

Checklist - pros

• Easy to understand for a new team member.

• Very verbose.

@tushardadlani

Page 13: Continuous Delivery of the Cloud Foundry Platform (as a service!)

Checklist - cons

• High human processing time.

• Communication between different groups of people.

• People forget to update checklists.

@tushardadlani

Page 14: Continuous Delivery of the Cloud Foundry Platform (as a service!)

Checklist - verdict

• High sense of predictability

• Low automation

@tushardadlani

Page 15: Continuous Delivery of the Cloud Foundry Platform (as a service!)

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

Page 16: Continuous Delivery of the Cloud Foundry Platform (as a service!)

GoCD

• Continuous delivery server provided by Thoughtworks.

@tushardadlani

Page 17: Continuous Delivery of the Cloud Foundry Platform (as a service!)

GoCD - pros

• Scripting logic can live in code

• Artifacts from different team’s pipelines upstream to you, can be consumed easily

@tushardadlani

Page 18: Continuous Delivery of the Cloud Foundry Platform (as a service!)

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

Page 19: Continuous Delivery of the Cloud Foundry Platform (as a service!)

GoCD - verdict

• Higher sense of predictability compared to checklists.

• Higher automation than checklists.

@tushardadlani

Page 20: Continuous Delivery of the Cloud Foundry Platform (as a service!)

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

Page 21: Continuous Delivery of the Cloud Foundry Platform (as a service!)

Concourse

Open Source CI developed at Pivotal@tushardadlani

Page 22: Continuous Delivery of the Cloud Foundry Platform (as a service!)

Concourse - pros

• YAML pipelines

• Reusable pipelines and tasks.

• Ability to version pipelines

• Containerized tasks

@tushardadlani

Page 23: Continuous Delivery of the Cloud Foundry Platform (as a service!)

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

Page 24: Continuous Delivery of the Cloud Foundry Platform (as a service!)

Concourse - verdict

• High Predictability

• High Automation

@tushardadlani

Page 25: Continuous Delivery of the Cloud Foundry Platform (as a service!)

Overall wins

• Easy CI/CD replication for new IaaSes

• Pivotal is working towards shipping updates via pipelines

• Lower time to onboard new team that needs to deploy to production

@tushardadlani

Page 26: Continuous Delivery of the Cloud Foundry Platform (as a service!)

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 continuous integration or continuous delivery.

@tushardadlani

Page 27: Continuous Delivery of the Cloud Foundry Platform (as a service!)

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

Page 28: Continuous Delivery of the Cloud Foundry Platform (as a service!)

Tushar Dadlani

@tushardadlani

@tushardadlani