This week AWS released a major new feature – the Amplify Admin UI. The Amplify Admin UI gives developers a visual interface to create, update, and delete their Amplify cloud back ends, model their data, and improve collaboration within Amplify projects among other things. You can try it out either in the Amplify Console or by creating a new sandbox.
Here are my 10 favorite features from the launch.
Visually define your data model
My favorite, and maybe the most powerful feature, is the ability to visually define your data model. Using the new visual editor, you can not only create and deploy your data model, you can also model relationships (one to many, many to one, and many to many) between models as well as define security settings and authorization rules for fine grained access control.
Configure your backend in the Admin UI and CLI without an AWS account
Only the first backend deployment to Amplify Console requires an AWS account. After that, you can invite team members to use the AWS Admin UI and the Amplify Command Line Interface (CLI) via email. All Admin UI users with full access will be able to use the Amplify CLI without an AWS account.
Interested in building more command line interfaces? Check out our hands-on-labs on Python Click and learn to use Click (Command Line Interface Creation Kit) to create a Python CLI!
Easy-to-understand authorization rules
Once you have created a data model, you can define authorization rules and configure fine grained access control. You can configure the main type of API access (public, private, etc..) as well as the access settings for each model (create, read, update, delete).
Using these rules, you can model common authorization scenarios and use cases for many types of common applications and deploy changes directly from the dashboard.
Using these rules, it’s easy to enable common authorization configurations needed for many types of applications.
After deploying your data model, all app data is available in the Admin UI’s content management view, enabling app admins to manage content (e.g., update a product price or add a new blog post).
You can work with basic data types (strings, integers, Booleans, etc..) as well as rich text using the built-in rich text editor for editing content for websites and blogs.
Deploy infrastructure as code
The Admin UI uses AWS CloudFormation and nested stacks to deploy backend resources. These CloudFormation stacks allow you to keep your backend infrastructure definition as code. All stack definitions can be pulled locally with the Amplify CLI. Admin UI and the Amplify CLI work together. Changes made in the Admin UI can be made available in the CLI by running the amplify pull command. Similarly, CLI changes to the data model or auth will be visible in the Admin UI.
Works with the Amplify CLI and Amplify Hosting
The configuration for the back-end services enabled using the Admin UI can be pulled down into your local project using the Amplify CLI. The project can be then iterated on and updated using the CLI or the Admin UI (or both).
There is also a new non-node based CLI, making it easier to get up and running for many developers not already using or familiar with Node.js.
The new CLI can be installed using the following command:
curl -sL https://aws-amplify.github.io/amplify-cli/install | bash && $SHELL
Once your back end is deployed, you can set up hosting and full stack CI & CD using any front-end web project by connecting them either using a Git repo or locally using the Amplify CLI.
Clone and delete environments from the Amplify Console
Once you’ve created an environment, you can clone the entire infrastructure into a new environment. This is great for testing new features or enhancements.
You can then pull down these environments locally using the Amplify CLI if you’d like to merge any changes into another environment.
Sandbox to build an app before deploying to cloud
Using sandboxes, you can create, test, share, and collaborate on data models before deploying to the cloud. Once you’ve created a sandbox, you can share it via a publicly accessible URL to anyone with or without an AWS account for collaboration.
You can also create templates for data models you want to share publicly if you think others would find the app idea useful. You can create your data model either from scratch or from one of the example schemas provided by Amplify.
Set up authentication, manage users and groups
You can set up and deploy authentication (powered by Amazon Cognito), define login methods, and configure and define sign-up attributes.
Once deployed you can create users and groups, add users to groups, view login activity, and define authorization rules on your data model.
Custom domains with friendly redirects
If your application is set up to use the Amplify Console’s web hosting features, you can access the Admin UI of your app with the custom domain that you have set up for your application’s frontend.
For example, if you host your app at https://exampledomain.com, you can set up a friendly redirect to the Admin UI for the app at a domain address such as https://exampledomain.com/amplify/adminui.
Nader Dabit is a web and mobile developer, author, and Senior Developer Advocate at AWS specializing in full stack cloud development.