Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Continuous Delivery for
Microservice Architectures
with Concourse & Cloud Foundry
Alex Ley
@alexevade
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
INTRO
Alex Ley
Building the Cloud
Pivotal
@alexevade
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
1. Introduction to Continuous
Delivery for Microservices.
2. Spring Boot Trader.
3. Build a Delivery Pipeline with
Concourse & Cloud Foundry.
4. Getting Started Materials.
What will we cover?
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Continuous Delivery?
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
“Continuous Delivery is a software
development discipline where you build
software in such a way that the software
can be released to production at any time.”
Martin Fowler
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Continuous Integration
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Why is Continuous
Delivery different for
Microservice
Architectures?
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
It’s not.
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
There are just many more things to
integrate, deliver and operate.
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
µService CD Challenges
• Teams want to move fast.
• Organizations expect systems to
work!
• Service discovery & compatibility.
• Asynchronicity & Ops at scale.
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
We don’t want to
deliver a monolith in
lots of parts!
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
But fear not…
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
“Concourse was dreamt up and
built while working on the
Cloud Foundry project and
experiencing the interesting CI
and CD challenges that it has.”
http://concourse.ci/
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring Boot Trader
By David Pinto
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring Boot Trader
By David Pinto
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Let’s create a simple
Delivery Pipeline for a
SpringBootTrader component
with Concourse
& Cloud Foundry!
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
1. The quote service will be used by
many systems.
2. Production already has Spring
Cloud Services created.
3. We want to deploy the service
every commit that passes CI.
Assumptions
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
1. Independently deployable services.
2. Detect committed changed.
3. Run unit tests.
4. Deploy & setup dependencies.
5. Integration test.
6. Deploy to production!
Pipeline Goals
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
KEEP CALM
AND
PREPARE
FOR
TAKEOFF
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
1. Independently deployable services.
2. Smoke tests to monitor system
health.
3. Be disciplined about service
versioning - breaking changes hurt.
4. Deploy to production often.
5. Leave an audit trail.
Recap
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
“Concourse + Cloud Foundry makes
it simple to create repeatable
and robust pipeline(s) to
test, integrate and deploy complex
systems”
@alexevade, just now, here.
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
vagrant init concourse/lite
vagrant up
https://concourse.ci/hello-world.html
Tutorial:
https://github.com/starkandwayne/concourse-tutorial
GETTING STARTED WITH
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
PCF Concourse Tile v1.0.0
Coming Q4 2016
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Docs:
https://docs.pivotal.io/pcf-dev/
Download:
https://network.pivotal.io/products/pcfdev/
GETTING STARTED WITH
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Github:
https://github.com/pivotal-bank/cf-
SpringBootTrader
Workshops:
https://github.com/pivotal-bank/cf-SpringBootTrader/
tree/master/docs
GETTING STARTED WITH SpringBootTrader
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
1. Introduction to Continuous
delivery for Microservices
2. Spring Boot Trader System
3. Built a Delivery Pipeline with
Concourse & Cloud Foundry
4. Getting Started Materials
What did we cover?
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative
Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Thanks
for
joining
Catch me on twitter @alexevade

Continuous Delivery for Microservice Architectures with Concourse & Cloud Foundry

  • 1.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Continuous Delivery for Microservice Architectures with Concourse & Cloud Foundry Alex Ley @alexevade
  • 2.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ INTRO Alex Ley Building the Cloud Pivotal @alexevade
  • 3.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 1. Introduction to Continuous Delivery for Microservices. 2. Spring Boot Trader. 3. Build a Delivery Pipeline with Concourse & Cloud Foundry. 4. Getting Started Materials. What will we cover?
  • 4.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Continuous Delivery?
  • 5.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ “Continuous Delivery is a software development discipline where you build software in such a way that the software can be released to production at any time.” Martin Fowler
  • 6.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Continuous Integration
  • 7.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Why is Continuous Delivery different for Microservice Architectures?
  • 8.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ It’s not.
  • 9.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ There are just many more things to integrate, deliver and operate.
  • 10.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ µService CD Challenges • Teams want to move fast. • Organizations expect systems to work! • Service discovery & compatibility. • Asynchronicity & Ops at scale.
  • 11.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ We don’t want to deliver a monolith in lots of parts!
  • 12.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  • 13.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ But fear not…
  • 14.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  • 15.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  • 16.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ “Concourse was dreamt up and built while working on the Cloud Foundry project and experiencing the interesting CI and CD challenges that it has.” http://concourse.ci/
  • 17.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Boot Trader By David Pinto
  • 18.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Boot Trader By David Pinto
  • 19.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  • 20.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Let’s create a simple Delivery Pipeline for a SpringBootTrader component with Concourse & Cloud Foundry!
  • 21.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 1. The quote service will be used by many systems. 2. Production already has Spring Cloud Services created. 3. We want to deploy the service every commit that passes CI. Assumptions
  • 22.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 1. Independently deployable services. 2. Detect committed changed. 3. Run unit tests. 4. Deploy & setup dependencies. 5. Integration test. 6. Deploy to production! Pipeline Goals
  • 23.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ KEEP CALM AND PREPARE FOR TAKEOFF
  • 24.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 1. Independently deployable services. 2. Smoke tests to monitor system health. 3. Be disciplined about service versioning - breaking changes hurt. 4. Deploy to production often. 5. Leave an audit trail. Recap
  • 25.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ “Concourse + Cloud Foundry makes it simple to create repeatable and robust pipeline(s) to test, integrate and deploy complex systems” @alexevade, just now, here.
  • 27.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ vagrant init concourse/lite vagrant up https://concourse.ci/hello-world.html Tutorial: https://github.com/starkandwayne/concourse-tutorial GETTING STARTED WITH
  • 28.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ PCF Concourse Tile v1.0.0 Coming Q4 2016
  • 29.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Docs: https://docs.pivotal.io/pcf-dev/ Download: https://network.pivotal.io/products/pcfdev/ GETTING STARTED WITH
  • 30.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Github: https://github.com/pivotal-bank/cf- SpringBootTrader Workshops: https://github.com/pivotal-bank/cf-SpringBootTrader/ tree/master/docs GETTING STARTED WITH SpringBootTrader
  • 31.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 1. Introduction to Continuous delivery for Microservices 2. Spring Boot Trader System 3. Built a Delivery Pipeline with Concourse & Cloud Foundry 4. Getting Started Materials What did we cover?
  • 32.
    Unless otherwise indicated,these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Thanks for joining Catch me on twitter @alexevade