Getting Started: Intro to AWS Amplify: build a multi-tenant SaaS app

What is this?

As we get started with the new year I thought I’d take the opportunity to start publishing a different type of article this year. Today begins a new series of articles where I will walk through the process of building out a web application using AWS Amplify. It will be a typical todo application written in React and Node JS and we’ll use the Amplify CLI to configure and deploy it into both a test and production environment.

Due to the size of this project, it is split up into 6 parts, each containing instructions to get your first Amplify project published. I will be releasing the other articles in the coming days and will link to them in the table below.


Part Description
Preparation This article (Current Page) provides an introduction and instructions on creating the required AWS environment.
App Setup This section outlines the steps to set up out new Amplify application and host it in a repository.
Deployment Setup Now that we have our base application configured, we can set up our deployment pipelines
Application Development In this article, we start building out the functionality of our applications
Trigger Deployment Next, we can go ahead and push our changes into our automated pipelines
Adding Search Finally, we can add some search functionality to our application and deploy our changes to production

What is AWS Amplify

AWS Amplify is an Open Source library under Apache 2.0 for developers looking to build cloud-connected applications with JavaScript on the web or mobile platforms. AWS Amplify is designed to give a declarative interface to client developers looking to perform common actions using cloud services in a scalable and secure manner.

The AWS Amplify library modules are broken down into categories (Auth, Analytics, Storage, APIs, Caching) to quickly add features such as User SignUp/SignIn, MFA, tracking or metric analytics, content management or Serverless API integration. The library also has internationalization and localization for multi-language support, as well as caching capabilities. Finally, there are components and extensions to React and React Native, allowing developers writing applications on those platforms to add these capabilities with framework-specific standards. JavaScript developers can also use the library to build their own custom UI components, such as custom authentication flows. AWS Amplify is designed to be extended with different implementations among community and partner contributors.


Before we get started

in order to follow along with this series, you’ll need to already have the following:


  • AWS Account We will be using AWS as our Cloud provider. sign-up here if you don’t already have one
  • Github Account to download this repository into your Cloud9 instance.

for the purposes of this series, we will be deploying all of our resources in the us-east-1 region.

The first step once you’ve got your AWS account is to create a Cloud9 instance that will house the project and provide an IDE from which to work. Cloud9 is a cloud-based IDE that allows you to develop applications within your web browser. More information on Cloud9 can be found on its product page.

Step 1: Browse to the Cloud9 Management

Step 2: Create a new Cloud9 environment by clicking the “create environment” button available on the right-hand side of the landing page.

Step 3: Give your environment a name and click “Next step”. For this example, I’m using “Amplify-Workshop”.

Step we can configure your environment settings, but for this workshop, we will just click the “Next step”.

Step 5: Review the environment details and click “Create environment”.

Step 6: Wait for the creation of your Cloud9 instance to complete. This can take a few minutes.

Step 7: Once you see your new Cloud9 IDE, you’re ready to move onto the next part of the series.


You should now have your AWS account with a Cloud9 instance running in the us-east-1 region. At this point in time, you’re ready to move onto Part 2 of the Series (available here) where we will start to install and configure our new Note taking application.