배포하는 순간이 즐겁고, 기분 좋고, 저절로 미소가 지어지는 경험

→ 개발자가 만든 앱을 세상에 선보일 때 가장 두근거리고, 세상의 뜨거운 반응을 상상할 때 미소가 지어짐

→ → 즉, 배포하는 순간에 ‘배포의 과정’은 개발자의 머리속에 없음

→ → → 그렇다면, 배포의 과정을 아예 없애버리자

배포를 도와주고 불필요한 과정을 없애주는 서비스들은 이미 많음

그렇다면 이들은 어떤 부분을 도와주는거고, 어떤 부분에서 여전히 문제점을 가지고 있을까?

범주 AWS Azure GCP
정적/프론트엔드 호스팅 + CI/CD 일체형 Amplify HostingGit 연동·브랜치별 자동 배포·PR 미리보기 Static Web AppsGitHub/DevOps 트리거·프리뷰 환경·Functions 연동 Firebase Hosting(GCP 제품군)프리뷰 채널·Functions/Run 연결 / 또는 Cloud Storage+Cloud CDN
완전관리 컨테이너 PaaS App Runner소스/ECR 직연결, 자동 빌드·배포·스케일 **Container Apps (ACA)**리비전·트래픽 분할(카나리/블루-그린) Cloud Run리비전·퍼센트 트래픽·자동/제로 스케일
전통 웹앱 PaaS Elastic BeanstalkEC2/ALB/RDS 자동화(서비스료 별도 없음, 하위 리소스 과금) App ServiceDeployment Slots(스왑), 포털 기반 CD App Engine표준/플렉스 런타임, 자동 롤아웃/롤백
Kubernetes(매니지드 제어면) EKS AKS GKE
CI/CD(파이프라인 오케스트레이션) CodePipeline승인 스텝·다단계 파이프라인 Azure DevOps Pipelines / GitHub Actions(일반적 조합) Cloud Build(빌드) + Cloud Deploy(CD)
빌드(Managed Build) CodeBuild컴퓨트 타입 선택, 리포트/아티팩트 Pipelines/Hosted Agents(또는 Actions 러너) Cloud Build트리거·승인 대기·빌드 로그
배포 전략(카나리/블루-그린/롤백) CodeDeploy(EC2/ECS/Lambda) / ALB 연동카나리·리니어·자동 롤백 Container Apps 리비전 트래픽 분할 / App Service Slots 스왑DevOps Approvals & Checks Cloud Deploy(GKE/Run 대상)Hooks·Approvals·점진 전환 / Cloud Run 트래픽 분할
아티팩트/이미지 레지스트리 ECR / CodeArtifact Azure Container Registry(ACR) / Artifacts Artifact Registry
관찰가능성(로그/메트릭/APM) CloudWatch(+ Logs/Alarms) / X-Ray Azure Monitor / Application Insights Cloud Monitoring/Logging / Cloud Trace/Profiler
시크릿/설정 관리 Secrets Manager / SSM Parameter Store / AppConfig(피처 플래그/설정) Key Vault / App Configuration Secret Manager / (Firebase Remote Config 유사 목적)
권한·승인(팀 협업 게이트) IAM + CodePipeline Manual Approval Entra ID(AAD) + DevOps Approvals & Checks IAM + Cloud Build/Deploy Approvals
소스 연동(VCS) GitHub/GitLab/Bitbucket/CodeCommit(Amplify·CodePipeline/CodeConnections) GitHub/Azure Repos/Bitbucket(Deployment Center·DevOps/Actions) GitHub/GitLab(Cloud Build 트리거), Cloud Source Repositories
IaC(권장 1st/에코시스템) CloudFormation/CDK (+Terraform) Bicep/ARM (+Terraform) Config Connector(KCC)·Blueprints (+Terraform)

배포하는 순간이 즐겁고, 기분 좋고, 저절로 미소가 지어지는 경험

→ 배포하는 순간을 고통스럽게 만드는 순간은 어떤 순간인가?

→ 배포 단계에서는 에러가 없었는데, 실제로 배포를 했을 때 에러가 발생하는 순간

→ 항상 배포할 때 DB 연결, https 인증서 연결 등 자잘한 에러가 발생하고, 이를 해결하는게 힘들다

→ AWS Amplify를 사용하면 해결가능!

보통 팀 단위로 개발하는 조직은 prod 환경과 dev 환경을 별도로 두고있음

→ dev 환경에서 배포 후 에러가 없으면 prod 환경으로 옮기는데,

가질 수 있는 문제점