Cíle, kontext a architektonické volby
Nasazení webové aplikace do cloudu spojuje volbu běhového prostředí (virtuální stroje, kontejnery, serverless), síťové topologie (VPC/VNet), úložišť a databází, observability a automatizace. Klíčovými kritérii jsou spolehlivost (SLO/SLA), škálování, bezpečnost, náklady a rychlost vydávání. Tento článek nabízí systematický postup a srovnává přístup napříč AWS, Azure a Google Cloud.
Referenční architektury nasazení
- Virtuální stroje: klasický model IaaS (AWS EC2, Azure VM, GCE) s load balancerem, automatickým škálováním a správou konfigurace.
- Kontejnery: orchestrátor (EKS/AKS/GKE) nebo spravovaná platforma (AWS ECS, Cloud Run, Azure Container Apps) pro rychlé škálování a izolaci.
- Serverless: funkce a plně spravovaná běhová prostředí (AWS Lambda + API Gateway, Azure Functions + APIM/Front Door, Cloud Functions/Run) s účtováním podle skutečného využití.
- PaaS: aplikační platformy (Elastic Beanstalk, Azure App Service, App Engine), které vyžadují minimum správy infrastruktury.
Plánování prostředí a síťová segmentace
- Účty a projekty: oddělte produkci, staging a vývoj do samostatných účtů/předplatných/projektů; definujte ochranná pravidla pomocí SCP/Policies/Organization Policy.
- VPC/VNet a subnety: veřejná vrstva pro load balancery a edge, privátní subnety pro aplikační a databázovou vrstvu; NAT pro odchozí provoz.
- Bezpečnostní skupiny a NSG: povolte příchozí provoz pouze na povolených portech (HTTP/HTTPS, SSH jen přes bastion) a omezte odchozí provoz.
- Privátní konektivita: peering, PrivateLink/Private Endpoint pro bezpečné připojení ke spravovaným službám.
Volba výpočetní platformy podle typu aplikace
| Profil aplikace | Doporučená platforma | Poznámky |
|---|---|---|
| Monolit s nízkou četností změn | IaaS nebo App Service | Jednodušší provoz, menší flexibilita škálování |
| Mikroslužby/REST/GraphQL | EKS/AKS/GKE nebo Cloud Run/ECS | Rychlé vydávání, horizontální škálování, izolace |
| Událostmi řízená aplikace s nepravidelným provozem | Lambda/Functions/Cloud Functions | Platba za požadavky, studené starty lze řešit zahříváním |
| Statické front-endy | S3+CloudFront / Azure Storage+Front Door / Cloud Storage+Cloud CDN | SSR kombinujte s edge nebo serverless |
Úložiště a databáze
- Relační databáze: RDS/Aurora, Azure SQL, Cloud SQL. Zvažte nasazení v několika zónách dostupnosti/vysokou dostupnost, replikaci a repliky pro čtení.
- NoSQL: DynamoDB, Cosmos DB, Firestore/Datastore pro elastické škálování a nízkou latenci.
- Mezipaměť: ElastiCache (Redis/Memcached), Azure Cache for Redis, Memorystore.
- Objektové úložiště: S3/Blob Storage/Cloud Storage pro statická aktiva, zálohy, logy a artefakty.
Automatizace pomocí Infrastructure as Code
- Terraform/Pulumi: jednotný popis pro více cloudů, moduly, plan/apply v CI.
- Nativní šablony: CloudFormation/CDK (AWS), ARM/Bicep (Azure), Deployment Manager/Config Controller (GCP).
- Stavy a odchylky: spravujte stav v externím backendu, zapněte detekci odchylek a policy-as-code (OPA/Conftest, Sentinel, Azure Policy).
CI/CD pipeline a strategie vydávání
- Sestavení: GitHub Actions, GitLab CI, Azure Pipelines, Cloud Build, CodeBuild; deterministická sestavení, SBOM a podepisování artefaktů.
- Nasazení: Argo CD/Flux pro GitOps v Kubernetes; nativní nasazení do App Service/Lambda/Cloud Run.
- Vydávání: blue–green, canary, postupné nasazování (Argo Rollouts); automatický návrat k předchozí verzi při zhoršení SLO.
- Migrace databáze: verzování a migrace pomocí Flyway/Liquibase; migrační okna a vzor expand–contract.
Bezpečné nakládání s tajemstvími a identitou
- Správa tajemství: AWS Secrets Manager/SSM, Azure Key Vault, GCP Secret Manager; rotace klíčů a přístup prostřednictvím identit.
- Identita: IAM/STS, Azure AD, IAM GCP; minimalizace oprávnění (PoLP), role pro každou službu; identita úlohy pro K8s.
- Šifrování: KMS/Key Vault/Cloud KMS pro data v klidu, TLS 1.2+ pro data při přenosu.
Observabilita: logy, metriky a trasování
- Správa logů: CloudWatch Logs, Azure Monitor/Log Analytics, Cloud Logging; zásady uchovávání a export do SIEM.
- Metriky: CloudWatch/Prometheus, Azure Monitor, Cloud Monitoring; SLO na úrovni API a transakcí.
- Trasování: AWS X-Ray, Azure Application Insights, Cloud Trace/OpenTelemetry pro korelaci napříč celým procesem.
Frontend, CDN a edge
- CDN: CloudFront, Azure Front Door/Static Web Apps, Cloud CDN; HTTP/2+, komprese, optimalizace obrázků.
- Funkce na edge: Lambda@Edge/CloudFront Functions, Azure Front Door Rules Engine, Cloud Functions na edge/Cloudflare Workers pro personalizaci a A/B testování.
- DNS a domény: Route 53, Azure DNS, Cloud DNS; kontroly stavu a směrování podle geografické polohy.
Škálování, dostupnost a odolnost
- Automatické škálování: ASG na EC2, VMSS v Azure, GCE MIG; pro kontejnery HPA/VPA a cluster autoscaler.
- Více zón/regionů: nasazení do více zón; scénáře aktivní–aktivní oproti aktivní–pasivní s cíli RTO/RPO.
- Exponentiální prodleva a přerušovač okruhu: vzory odolnosti na úrovni kódu a service mesh (Istio/Linkerd/App Mesh).
Bezpečnost a compliance
- WAF a ochrana před DDoS: AWS WAF + Shield, Azure WAF/Front Door, Cloud Armor; omezení počtu požadavků a správa botů.
- Skener konfigurace: AWS Config/Inspector, Azure Security Center/Defender, Security Command Center; pravidelná bezpečnostní srovnávací hodnocení (CIS).
- Audit a účtování: CloudTrail, Azure Activity Log, Cloud Audit Logs; evidujte kdo/co/kdy/kde.
Kontrola nákladů a optimalizace
- Zásady FinOps: označování zdrojů štítky, rozpočty a upozornění, zpětné přiřazování nákladů/zpětné vykazování, pravidelná kontrola využití.
- Rezervace/závazky k využívání: rezervace instancí a závazky přinášející úspory, minimální práh využití pro jejich aktivaci.
- Optimalizace velikosti a vypínání: úprava velikosti zdrojů, vypínání nočních/vývojových prostředí, nastavení prahů automatického škálování podle metrik.
Migrace existující aplikace do cloudu
- Lift-and-shift: rychlý přesun na IaaS s minimem změn; krátkodobé řešení.
- Replatform: přesun na PaaS/kontejnery; menší provozní zátěž.
- Refactor: mikroslužby, architektura řízená událostmi, CI/CD; vyšší počáteční investice, dlouhodobý přínos.
Vydávání bez výpadku a návrat k předchozí verzi
- Blue–green: dvě identická prostředí; přepnutí směrování, okamžitý návrat k předchozí verzi.
- Canary: postupné zvyšování provozu na novou verzi, sledování metrik a automatické zastavení při zhoršení.
- Databáze: schéma typu expand–contract, feature flags pro řízenou aktivaci.
Specifika AWS
- Výpočetní prostředky: EC2/ASG, ECS Fargate, EKS; Lambda s API Gateway; Elastic Beanstalk pro pohodlné využití PaaS.
- Síť: ALB/NLB, Route 53, VPC peering/Transit Gateway, PrivateLink, CloudFront.
- Data: RDS/Aurora, DynamoDB, ElastiCache, S3; Glue/Athena pro ad hoc analýzy logů.
- DevOps: CodePipeline/CodeBuild, CloudFormation/CDK; CloudWatch + X-Ray; IAM s principem nejnižších potřebných oprávnění.
Specifika Azure
- Výpočetní prostředky: App Service, AKS, Functions; VM Scale Sets; Front Door pro globální front-end.
- Síť: Application Gateway/WAF, Azure Firewall, Private Link, Traffic Manager.
- Data: Azure SQL, Cosmos DB, Cache for Redis, Blob Storage; Data Factory/Synapse pro integrace.
- DevOps: Azure DevOps/GitHub Actions, ARM/Bicep; Monitor/Log Analytics/Application Insights.
Specifika Google Cloud
- Výpočetní prostředky: GKE, Cloud Run (plně spravované kontejnery), App Engine; MIG na GCE pro IaaS.
- Síť: globální externí HTTP(S) LB, Cloud CDN, Cloud Armor; VPC Service Controls.
- Data: Cloud SQL, Firestore, Memorystore, BigQuery pro analytiku; Cloud Storage pro aktiva.
- DevOps: Cloud Build/Deploy, Config Connector; Operations Suite (Logging/Monitoring/Trace).
Testování a kvalita nasazení
- Automatické testy: jednotkové, integrační, end-to-end a kontraktační testy API a uživatelského rozhraní.
- Výkon: zátěžové a stresové testy (k6, Locust, JMeter); definujte cílové latence P95/P99.
- Chaos engineering: simulace výpadků zóny/regionu, zhoršení dostupnosti závislostí, postupy obnovy.
Obnova po havárii a kontinuita podnikání
- Zálohy a replikace: snímky databází, obnova k určitému okamžiku (point-in-time recovery), replikace objektových úložišť mezi regiony.
- RTO/RPO: definujte cíle a pravidelně je testujte; provozní příručka pro obnovu po havárii s automatizovaným spuštěním sekundárního prostředí.
Kontrolní seznam pro produkční nasazení
- Infrastructure as Code a opakovatelná sestavení artefaktů.
- Privátní subnety, veřejný přístup pouze pro edge; WAF a ochrana před DDoS.
- Tajemství v trezoru, identity s minimálními oprávněními.
- CDN, TLS, HSTS, bezpečnostní hlavičky a CSP.
- CI/CD s canary/blue–green a automatickým návratem k předchozí verzi.
- Observabilita s metrikami SLO, logy a trasováním; upozornění na chování uživatelů i infrastruktury.
- Ochranná pravidla pro náklady, označování štítky a rozpočty.
- Zálohy, testy obnovy po havárii a dokumentované provozní příručky pro řešení incidentů.
Závěr: od prototypu k udržitelnému provozu
Úspěšné nasazení webové aplikace do cloudu vyžaduje disciplinovanou kombinaci správně zvolené platformy, automatizované infrastruktury, bezpečného zacházení s identitou a tajemstvími, promyšleného škálování a měřitelné observability. Díky těmto pilířům lze rychle iterovat, udržet náklady pod kontrolou a poskytovat uživatelům spolehlivou službu odpovídající moderním cloudovým standardům.
