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

Continuous verification for serverless applicat...

Gunnar Grosch
September 26, 2020

Continuous verification for serverless applications - AWS Community Day MENA September 26 2020

Presented at AWS Community Day MENA, September 26th, 2020.

@gunnargrosch
Serverless Chaos Demo
failure-lambda

The transition into more complex systems is accelerating and the granularity in serverless applications makes even smaller systems complex and highly distributed. Chaos engineering draws from the rich history of empirical experimentation to proactively discover vulnerabilities in these complex systems and help us verify whether or not the system behaves as expected under adverse conditions. Join as we raise the bar for how chaos engineering can be used with serverless applications and help us to continuously verify the output of the system through automation and the advantages established by CI/CD.

Gunnar Grosch

September 26, 2020
Tweet

More Decks by Gunnar Grosch

Other Decks in Technology

Transcript

  1. @gunnargrosch COMMUNITY DAY MENA “Testing to ensure that you can

    meet your availability goals is the only way you can have confidence that you will meet those goals” Reliability Pillar AWS Well-Architected Framework
  2. @gunnargrosch COMMUNITY DAY MENA About me Background in development, operations,

    and management Organizer of user groups and conferences AWS Serverless Hero Father of three
  3. @gunnargrosch COMMUNITY DAY MENA Verification of applications Objective: My purchase

    API should respond in less than 400 ms Measure: 400 ms threshold Condition: 100-200 ms latency injection to function Verify: Pass or fail
  4. @gunnargrosch COMMUNITY DAY MENA Verification of applications Objective: I want

    10 items added in cart per second Measure: 10 items added threshold Condition: Block 10 % of calls to DynamoDB through denylist Verify: Pass or fail
  5. @gunnargrosch COMMUNITY DAY MENA Making verification continuous “Chaos engineering should

    be done regularly” Reliability Pillar AWS Well-Architected Framework
  6. @gunnargrosch COMMUNITY DAY MENA Making verification continuous “Chaos engineering should

    be done regularly, and be part of your CI/CD cycle” Reliability Pillar AWS Well-Architected Framework
  7. @gunnargrosch COMMUNITY DAY MENA Making verification continuous Objective: My purchase

    API should respond in less than 400 ms Measure: 400 ms threshold Condition: 100-200 ms latency injection to function Verify: Pass Default deploy
  8. @gunnargrosch COMMUNITY DAY MENA Making verification continuous Objective: My purchase

    API should respond in less than 400 ms Measure: 400 ms threshold Condition: 100-200 ms latency injection to function Verify: Fail Canary deploy
  9. @gunnargrosch COMMUNITY DAY MENA Making verification continuous Objective: My purchase

    API should respond in less than 400 ms Measure: 400 ms threshold Condition: 100-200 ms latency injection to function Verify: Pass Feature flag
  10. @gunnargrosch COMMUNITY DAY MENA Summary Verification tells you why it’s

    important to explore a set of conditions Testing is the only way you can have confidence that you will your goals Chaos engineering is not about breaking things Chaos engineering should be done regularly It’s a lot of fun!
  11. @gunnargrosch COMMUNITY DAY MENA Do you want more? Follow @serverlesschaos

    on Twitter Serverless Chaos Demo app: https://demo.serverlesschaos.com Failure-lambda: https://github.com/gunnargrosch/failure-lambda Failure-cloudfunctions: https://github.com/gunnargrosch/failure-cloudfunctions Failure-azurefunctions: https://github.com/gunnargrosch/failure-azurefunctions Chaos-lambda: https://github.com/adhorn/aws-lambda-chaos-injection/ YouTube videos and repositories: https://grosch.se