AWS Amplify

AWS Amplify - AWS Amplify is a comprehensive set of tools and services for building scalable mobile and web applications. It simplifies the development process by providing a streamlined workflow for front-end development, backend infrastructure, and continuous deployment. Amplify includes features like user authentication, data storage, APIs, and serverless functions, making it easy to integrate essential app functionalities. It supports popular frameworks like React, Angular, Vue, and native iOS/Android development. The service also offers a visual interface and CLI for configuration, allowing developers to focus more on code and less on infrastructure. Overall, AWS Amplify accelerates the development cycle and helps maintain best practices for secure and scalable app deployment.

Key definitions for AWS Amplify:

  • Authentication

    Design smooth onboarding experiences with a fully managed user directory, offering pre-built workflows for sign-up, sign-in, password recovery, and multi-factor authentication. Amplify also supports social logins with providers such as Facebook, Google, and Amazon, and provides detailed access control for mobile and web applications. This functionality is powered by Amazon Cognito

  • DataStore

    Employ a multi-platform (iOS/Android/React Native/Web) on-device persistent storage engine that seamlessly syncs data between mobile, desktop, and web apps and the cloud, using GraphQL. DataStore provides a programming model that simplifies handling shared and distributed data, requiring no additional code for offline and online scenarios. This approach makes managing distributed, cross-user data as easy as working with local data. Powered by AWS AppSync

  • Analytics

    Understand your web, iOS, or Android users' behavior by leveraging auto-tracking for user sessions and web page metrics, or by defining custom user attributes and in-app metrics. Access real-time data streams to analyze and gain insights into customer behavior, allowing you to create data-driven marketing strategies that enhance customer adoption, engagement, and retention. Powered by Amazon Pinpoint and Amazon Kinesis

  • Command hooks

    Utilize Command Hooks to run custom scripts at various stages of Amplify CLI commands (e.g., “amplify push” and “amplify api gql-compile”). This feature enables users to perform validation checks, conduct credential scans, or clean up build artifacts during the deployment process

  • API

    Make secure HTTP requests to GraphQL and REST endpoints to access, manipulate, and integrate data from sources such as Amazon DynamoDB, Amazon Aurora Serverless, and custom data sources through AWS Lambda. Amplify enables the easy construction of scalable applications requiring real-time updates, offline local data access, and data synchronization with customizable conflict resolution when devices come back online. Powered by AWS AppSync and Amazon API Gateway

  • Functions

    Add a Lambda function to your project, which can be utilized with a REST API or as a datasource in your GraphQL API using the @function directive in the Amplify CLI. You can update the execution role policies of the Lambda function to access other resources generated and managed by the CLI, all via the CLI. The Amplify CLI facilitates the creation, testing, and deployment of Lambda functions across multiple runtimes. Once you choose a runtime, you can select a function template for that runtime to assist in bootstrapping your Lambda function

  • Geo

    Effortlessly incorporate location-aware features like maps and location search into your JavaScript-based web app. Amplify Geo offers pre-integrated map UI components built on the popular open-source MapLibre library and enhances the Amplify Command Line Interface (CLI) to support provisioning all essential cloud location services. Customize embedded maps to fit your app’s theme or select from a range of community-developed MapLibre plugins for greater flexibility and advanced visualization. Powered by Amazon Location Service

  • Interactions

    Create interactive and engaging conversational bots utilizing the same deep learning technologies that power Amazon Alexa, all with just a single line of code. Improve user experiences with chatbots for tasks such as automated customer support, product information and recommendations, or streamlining common work activities. Powered by Amazon Lex

  • Predictions

    Enhance your app by incorporating AI/ML capabilities. Achieve use cases like text translation, text-to-speech generation, image entity recognition, text interpretation, and transcription with ease. Amplify simplifies orchestrating advanced tasks, such as uploading images for automatic training and using GraphQL directives to chain multiple AI/ML actions. Powered by Amazon Machine Learning services, such as Amazon SageMaker

  • PubSub

    Enable real-time interactive experiences by passing messages between your app instances and backend. Amplify supports connectivity with cloud-based message-oriented middleware, powered by AWS IoT services and Generic MQTT Over WebSocket providers

  • Push notifications

    Boost customer engagement with robust marketing and analytics features. Use customer insights to segment and target your audience more efficiently. Customize your content and reach out through multiple channels, such as email, texts, and push notifications. Powered by Amazon Pinpoint

  • Storage

    Securely store and manage user-generated content like photos and videos, either on-device or in the cloud. The AWS Amplify Storage module provides an easy way to manage user content in public, protected, or private storage buckets. Take advantage of cloud-scale storage to effortlessly move your application from prototype to production. Powered by Amazon S3

  • Amplify Hosting

    AWS Amplify offers a fully managed service for deploying and hosting fullstack web applications, with integrated CI/CD workflows that enhance your release cycle. A fullstack serverless application comprises a backend built using cloud resources like GraphQL or REST APIs, file and data storage, and a frontend developed with single-page application frameworks such as React, Angular, Vue, or Gatsby. By connecting your application's code repository to the Amplify console, changes to both the frontend and backend are deployed in a unified workflow with every code commit

  • User management

    Amplify Studio provides tools to manage authenticated users efficiently. You can create and edit users and groups, update user properties, auto-verify signups, and perform other tasks without needing to go through verification flows

  • Content management

    Developers can grant content editors and testers access to update app data through Amplify Studio. Administrators can save content in markdown format for rendering rich text

  • Override generated resources

    Modify fine-grained backend resource settings and override via CDK. Amplify does the heavy lifting for you. 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 includes escape hatches to integrate custom AWS resources using CDK or CloudFormation. Running the “amplify add custom” command in your Amplify project generates CDK or CloudFormation placeholders and provides mechanisms to reference other resources generated by Amplify

  • Access AWS resources

    Amplify is built on Infrastructure-as-Code, deploying resources within your account. Enhance your backend with business logic using Amplify's Function and Container support. You can grant functions access to an SNS topic to send SMS messages or enable your container to access an existing database

  • Import AWS resources

    Incorporate your existing resources, such as Amazon Cognito user pools and federated identities (identity pools), or storage resources like DynamoDB and S3, into an Amplify project via Amplify Studio. This integration enables your API (GraphQL), Storage (S3), and other resources to leverage your current authentication system

  • Export Infrastructure-as-Code

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

  • Amplify Tools

    Amplify Libraries
    AWS Amplify provides open-source libraries designed for specific use cases to build cloud-powered mobile and web apps. These libraries, powered by AWS services, can be utilized with new backends created using the Amplify CLI and Amplify Studio, or integrated with your existing AWS backend

    Amplify UI components
    Amplify UI Components is an open-source toolkit featuring cross-framework UI components that encapsulate cloud-connected workflows. AWS Amplify provides ready-to-use UI components for authentication, storage, and interactions, along with a style guide that automatically integrates with your configured cloud services

    Amplify Studio
    Amplify Studio makes it easy to develop app backends and manage app content. It offers a visual interface for modeling data, adding authentication and authorization, and managing users and groups. When you create backend resources, Amplify Studio generates automation templates that integrate seamlessly with the Amplify CLI. This allows you to extend your app backend with additional capabilities and create multiple environments for testing and collaboration. Additionally, Amplify Studio enables you to grant access to team members without AWS accounts, allowing both developers and non-developers to efficiently access the necessary data for app development and management

    Amplify CLI toolchain
    The Amplify Command Line Interface (CLI) is a toolchain that allows you to configure and manage your app backend from your local desktop. It offers an interactive workflow and intuitive use cases for setting up cloud functionalities such as authentication, storage, and APIs. You can test features locally and deploy them to multiple environments. All configured resources are available as infrastructure-as-code templates, facilitating better team collaboration and easy integration with Amplify's CI/CD workflow

