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

B2fefbb30aba7c25bbe0c8819791631a?s=47 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.

B2fefbb30aba7c25bbe0c8819791631a?s=128

Gunnar Grosch

September 26, 2020
Tweet

Transcript

  1. @gunnargrosch Gunnar Grosch September 26, 2020 Continuous verification for serverless

    applications AWS Community Day MENA
  2. @gunnargrosch COMMUNITY DAY MENA COMMUNITY DAY MENA Continuous verification for

    serverless applications
  3. @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
  4. @gunnargrosch COMMUNITY DAY MENA About me Background in development, operations,

    and management Organizer of user groups and conferences AWS Serverless Hero Father of three
  5. @gunnargrosch COMMUNITY DAY MENA Verification of applications

  6. @gunnargrosch COMMUNITY DAY MENA Verification of applications Verification is proactive

    experimentation for verifying system behaviors
  7. @gunnargrosch COMMUNITY DAY MENA Verification of applications Verification tells you

    why it’s important to explore a set of conditions
  8. @gunnargrosch COMMUNITY DAY MENA Verification of applications Objectives Measures Conditions

    Verify
  9. @gunnargrosch COMMUNITY DAY MENA Verification of applications Chaos engineering is

    not about breaking things
  10. @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
  11. @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
  12. @gunnargrosch COMMUNITY DAY MENA Demo

  13. @gunnargrosch COMMUNITY DAY MENA Making verification continuous

  14. @gunnargrosch COMMUNITY DAY MENA Making verification continuous “Chaos engineering should

    be done regularly” Reliability Pillar AWS Well-Architected Framework
  15. @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
  16. @gunnargrosch COMMUNITY DAY MENA Making verification continuous Continuous Verification (CV)

  17. @gunnargrosch COMMUNITY DAY MENA Making verification continuous

  18. @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
  19. @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
  20. @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
  21. @gunnargrosch COMMUNITY DAY MENA Demo

  22. @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!
  23. @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
  24. @gunnargrosch COMMUNITY DAY MENA Thank you! Gunnar Grosch @gunnargrosch