Intro to AWS Amplify: build a multi-tenant SaaS app [Part 1 – Preparation]

BLOG ARTICLE

AWSAmplify-blogarticle-image

Introduction

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 to do 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. We will be releasing the other articles in the coming weeks and will link to them in the table below.

Part Description
Preparation This article (Current Post) provides an introduction and instructions on creating the required AWS environment.
App Setup This post 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.

AWS-Amplify-Intro-1

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 internationalisation and localisation 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.

Part 1 – Preparation

Before we get started: In order to follow along with this series, you’ll need to 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.

Once you’ve got your AWS account, the first step 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 https://console.aws.amazon.com/cloud9/home/product
MMeriell-Blog-Img2

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”.

MMeriell-Blog-Img3

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

MMeriell-Blog-Image4

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

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.

Conclusion

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 where we will start to install and configure our new Note taking application.