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

Continuous verification for serverless applicat...

Continuous verification for serverless applications By Gunnar Grosch

Continuous verification for serverless applications
By Gunnar Grosch

AWS MENA Community

September 26, 2020
Tweet

More Decks by AWS MENA Community

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