DevOps 30

CDK 테스트와 배포

학습 목표cdk synth·diff·deploy를 로컬·CI에서 안전한 순서로 실행할 수 있다.Template assertions·snapshot test로 synth 결과를 자동 검증할 수 있다.PR CI에서 synth·diff·test를, main에서 승인 후 deploy를 구성할 수 있다.bootstrap·asset·stack approval이 배포 파이프라인에 미치는 영향을 설명할 수 있다.Terraform plan file 승인 패턴과 CDK template diff 패턴을 대응시킬 수 있다.문제 상황cdk deploy를 로컬에서만 — PR에 template 변경이 안 보이고 리뷰 불가construct id 바꿨더니 S3 bucket replace — 테스트 없이 프로덕션 적용Jest는 있는데 ..

CDK vs Terraform

학습 목표Terraform과 CDK가 같은 IaC 철학(선언·멱등)을 공유하지만 엔진·상태가 다름을 설명할 수 있다.state file vs CloudFormation stack이 plan·drift·협업에 미치는 차이를 설명할 수 있다.plan/apply와 synth/diff/deploy 워크플로를 1:1로 대응시킬 수 있다.멀티 클라우드·팀 언어·추상화 관점에서 어느 쪽을 고를지 근거를 들 수 있다.두 도구를 공존시키는 패턴(terraform-cdk, 스택 분리)을 개괄할 수 있다.문제 상황Part 1 Terraform으로 S3·VPC·remote state를 잡았는데 — AWS만 쓰면 CDK가 낫다는 말만 듣고 기준이 없음CDK cdk diff는 익숙한데 terraform plan과 뭐가 다른지 —..

CDK로 인프라 정의

학습 목표L1·L2·L3 construct 계층과 언제 어떤 레벨을 쓰는지 설명할 수 있다.ec2.Vpc·lambda.Function 등 L2로 VPC·서브넷·NAT를 정의할 수 있다.IAM Role·PolicyStatement·grantRead 등으로 권한을 선언적으로 연결할 수 있다.L1 Cfn* 로 CloudFormation 속성에 직접 접근하는 이유를 설명할 수 있다.TypeScript·Python CDK 코드의 구조 차이를 읽고 작성할 수 있다.문제 상황6편에서 s3.Bucket 한 줄은 썼는데 — VPC 3 AZ·NAT는 L2 옵션이 뭔지 모름CloudFormation 문서의 속성 이름이 L2에 없어서 막힘 — L1로 내려가야 하나IAM 인라인 policy JSON을 CDK에 하드코딩 — gr..

Platform Series를 마치며

이 글의 목적플랫폼 · DevOps · Cloud 본편 21편을 마쳤다. 이 글은 시리즈 전체를 압축·연결하고 다음에 어디로 갈지 짚는 에필로그다.21편 동안 본 개념을 한 장 지도로 다시 본다플랫폼·배포에서 뻗어 나가는 주제와 블로그 내 다른 시리즈를 연결한다플랫폼 지식이 어떤 직업·역할과 맞닿는지 정리한다손으로 확인하는 방법과 읽을거리를 남긴다1. 21편이 만든 큰 그림플랫폼은 도구 이름이 아니라 코드에서 프로덕션까지의 전달·운영 체계다.Part핵심 질문기억할 키워드0 오리엔테이션누가 무엇을 운영하나DevOps, SRE, Platform Eng, 파이프라인1 컨테이너앱을 어떻게 묶나이미지, 레이어, namespace, cgroup2 Kubernetesdesired state를 어떻게 유지하나Pod, ..

엣지와 분산 배포

학습 목표엣지 컴퓨팅이 중앙 클라우드와 다른 요구(지연·대역·오프라인)를 가지는 이유를 설명할 수 있다.K3s 등 경량 Kubernetes 배포 모델을 엣지 하드웨어 제약과 연결해 설명할 수 있다.오프라인·간헐 연결 시 로컬 처리·버퍼·동기화 패턴을 설계할 수 있다.GitOps·멀티클러스터 패턴을 엣지 클러스터에 적용하는 방식을 설명할 수 있다.문제 상황공장·매장 센서 — 클라우드 왕복 200ms·대역 비용 폭증선박·광산·농장 — 연결 끊김 수 시간·실시간 제어 필수풀 K8s 엣지 — 4GB RAM 미만 게이트웨이에서 control plane OOM수동 USB 배포 — 버전 드리프트·보안 패치 누락중앙 DB 만 신뢰 — 엣지 캐시 불일치·충돌 미 처리멀티클러스터 DR만 있고 — 현장 지연·오프라인 요구 ..