Service integrates with:

Usage use cases

  • User Authentication and Authorization.

    Easily add sign-up, sign-in, and multi-factor authentication features. Integrate social sign-in providers like Google, Facebook, and Amazon

  • Real-time and Offline Functionality.

    Enable real-time data synchronization with GraphQL and AWS AppSync. Provide offline data access and synchronization for mobile and web apps using Amplify DataStore

  • Storage and File Management.

    Securely store and manage user-generated content such as photos and videos in Amazon S3. Provide file upload, download, and access control capabilities

  • API Management.

    Create and manage REST and GraphQL APIs. Connect to AWS Lambda functions and other AWS services to handle business logic and data processing

  • Analytics and Marketing.

    Track user behavior and app metrics with Amazon Pinpoint. Segment and target users for marketing campaigns through multiple channels, including email, SMS, and push notifications

  • Machine Learning and AI.

    Integrate machine learning capabilities such as text translation, image recognition, and sentiment analysis using Amazon SageMaker and other AWS AI services. Automate training and deployment of ML models

  • IoT Applications.

    Build applications that interact with IoT devices using AWS IoT Core. Manage real-time communication and data processing for IoT solutions

  • Geolocation and Mapping.

    Add maps and location search features using Amazon Location Service.Customize map interfaces and integrate location-based services

  • Content Management.

    Allow content editors and testers to update app data and content via Amplify Studio. Manage user-generated content with ease

  • CI/CD and DevOps.

    Implement continuous integration and continuous deployment workflows. Automate builds, tests, and deployments using integrated tools like GitHub, GitLab, and Bitbucket

  • Multi-platform Development.

    Develop cross-platform applications for iOS, Android, React Native, and web using a unified backend. Ensure consistent functionality and user experience across different platform

  • Scalable Backend Services.

    Rapidly prototype and scale backend services as the app grows. Manage environments for development, testing, and production

