At re:Invent, the AWS Amplify team launched the new Amplify Console. The Amplify Console provides continuous deployment and hosting for cloud-powered modern web apps.
The Amplify console complements the Amplify Framework which provides a CLI to scaffold cloud services, a client library to connect to cloud services, & a toolchain for making development of your cloud applications easier.
Muti-environment support (beta) for Amplify applications was also recently announced. The multi-environment support complements the Amplify console in allowing developers to work in their own separate sandboxed environment & then being able to only merge new or updated functionality to their cloud back end.
In this post, I’ll quickly walk through some of the most powerful features now available in the console.
Getting started in the Amplify Console is simple. Connect a branch in your repository (GitHub, BitBucket, GitLab, AWS CodeCommit) and Amplify automatically deploys and hosts your app at https://branchname.appid.amplifyapp.com .
On your next code commit, Amplify automatically picks up code changes and deploys updates. Amplify has atomic deployments built-in, which means your frontend only gets updated once the deployment is complete (no partial rollouts).
The Amplify Console detects any backends built with the Amplify CLI and deploys updates to them in the same deployment as the frontend.
The Amplify CLI will allow you to add features like authentication, GraphQL APIs, Lambda functions, analytics, storage & more to your existing app straight from the command line. The Amplify Console can then deploy updates to both the frontend or backend on every code commit. Whether it’s a change to your Lambda function or UI code, both changes get deployed together.
Together the CLI and Console offer a Rails-like experience, simplifying the backend for frontend devs. This is a really cool feature and has been launched in beta (multi-env CLI) to get feedback from the community.
The Amplify Console automatically detects build settings for frameworks like React, Angular, Vue, Gatsby, VuePress, Jekyll, and Hugo to provide a zero configuration getting started technique. Simply connect your repo, and point and click your way to getting your app up and running.
The AWS Amplify Console simplifies production and development workflows by creating new frontend and backend environments every time a developer connects a branch in their repository — for example a ‘dev’ branch is deployed to https://dev.appid.amplifyapp.com and ‘master’ branch is deployed to https://master.appid.amplifyapp.com.
For apps built with the Amplify CLI, each branch represents a new frontend and backend environment. This works well for teams with shorter release cycles using feature branch or GitFlow workflows.
This is my favorite feature and works really well for sharing prototypes within the team. When you’re working on new features, set up basic auth to restrict access to your teammates and beta testers only.
Amplify Console makes it very easy to setup a custom domain with HTTPS. This process is as easy as as picking your domain from a list (for users who manage their DNS in Amazon Route53).
Amplify automatically updates DNS records in your Route53 account and issues a free SSL certificate using Amazon Certificate Manager to secure traffic to your domain with HTTPS.
As your site grows you might have old links that you want to keep for their SEO value. The Amplify Console provides a mechanism to setup redirect and rewrite rules for your domain to redirect old paths to new ones with or without changing the URL structure in the browser. You can also setup a reverse proxy so you can write your blog on a 3rd party blogging website and serve it under htttps://yourdomain.com/blog.
Setup email notifications when your deployment succeeds or fails. Amplify Console submits build events to Amazon CloudWatch giving you a lot more capability to setup alarms and send events to services like Slack to notify users of changes.
The Amplify Console is the next step in improving the experience for developers looking to build AWS Amplify applications, serverless applications, & web applications in general.
As mentioned in the introduction, the AWS Amplify CLI released beta support for multiple environments & teams which works hand-in-hand with the Console. For a quick demo of how this works, check out this video:
If you’d like to try it out, you can now view the Amplify Console in the AWS dashboard or visit the Amplify Console directly here.
The free tier includes 1000 build minutes per month & Hosting 5 GB stored per month / 15 GB served per month.
If you’d like to view pricing, check out the details here.
My Name is Nader Dabit .
I am a Developer Advocate at AWS Mobile working with projects like AWS AppSync and AWS Amplify, the author of React Native in Action, & the editor of React Native Training & OpenGraphQL.