AWS Amplify
AWS Amplify
Platforma do budowania i hostowania full-stack aplikacji webowych i mobilnych. CI/CD, backend w chmurze, autentykacja i API - wszystko w jednym serwisie.
AWS Amplify to platforma full-stack, ktora pozwala szybko budowac, hostowac i skalowac aplikacje webowe i mobilne. Amplify laczy w sobie hosting z CI/CD, gotowe biblioteki frontendowe (Auth, API, Storage) oraz backend oparty na serwisach AWS takich jak AppSync, Cognito i S3.
Amplify Gen 2 to najnowsza wersja - TypeScript-first, oparta na CDK, pozwala definiowac caly backend w kodzie. Serwis obsluguje SSR, SSG i SPA, oferuje atomic deployments, PR previews i Amplify Studio do wizualnego projektowania komponentow UI.
AWS Amplify Gen 2 pozwala zdefiniowac caly backend aplikacji - autentykacje, API, storage i funkcje - w kilku plikach TypeScript. Podczas deploymentu Amplify automatycznie tworzy odpowiednie zasoby CDK. Jeden plik amplify/auth/resource.ts zastepuje dziesiatki klikniec w konsoli Cognito!
Uzywaj PR Previews do testowania kazdej zmiany na zywo przed mergem. W polaczeniu z Amplify Gen 2 mozesz miec oddzielny backend (sandbox) dla kazdego dewelopera - komenda npx ampx sandbox tworzy izolowane srodowisko z wlasna baza danych i API.
AWS Amplify to platforma do budowania i hostowania fullstack aplikacji webowych i mobilnych. Amplify Gen 2 opiera sie na podejsciu code-first, gdzie infrastruktura backendowa jest definiowana w TypeScript bezposrednio w kodzie projektu.
Inicjalizacja projektu Amplify
Tworzysz nowy projekt lub dodajesz Amplify do istniejacego (React, Next.js, Vue, Angular, Flutter). W Amplify Gen 2 definiujesz backend w katalogu amplify/ uzywajac TypeScript - auth, data, storage. Nie ma juz amplify init/push z CLI, wszystko jest deklaratywne w kodzie.
Konfiguracja backendu (Auth, Data, Storage)
Auth opiera sie na Amazon Cognito - konfigurujesz metody logowania (email, social, MFA). Data to GraphQL API oparte na AppSync z modelami danych definiowanymi w TypeScript. Storage uzywa S3 do plikow z fine-grained access control. Kazdy zasob ma typed output do uzycia we frontendzie.
Podlaczenie repozytorium i CI/CD
Laczysz repozytorium Git (GitHub, GitLab, Bitbucket, CodeCommit) z Amplify Hosting. Kazdy push do brancha triggeruje automatyczny build i deploy. Amplify tworzy preview deployments dla pull requestow, co pozwala testowac zmiany przed mergem do main.
Build i deploy aplikacji
Amplify automatycznie wykrywa framework (Next.js, React, Vue) i konfiguruje odpowiedni build. Pliki statyczne trafiaja na CDN (CloudFront), SSR jest obslugiwany przez Lambda@Edge. Backend jest deployowany jako CloudFormation stack. Mozesz dostosowac amplify.yml do wlasnych potrzeb.
Integracja bibliotek klienckich
Amplify Libraries (JavaScript, Swift, Android) daja gotowe komponenty UI (Authenticator, Storage Manager) i hooksy (useAuthenticator, generateClient). Generowany kod TypeScript zapewnia type safety miedzy backendem a frontendem. Dane sa automatycznie synchronizowane z AppSync.
Zarzadzanie srodowiskami
Kazdy branch Gita moze miec osobne srodowisko backendowe (dev, staging, prod). Amplify Hosting automatycznie mapuje branche na subdomeny (np. dev.mojadomena.pl). Mozesz konfigurowac zmienne srodowiskowe i sekrety per branch w konsoli Amplify.
Praktyczne wskazowki z pracy z AWS Amplify - od optymalizacji buildow po zaawansowana konfiguracje backendu.
Amplify Gen 2 vs Gen 1 - migracja
Gen 2 rezygnuje z CLI-driven workflow na rzecz code-first w TypeScript. Zamiast amplify add auth piszesz defineAuth() w pliku amplify/auth/resource.ts. Glowna zaleta: backend jest w repozytorium, dziala z code review i jest w pelni typowany. Migracja z Gen 1 wymaga re-definicji zasobow, ale dane mozna zachowac.
ZaawansowanyOptymalizacja czasu buildu
Domyslny build Amplify moze byc wolny dla duzych projektow. Wlacz cache node_modules i .next/cache w amplify.yml (sekcja cache.paths). Uzyj monorepo support z Nx lub Turborepo. Dla Next.js wlacz Incremental Static Regeneration (ISR) zamiast przebudowywania wszystkich stron.
PoczatkujacyCustom domains i SSL
Amplify automatycznie provisionuje certyfikat SSL przez ACM i konfiguruje CloudFront. Mozesz dodac wlasna domene i skonfigurowac przekierowania (www na non-www). Propagacja DNS z Route 53 jest automatyczna. Dla domen spoza Route 53 musisz recznie dodac rekordy CNAME.
PoczatkujacyFine-grained authorization w Data
Amplify Data (AppSync) wspiera zaawansowane reguly autoryzacji: owner-based (uzytkownik widzi tylko swoje dane), group-based (role: admin, editor), public/private. Mozesz laczyc wiele strategii na jednym modelu. Uzyj .authorization(allow => [allow.owner(), allow.group("admin")]) do precyzyjnej kontroli dostepu.
ZaawansowanyTestowanie lokalne z sandbox
Amplify Gen 2 oferuje npx ampx sandbox, ktory tworzy izolowane srodowisko backendowe w chmurze per developer. Kazdy developer ma swoja baze danych, auth i API. Zmiany w kodzie backendu sa hot-reloadowane. Sandbox jest automatycznie usuwany po zakonczeniu pracy.
PoczatkujacyScreenshoty z AWS Console
Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z AWS Amplify bezposrednio w konsoli AWS.
Do czego sluzy AWS Amplify?
Hosting aplikacji frontendowych
Wdrazaj aplikacje React, Next.js, Vue czy Angular z automatycznym CI/CD. Kazdy push do repozytorium uruchamia build i deployment z PR previews.
Aplikacje full-stack z backendem
Buduj aplikacje z autentykacja (Cognito), API (AppSync/GraphQL), storage (S3) i analytics - bez recznej konfiguracji infrastruktury.
Aplikacje mobilne
Uzywaj Amplify Libraries w React Native, Flutter lub natywnych aplikacjach iOS/Android. Gotowe moduly do Auth, push notifications i offline sync.
Prototypowanie w Amplify Studio
Projektuj komponenty UI wizualnie w Amplify Studio, polacz z danymi z backendu i eksportuj gotowy kod React do dalszego rozwoju.
Co musisz wiedziec?
Amplify Hosting
Serwis hostingowy z wbudowanym CI/CD. Obsluguje SSR (Server-Side Rendering), SSG (Static Site Generation) i SPA. Oferuje atomic deployments i PR previews.
Amplify Libraries
Biblioteki frontendowe do integracji z serwisami AWS: Authentication (Cognito), API (AppSync/REST), Storage (S3), Analytics i inne. Dostepne dla JS, React Native, iOS i Android.
Amplify Studio
Wizualne srodowisko do projektowania komponentow UI, zarzadzania danymi i konfiguracji backendu. Generuje kod React gotowy do uzycia w projekcie.
Amplify Gen 2
Najnowsza generacja Amplify - TypeScript-first, oparta na AWS CDK. Backend definiujesz w kodzie TypeScript zamiast CLI/konsoli. Pelna kontrola nad infrastruktura.
Atomic Deployments
Kazdy deployment jest atomowy - nowa wersja jest widoczna dopiero gdy wszystkie pliki sa gotowe. Zero downtime i brak niespojnosci miedzy plikami.
PR Previews
Automatyczne srodowiska preview dla kazdego Pull Request. Pozwala testowac zmiany na zywo przed mergem do glownej galezi.
Architektura: Fullstack aplikacja z Amplify Gen 2
Typowa architektura aplikacji webowej zbudowanej z Amplify Gen 2 - frontend na CDN, backend serverless z autoryzacja, API GraphQL i przechowywaniem plikow.
Ile kosztuje AWS Amplify?
Amplify Hosting - Build
Platisz za minuty budowania aplikacji. Kazdy build (push do repo) zuzywa minuty build.
$0.01/min budowania. Free Tier: 1000 min/mies.
Amplify Hosting - Serving
Platisz za transfer danych i zapytania do hostowanej aplikacji. SSR dodatkowo za godziny compute.
$0.15/GB transferu. Free Tier: 15 GB/mies.
Amplify Studio
Amplify Studio jest darmowe. Platisz tylko za serwisy backendowe, ktore wykorzystujesz (Cognito, AppSync, S3).
Studio: $0. Backend: wg cennikow poszczegolnych serwisow.
Free Tier
12 miesiecy darmowego uzytkowania z hojnymi limitami na build, hosting i storage.
1000 min build, 15 GB serving, 5 GB storage/mies.
Przyklady AWS CLI
Utworz nowa aplikacje Amplify
Tworzy aplikacje Amplify polaczona z repozytorium Git
aws amplify create-app \
--name moja-aplikacja \
--repository https://github.com/user/repo \
--access-token ghp_xxxxxxxxxxxx \
--build-spec "version: 1\nfrontend:\n phases:\n build:\n commands:\n - npm run build"
Utworz branch do deploymentu
Dodaje branch z automatycznym CI/CD
aws amplify create-branch \
--app-id d1234567890 \
--branch-name main \
--enable-auto-build \
--framework "Next.js - SSR"
Sprawdz status ostatniego joba
Wyswietla informacje o ostatnim buildzie aplikacji
aws amplify list-jobs \
--app-id d1234567890 \
--branch-name main \
--max-results 1 \
--query "jobSummaries[0].{Status:status,Start:startTime,End:endTime}"
Skonfiguruj domene niestandardowa
Dodaje wlasna domene do aplikacji Amplify
aws amplify create-domain-association \
--app-id d1234567890 \
--domain-name example.com \
--sub-domain-settings prefix=www,branchName=main
Quiz: AWS Amplify
Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz — feedback pojawi sie od razu.
1. Co to jest Amplify Gen 2?
2. Ktore typy renderowania obsluguje Amplify Hosting?
3. Co to sa PR Previews w Amplify?
4. Ktore serwisy AWS sa uzywane jako backend Amplify?
Czesto uzywane razem z AWS Amplify
Chcesz poznac AWS Amplify w praktyce?
Darmowy kurs "AWS od podstaw" pokazuje jak uzywac AWS Amplify krok po kroku. Teoria + praktyka od zera.