AWS Amplify

AWS Amplify

As a mobile or front-end web developer, the complicated task of building and structuring a backend can be a daunting task. AWS Amplify is a tool built by Amazon as an end-to-end solution for building and deploying secure, scalable full stack applications, and ease that burden. With the Amplify CLI, you get a guided workflow to set up best-in-class backends for authentication, storage, APIs. With Amplify Libraries, you can connect your application with current technologies such as Android, iOS, React, Flutter, Amazon Cognito, Amazon S3 and AI/ML. And when it is time to ship, the Amplify Console got can help you to deploy and host scalable static websites and single page web apps with a Git-based workflow.

AWS Amplify Features

Build


Use the Amplify Studio or Amplify CLI to configure an app backend, and use the Amplify libraries and UI components to connect your app to your backend.

Authentication

Create seamless on-boarding flows with a fully-managed user directory and pre-built sign-up, sign-in, forgot password, and multi-factor auth workflows. Amplify also supports login with a social provider such as Facebook, Google Sign-In, or Login With Amazon and provides fine grained access control to mobile and web applications. Powered by Amazon Cognito.

DataStore

Use a multi-platform (iOS/Android/React Native/Web) on-device persistent storage engine that automatically synchronizes data between mobile/web apps and the cloud, powered by GraphQL. DataStore provides a programming model for leveraging shared and distributed data without writing additional code for offline and online scenarios, which makes working with distributed, cross-user data just as simple as working with local-only data. Powered by AWS AppSync.

Analytics

Understand the behavior of your web, iOS or Android users. Use auto tracking to track user sessions and web page metrics or create custom user attributes and in-app metrics. Get access to real time data stream and analyze the data for customer insights and build data driven marketing strategies to drive customer adoption, engagement, and retention. Powered by Amazon Pinpoint and Amazon Kinesis.

API

Make secure HTTP requests to GraphQL and REST endpoints to access, manipulate, and combine data from one or more data sources such Amazon DynamoDB, Amazon Aurora Serverless, and your custom data sources with AWS Lambda. Amplify enables you to easily build scalable applications that require real-time updates, local data access for offline scenarios, and data synchronization with customizable conflict resolution when devices are back online. Powered by AWS AppSync and Amazon API Gateway.

Functions

Add a Lambda function to your project which you can use alongside a REST API or as a datasource in your GraphQL API using the @function directive in the Amplify CLI. You can update the Lambda execution role policies for your function to access other resources generated and maintained by the CLI, using the CLI. Amplify CLI enables you to create, test and deploy Lambda functions across various runtimes and once a runtime is selected, you can select a function template for the runtime to help bootstrap your Lambda function.

Geo

Add location-aware features like maps and location search to your JavaScript-based web app in minutes. Amplify Geo includes pre-integrated map UI components (based on the popular MapLibre open-source library) and it updates the Amplify Command Line Interface (CLI) tool with support for provisioning all required cloud location services. You can customize embedded maps to match your app’s theme, or choose from many community-developed MapLibre plugins for more flexibility and advanced visualization options. Powered by Amazon Location Service.

Interactions

Build interactive and engaging conversational bots with the same deep learning technologies that power Amazon Alexa with just a single line of code. Create great user experiences through chat bots when it comes to tasks such as automated customer chat support, product information/recommendations or streamlining common work activities etc. Powered by Amazon Lex.

Predictions

Enhance your app by adding AI/ML capabilities. You can easily achieve use cases like text translation, speech generation from text, entities recognition in image, interpretation of text, and transcribing text. Amplify enables simplified orchestration of advanced use cases like uploading images for automatic training and using GraphQL directives for chaining multiple AI/ML actions. Powered by Amazon Machine Learning services, such as Amazon Sagemaker.

PubSub

Pass messages between your app instances and your app's backend creating real-time interactive experiences. Amplify provides connectivity with cloud-based message-oriented middleware. Powered by AWS IoT services and Generic MQTT Over WebSocket Providers.

Push notifications

Improve customer engagement by using marketing and analytics capabilities. Leverage customer insights to segment and target your customers more effectively. You can tailor your content and communicate through multiple channels including email, texts as well as push notifications. Powered by Amazon Pinpoint.

Storage

Store and manage user generated content such as photos, videos securely on device or in the cloud. The AWS Amplify Storage module provides a simple mechanism for managing user content for your app in public, protected or private storage buckets. Leverage cloud scale storage so that you can easily take your application from prototype to production. Powered by Amazon S3.

