Building & testing Cloud applications locally using LocalStack

With the dominance of various cloud service providers, engineering teams across the globe are looking to focus their time and energy on optimizing their cloud development, testing & deployment workflows. It is often slow and tedious and doesn't serve the purpose, with teams left to demystify their cloud development workflows to be more efficient. These traditional deploy & test cycles often lead to an inefficient idle time where deployment needs to be triggered more than once during testing & debugging.

LocalStack is a cloud service emulator that runs in a single container on your laptop or in your CI environment. Using LocalStack, you can spin up a local test environment in seconds and get the same functionality you would get from a real AWS environment. With over 41,000+ GitHub Stargazers and 10,000+ users worldwide, LocalStack supports many AWS services, like AWS Lambda, S3, DynamoDB, Kinesis, SQS, SNS, and many more!

The advantages of using LocalStack are huge:

  • No cost for creating cloud services & resources.
  • No overhead infrastructure management for testing & integration.
  • No need to be online to test changes and use the self-contained package inside a Docker container.
  • Easy integration with various AWS & non-AWS services, including CI/CD pipelines and IaaC toolings.

Apart from supporting engineers in improving their inefficient development & testing loops, LocalStack also has a lot of exciting development around our core Python stack. This talk will demonstrate Amazon Service Framework (ASF), our in-built service which allows us to add support for new AWS services in LocalStack and update existing ones. Using the Botocore's availability of a low-level interface of AWS APIs, ASF automates the process of updating our APIs using the LocalStack edge proxy service.