filmov
tv
Community Event — Building Amplify apps locally & cloud integration testing with LocalStack!

Показать описание
In the last meetup, we discussed about developing & testing Lambda function and IAM configurations locally! In this community event, we will explore about technologies which you can leverage alongside LocalStack for a smooth cloud development & testing experience.
This community event will feature two talks on getting started with Amplify on LocalStack for a fully-local application development experience, and leveraging Testcontainers with LocalStack to write integration tests for your cloud application. During the event, we will dive deep down into the integrations that leverages LocalStack's cloud emulation capabilities to help you succeed as a cloud application developer.
1. Getting started with Amplify for full-stack development on LocalStack by Cristopher Pinzón
AWS Amplify is an abstraction over various AWS Services such as DyanmoDB, Cognito, AppSync, Lambda, S3 and more. With all these at your disposal, Amplify can serve as your single point of contact with all your cloud resources, thus reducing the work-load and improving the developer experience! Amplify is now widely being used for full-stack web & mobile app development, but what about the local development experience?
With the Amplify framework, you can use the Amplify Command Line Interface (CLI) as a unified toolchain to create, integrate, and manage the cloud services for your app. You can also start a mock server with Amplify, which includes directives from the GraphQL Transformer, editing & debug resolvers, hot reloading, and more! However the mock setup can be troublesome since the full behaviour is not replicated and just a basic functionality is provided.
So how can we ease the process of building & testing the Amplify apps? This is where LocalStack comes in. LocalStack supports AWS Amplify via a lightweight wrapper script called amplifylocal and an Amplify CLI Plugin. amplifylocal enables developers to use the Amplify JS library against LocalStack’s emulated APIs, as a drop-in replacement for the standard amplify CLI command, and to create resources directly on your local machine.
In this session, you will learn how you can build & test your Amplify apps locally with a full end-to-end replication of your production environment via local cloud sandboxes provided by LocalStack in order to test your application locally, including the GraphQL backend and more!
2. Cloud Integration Testing made easy with LocalStack & Testcontainers by Anca Ghenade
Integration testing is complicated as it is, even more so when third-party services are involved, but cloud-native AWS applications that rely on managed services are especially tough to test. Cloud integration tests are particularly challenging due to the high complexity of the interconnected services, dependency management, deployment and provisioning intricacies, and potentially high costs.
So how can we bring the ease and speed of unit tests into these integration tests? Ideally, we’d like to use a local setup where we can quickly spin up and deploy our services in an emulated environment that’s as close as possible to the real deal. By simulating real-world scenarios and testing the integration of various parts of the system, these tests help us identify and resolve issues early in the development process.
This is where Testcontainers and LocalStack work beautifully together to bring you the best of integration tests and cloud services on your machine. We’ll explore how we can enhance the testability of an application that relies on AWS services and vastly increase the test coverage of our applications without any need for mocking or remote AWS sandbox accounts.
Testing your AWS-powered application with LocalStack and Testcontainers conveys isolation, speed, cost, and flexibility, making it effortless to get started with writing integration tests for your cloud application.
Social & Community
This community event will feature two talks on getting started with Amplify on LocalStack for a fully-local application development experience, and leveraging Testcontainers with LocalStack to write integration tests for your cloud application. During the event, we will dive deep down into the integrations that leverages LocalStack's cloud emulation capabilities to help you succeed as a cloud application developer.
1. Getting started with Amplify for full-stack development on LocalStack by Cristopher Pinzón
AWS Amplify is an abstraction over various AWS Services such as DyanmoDB, Cognito, AppSync, Lambda, S3 and more. With all these at your disposal, Amplify can serve as your single point of contact with all your cloud resources, thus reducing the work-load and improving the developer experience! Amplify is now widely being used for full-stack web & mobile app development, but what about the local development experience?
With the Amplify framework, you can use the Amplify Command Line Interface (CLI) as a unified toolchain to create, integrate, and manage the cloud services for your app. You can also start a mock server with Amplify, which includes directives from the GraphQL Transformer, editing & debug resolvers, hot reloading, and more! However the mock setup can be troublesome since the full behaviour is not replicated and just a basic functionality is provided.
So how can we ease the process of building & testing the Amplify apps? This is where LocalStack comes in. LocalStack supports AWS Amplify via a lightweight wrapper script called amplifylocal and an Amplify CLI Plugin. amplifylocal enables developers to use the Amplify JS library against LocalStack’s emulated APIs, as a drop-in replacement for the standard amplify CLI command, and to create resources directly on your local machine.
In this session, you will learn how you can build & test your Amplify apps locally with a full end-to-end replication of your production environment via local cloud sandboxes provided by LocalStack in order to test your application locally, including the GraphQL backend and more!
2. Cloud Integration Testing made easy with LocalStack & Testcontainers by Anca Ghenade
Integration testing is complicated as it is, even more so when third-party services are involved, but cloud-native AWS applications that rely on managed services are especially tough to test. Cloud integration tests are particularly challenging due to the high complexity of the interconnected services, dependency management, deployment and provisioning intricacies, and potentially high costs.
So how can we bring the ease and speed of unit tests into these integration tests? Ideally, we’d like to use a local setup where we can quickly spin up and deploy our services in an emulated environment that’s as close as possible to the real deal. By simulating real-world scenarios and testing the integration of various parts of the system, these tests help us identify and resolve issues early in the development process.
This is where Testcontainers and LocalStack work beautifully together to bring you the best of integration tests and cloud services on your machine. We’ll explore how we can enhance the testability of an application that relies on AWS services and vastly increase the test coverage of our applications without any need for mocking or remote AWS sandbox accounts.
Testing your AWS-powered application with LocalStack and Testcontainers conveys isolation, speed, cost, and flexibility, making it effortless to get started with writing integration tests for your cloud application.
Social & Community