Ship


Use the Amplify console or CLI to host static web applications. 

Amplify Hosting

AWS Amplify offers a fully managed service for deploying and hosting fullstack web applications, with built-in CI/CD workflows that accelerate your application release cycle. A fullstack serverless app consists of a backend built with cloud resources such as GraphQL or REST APIs, file and data storage, and a frontend built with single page application frameworks such as React, Angular, Vue, or Gatsby. Simply connect your application's code repository in the Amplify console, and changes to your frontend and backend are deployed in a single workflow on every code commit.

Scale and manage


Use Amplify Studio to manage app users and content. 

User management

Amplify Studio offers a way to manage authenticated users. Create/edit users and groups, update user properties, auto-verify signups, and more, without going through verification flows.

Content management

Developers can give content editors and testers access to update the app data via Amplify Studio. Admins can save content as markdown to render rich text.

Override generated resources

Modify fine-grained backend resource settings and override via CDK. Amplify does the heavy lifting fo your. For example, use Amplify to add new Cognito resources with default settings to your backend. Override just the settings you want with amplify override auth.

Custom AWS resources

The Amplify CLI provides escape hatches to add custom AWS resources with CDK or CloudFormation. Running the “amplify add custom” command in your Amplify project provides CDK or CloudFormation placeholders along with mechanisms to reference other Amplify-generated resources.

Access AWS resources

Amplify is built on top of Infrastructure-as-Code that deploys resources within your account. Add business logic to your backend using Amplify's Function and Container support. Grant functions access to an SNS topic to send an SMS or allow your container to access an existing database.

Import AWS resources

Integrate your existing resources, such as your Amazon Cognito user pool and federated identities (identity pool), or Storage resources like DynamoDB + S3, into an Amplify project via Amplify Studio. This will enable your API (GraphQL), Storage (S3), and other resources to leverage your existing authentication mechanism.

Command hooks

Use Command Hooks to run custom scripts before, during, and after Amplify CLI commands (“amplify push”, “amplify api gql-compile”, and more). Customers can trigger validation checks, run credential scans, or clean-up build artifacts during deployment. This allows you to extend Amplify’s best-practice defaults to meet your organization’s security guidelines and operational requirements.

Export Infrastructure-as-Code

You can use Amplify with your existing DevOps guidelines and tools to enforce deployment policies or to integrate into your in-house deployment systems. Amplify’s export feature lets you export your Amplify project to your preferred tooling, using CDK. “amplify export” exports the Amplify CLI build artifacts (including CloudFormation templates, API resolver code, and client-side code generation).

Tools


Amplify Libraries

AWS Amplify offers use case-centric open source libraries in the Amplify Framework to build cloud powered mobile and web apps. Amplify libraries are powered by AWS services and can be used with new backends created with the Amplify CLI and Amplify Studio, or your existing AWS backend.

Amplify UI components

Amplify UI Components is an open-source UI toolkit that encapsulates cloud-connected workflows inside of cross-framework UI components. AWS Amplify provides drop-in UI components for authentication, storage and interactions, with a style guide for your apps that automatically integrate with your configured cloud services.

Amplify Studio

Amplify Studio offers an easy way to develop app backends and manage app content. Amplify Studio provides a visual interface for modeling data, adding authentication, authorization and managing users and groups. As you create backend resources, Amplify Studio generates automation templates that enable seamless integration with the Amplify CLI, giving you the ability to extend your app backend with additional capabilities and create multiple environments for testing and team collaboration. With Amplify Studio, you can provide access to team members without an AWS account so developers and non-developers can access the data they need to develop and manage apps more efficiently.

Amplify CLI toolchain

The Amplify Command Line Interface (CLI) is a toolchain to configure and maintain your app backend from your local desktop. Configure cloud functionality using the CLI's interactive workflow and intuitive use cases such as auth, storage, API. Test features locally and deploy multiple environments. All configured resources are available to customers as infrastructure-as-code templates enabling better team collaboration and easy integration with Amplify's CI/CD workflow.

Amplify Hosting

Host your front-end web app, create/delete backend environments, setup CI/CD on the front end and backend, and access Amplify Studio to configure your backend and manage app content and users.

AWS Amplify Information

Platforms: PaaS
Pricing: Free
License: Open Source

AWS Amplify Recommendations