Understanding AWS Amplify

Understanding AWS Amplify

AWS Amplify is a tool built for AWS native application development - both front-end and back-end development. Amplify makes development process easier for developers where a set of commands and interactive walk-through via CLI.

What is AWS Amplify?

AWS Amplify supports modern, popular web and mobile applications where the developers can create and connect to serverless backend hosted on AWS.

AWS Amplify is a set of tools and services that can be used together or on their own, to help front-end web and mobile developers build scalable full stack applications, powered by AWS. With Amplify, you can configure app backends and connect your app in minutes, deploy static web apps in a few clicks, and easily manage app content outside the AWS console.

Amplify supports popular web frameworks including JavaScript, React, Angular, Vue, Next.js, and mobile platforms including Android, iOS, React Native, Ionic, Flutter. Get to market faster with AWS Amplify.

Features of AWS Amplify

Features of AWS Amplify

Amplify broadly classifies the features into four categories -

  • Develop
  • Deliver
  • Manage
  • Tools
Develop

The key aspects which are used in the development phase of the project.

  • Authentication - User management and the workflows such as sign-up, sign-in, forgot password with a managed user pool (directory) on AWS or external identity providers. {% link dev.to/zachjonesnoel/modern-apps-going-cogn.. %} {% link dev.to/awscommunity-asean/message-customiza.. %}
  • Storage - Storage of data which includes both app/user data stored on AWS managed NoSQL database (DynamoDB) and also media files on a object storage service (S3).
  • GraphQL API - AWS managed serverless offering for GraphQL interface for API integration. {% link dev.to/awscommunity-asean/aws-appsync-101-5.. %}
  • REST API - AWS managed API Gateway for deploying your REST APIs for integration.
  • DataStore - The data which is stored on the client side for caching, offline storage and synchronization with server.
  • Interactions - Chatbot offering by AWS leveraging AWS LEX for building and integrating Chat bots.
  • Push Notifications - Notifications on the app which is sent to targeted audience.
  • Functions - Functions which hold the business logic of the application.
  • PubSub - For all the communications over MQTT for broadcast, IoT data streaming.
AWS Amplify featureAWS Service
AuthenticationAmazon Cognito
StorageAmazon DynamoDB , Amazon S3
GraphQL APIAWS AppSync
REST APIAmazon API Gateway
DataStoreUsed by AWS AppSync client
InteractionsAWS Lex
Push NotificationsAmazon Pinpoint
FunctionsAWS Lambda
PubSubAWS IoT
PredictionsAmazon Translate, Amazon Transcribe, Amazon Comprehend, Amazon Rekognition, Amazon Textract
Deliver

The deliverable needs for the modern day application is the need of hosting the web application, registering domains, CI/CD workflows for the better release process.

AWS Amplify featureAWS Service
HostingAmazon S3, Amazon CloudFront
CI/CDAWS Amplify console
MonitoringAmazon CloudWatch
Manage

In re:Invent 2020, AWS launched Amplify Admin UI which eases the management process where the user-management and content management can be handled. Amplify also provides a sandbox environment to get started.

Tools

AWS Amplify provides Amplify CLI and also Amplify provides dedicated SDKs on different frameworks - JavaScript SDK, ReactJS, VueJS, Android, iOS, Flutter

Things to do with Amplify

Conclusion

AWS Amplify is a full feature packed tool for your application need. This is not only a developer's pal but also management's pal. Amplify not only eases integration with AWS serverless but also allows management process simplified.