AWS CDK 개요

학습 목표AWS CDK(Cloud Development Kit) 가 일반 purpose 언어로 인프라를 정의하는 방식임을 설명할 수 있다.App·Stack·Construct 계층과 부모-자식 관계를 설명할 수 있다.synthesis가 CDK 코드를 CloudFormation template으로 바꾸는 과정임을 설명할 수 있다.cdk synth·cdk deploy·cdk diff가 Terraform plan/apply와 어떻게 대응되는지 비교할 수 있다.Terraform과 CDK의 상태·배포 엔진 차이를 개괄적으로 설명할 수 있다.문제 상황CloudFormation YAML 3,000줄 — !Ref·!GetAtt 추적이 지옥VPC·RDS·Lambda를 복사 붙여넣기 — 파라미터 하나 바꿀 때 전 스택 di..

멀티클러스터

학습 목표멀티클러스터를 도입하는 동기(DR·리전·격리·용량)를 설명할 수 있다.active-passive와 active-active 토폴로지·데이터 일관성 트레이드오프를 비교할 수 있다.cluster mesh·east-west gateway로 클러스터 간 서비스 통신 패턴을 설명할 수 있다.RPO·RTO 기준으로 DR failover 흐름(DNS·글로벌 LB)을 설계할 수 있다.Argo CD ApplicationSet으로 여러 클러스터에 동일 manifest를 배포하는 GitOps 모델을 설명할 수 있다.문제 상황단일 클러스터 장애 — 전 서비스 중단·복구 수 시간리전 요건 — 데이터 거주·지연 때문에 한 AZ 클러스터로 부족팀 별 blast radius — 실험 워크로드가 프로덕션 control pla..

서비스 메시

학습 목표서비스 메시가 K8s Service·Ingress와 다른 문제(L4/L7 내부 통신·보안·관측)를 해결하는지 설명할 수 있다.sidecar 프록시와 control plane·data plane 역할을 구분할 수 있다.mTLS(PeerAuthentication)로 서비스 간 암호화·신원을 적용하는 방식을 설명할 수 있다.VirtualService·DestinationRule로 traffic split·retry·timeout을 코드 없이 정책화할 수 있다.canary 배포와 mesh 트래픽 분할을 연계하고 도입 트레이드오프를 평가할 수 있다.문제 상황서비스 20개 — 각 팀이 retry·timeout·circuit breaker 라이브러리 제각각평문 ClusterIP 통신 — Pod 탈취 시 내부..

환경과 Workspace

학습 목표dev·staging·prod 환경을 Terraform으로 분리하는 대표 패턴을 비교할 수 있다.workspace와 directory per environment의 trade-off를 설명할 수 있다.terraform.tfvars·-var-file·TF_VAR_*로 환경별 변수를 주입할 수 있다.backend key·state 분리와 환경 전략을 함께 설계할 수 있다.실무에서 같은 module·다른 env 구조를 잡을 수 있다.문제 상황main.tf에 bucket = "myapp-prod" 하드코딩 — staging apply 시 prod 이름 충돌terraform workspace select prod 했는데 VPC가 dev와 공유 — workspace만 바꾸고 backend key는 그대로e..

관리형 서비스

학습 목표RDS·ElastiCache의 HA·연결·VPC 배치를 설계할 수 있다.S3 오브젝트 스토리지와 스토리지 클래스·라이프사이클을 워크로드에 맞게 선택할 수 있다.SQS·SNS로 비동기·fan-out 메시징을 설계할 수 있다.Lambda 이벤트 모델·cold start·VPC 연동 트레이드오프를 설명할 수 있다.직접 운영 vs 관리형 선택 기준을 비용·운영·제어 관점에서 비교할 수 있다.문제 상황EC2에 PostgreSQL 직접 — 패치·백업·장애 복구 올인RDS public 접근 허용 — 16편 VPC 설계 무력화캐시 없이 DB 조회 폭주 — p99 급등·connection pool 고갈로그·백업을 EBS에 쌓음 — 용량·비용 선형 증가주문 API 동기로 이메일·정산 처리 — 타임아웃·재시도 폭주..