Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continuous delivering serverless applications i...

Continuous delivering serverless applications in the pipeline: indispensable advice from the trenches

Failure is not the opposite of success, it’s an essential part of it. Failing in a controlled and tested environment helps us to learn and improve; a core principle of continuous delivery. Serverless technology gives us the power to fail faster, and more often. Since there are no servers to manage, you can create isolated, production-like environments much faster. Because of this, it will be easier to create and run pipelines which will run faster and more stable. I will describe the challenges we faced in building serverless applications in a continuous delivery pipeline.

Kenny Baas-Schwegler

May 09, 2018
Tweet

More Decks by Kenny Baas-Schwegler

Other Decks in Technology

Transcript

  1. Kenny Baas Software Consultant - Event Stormer Domain Driven Design

    Behaviour Driven Development Continuous Delivery @kenny_baas Baasie.com blog.xebia.com/author/kbaas/
  2. You are either successful at what you are trying to

    attempt, or you will learn from it.
  3. Releasing software is too often an art; it should be

    an engineering discipline - Dave Farley
  4. • Version Control • Automated Configuration • Automated Infrastructure •

    Deployment Pipeline • Trunk Based Development • Continuous Integration • Evolutionary Architecture Steve Smith - Measuring Continuous Delivery • Database migration • Test Driven Development • Acceptance Test & Smoke test • Exploratory Testing • Dynamic Test Data • Monitoring and Alerting • Canary Deployments Continuous Delivery Technology Changes
  5. Dave Farley - Continuous Delivery Build 1. Compile 2. Unit

    Test 3. Analyse Acceptance Test (Production Like) 1. Configure Environment 2. Deploy Release Candidate 3. Smoke Test/Health Check 4. Acceptance Test Staging Production Release Candidate
  6. Recap → Try{} Catch{} → Learn how to deal with

    failure, and learn from it. → Keep the feedback loop short. → Code, Infra, Pipeline all as Code in your repo and Release Candidate → Discover the bounded context for your pipeline with Event Storming/DDD → Easy setup, but be careful at your configuration!! → Pick your tool for the job. → Incorporate Acceptance Testing from the beginning https://gitlab.com/Baasie/continuous-delivery-faas/
  7. Q&A