AWS Amplify
AWS Amplify is two things that are usually discussed as one: a hosting service for web applications, and a way of defining the AWS backend those applications talk to. Either can be used without the other.
Amplify Hosting
Section titled “Amplify Hosting”Amplify Hosting builds and serves web applications from a Git repository. Connecting a repository gives a build pipeline that runs on every push, a CDN-backed deployment with managed TLS, and custom domain handling.
- Static sites and single-page applications — React, Angular, Vue and the common static site generators.
- Server-side rendering — Next.js applications are built and served with their server-side rendering intact rather than being exported as a static site.
- Environments by branch — each branch is deployed separately, which gives production, staging and per-feature preview environments without additional configuration.
For a static site with no Amplify backend, Amplify Hosting competes with S3 and CloudFront configured directly. It trades some control for a working build pipeline and TLS out of the box.
Amplify Gen 2 — the current model
Section titled “Amplify Gen 2 — the current model”Gen 2 defines the backend in TypeScript, in an amplify/ directory inside the application
repository: amplify/auth/resource.ts declares authentication, amplify/data/resource.ts
declares the data model, and so on. The tooling provisions the underlying AWS resources from
those files, so the backend is reviewed, versioned and branched with the front-end code rather
than configured separately.
Two consequences matter in practice:
- Shared environments map one-to-one to Git branches. Production, staging and any other long-lived environment is a branch; a feature branch gets an ephemeral deployment for review.
- Each developer gets a personal cloud sandbox. Local iteration deploys into an isolated set of resources rather than into a shared development account, which removes the usual contention over one shared backend.
The typical categories a Gen 2 backend declares are authentication, data (a GraphQL API over DynamoDB), file storage and functions.
Amplify Gen 1 — do not start here
Section titled “Amplify Gen 1 — do not start here”Gen 1 is the older generation: the Amplify CLI, the amplify push workflow and Amplify
Studio, the visual interface for building a backend and generating UI components. A great
deal of tutorial material still teaches it.
Gen 1 has entered maintenance mode and reaches end of life on 1 May 2027. AWS’s position is that new projects should use Gen 2, and that Gen 1 receives only critical fixes until that date. Existing Gen 1 applications keep working until then; AWS publishes a migration guide and tooling for moving to Gen 2. A project started on Gen 1 today is a project that has to be migrated before it is finished.