What Happened

Select a session to learn more about it.

  • Ali Haydar
  • How To Test Serverless Applications In AWS
    Ali Haydar
    99 Minute Workshop

    How To Test Serverless Applications In AWS

    What

    99 Minute Workshop

    Description

    In the past few years, serverless architecture has become very popular, as it removed the burden of managing infrastructure, such as servers, storage, databases, scalability, etc.

    With this simplicity comes a few challenges around testing:
    Testing locally is complex due to the distributed nature of serverless applications.
    On the opposite of monoliths applications, where most of the risk lies in the actual code implementation, the risk increases in serverless apps around configuration and integration, making our integration tests more critical.

    What are we supposed to test? How do we test our app on both unit and integration levels? How can we make sure our app will work properly in a live environment, given we've mocked other services while developing on our local? How can we test the interaction with the cloud services (AWS services in this case) without having to test the service itself?

    We will try to answer these questions by going over a project that uses some AWS serverless services and detailing its testing from A to Z. We will touch on the following as part of this meetup:

    • Introduction to services used in the project
    • Unit testing using Jest and bash
    • Integration testing
    • Deployment and traffic shifting in CodeDeploy

     

    Takeaways

    • Describe how serverless apps work and identify the serverless components used in the project
    • Create unit tests for the serverless components used and outline their importance
    • Create lambda hooks and identify their relationship to integration tests and safe deployment

    Prerequisites

    Basic knowledge in using command line and bash script and basic knowledge of Javascript.

    Below are a few steps that would help setting up the local environment:

     

    (Optional) Most of the work will happen in the local environment. However, if you wish to follow through with the deployment on AWS, you would need to create an AWS account: https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account/.

    Speaker

    Ali Haydar
    Ali Haydar
    Software Engineer
    I am a software engineer passionate about building and delivering high-quality software. My expertise ranges from getting into the nitty-gritty details of code (mainly JavaScript and infrastructure) to leading teams, designing software solutions, testing them and communicating progress. I believe that good software is built through collaboration and communication, so I am a big fan of the DevOps ways of working. I am excited about solving real-world problems, mainly with technology (sometimes it starts operationally and then gets automated). I do not know many things, but I know how to learn them efficiently and rapidly. My untraditional career path has equipped me with versatility across the software lifecycle, with a depth of knowledge in a few vital areas and a breadth that covers all the necessary tasks. I had the opportunities to work in multiple roles in the software industry, starting with testing, development, and product/project management. I love learning and sharing my knowledge - currently part of the AWS Community Builders program, which offers technical resources, mentorship and networking opportunities. Check my latest blog posts at: https://ahaydar.github.io/#/blog.

    Frequently Asked Questions

    Are the Workshops Recorded?

    Our 99-minute workshops are designed to be attended live. If you can’t make the scheduled time, we will add highlights of the workshop in the future once the workshops are complete.