FAQ for AWS Amplify

  • What is AWS Amplify for?

    AWS Amplify is a collection of tools and services aimed at simplifying the process for developers to build, deploy, and host fullstack web and mobile applications. It provides managed hosting, integrated CI/CD workflows for automated releases, and backend development support with AWS cloud resources like databases, APIs, and storage. Amplify also supports popular frontend frameworks such as React, Angular, Vue, and Gatsby, and includes a CLI for managing cloud resources. With features like real-time data synchronisation and offline capabilities, AWS Amplify simplifies the development process, allowing developers to focus on coding rather than infrastructure management
  • Is AWS Amplify an EC2?

    No, AWS Amplify is not an EC2 (Elastic Compute Cloud). AWS Amplify is a collection of tools and services created to streamline the development, deployment, and hosting of fullstack web and mobile applications. It provides features like managed hosting, CI/CD workflows, and backend integration with AWS services.

    EC2, on the other hand, is a service that provides resizable compute capacity in the cloud, allowing users to run virtual servers (instances) for various applications. While AWS Amplify can use EC2 instances as part of its backend infrastructure, it is a distinct service focused on streamlining application development and deployment rather than providing raw compute power like EC2.

  • What is the difference between Lambda and AWS Amplify?

    AWS Lambda is focused on running individual functions in a serverless manner, while AWS Amplify provides a broader platform for developing, deploying, and managing entire web and mobile applications
  • Is AWS Amplify serverless?

    Yes, AWS Amplify is considered a serverless service. It provides tools and services that enable developers to build, deploy, and manage fullstack web and mobile applications without having to manage the underlying server infrastructure
  • When should I use Amplify?

    You should use AWS Amplify when you need a streamlined way to develop, deploy, and manage fullstack web and mobile applications quickly and efficiently. It is particularly beneficial for rapid development, fullstack projects, serverless architecture, and automated CI/CD workflows. Amplify excels in supporting modern frontend frameworks like React, Angular, Vue, and Gatsby, while also providing real-time and offline capabilities, automatic scaling, and security. It simplifies integration with various AWS services, allowing you to focus on writing code and delivering features without managing the underlying infrastructure
  • Does amplify use S3?

    Yes, AWS Amplify uses Amazon S3 for hosting static websites and storing files. It utilizes S3 to serve static assets like HTML, CSS, JavaScript, and images, as well as to enable file storage capabilities within applications. This integration leverages S3's scalability, durability, and security to enhance the performance and reliability of web applications hosted and managed through Amplify