Serverless DataOps
- [Engneering] 왜 Severless인가 ?
- [Engneering] Serverless 무료 티어 및 과금요소 정리
- [Engneering] 왜 SAM이 아니라 AWS CDK 인가 ?
- [Engneering] 왜 AWS CDK를 Python으로 구현했는가 ?
- [IaC] 왜 app.py 에서 스택을 Core, Pipelines 등 여러 계층으로 분리했는가?
- [IaC] 왜 dev, staging, prod 로 환경별 설정을 분리했는가?
- [IaC] 왜 SecurityStack 에서 IAM 역할을 중앙 관리하고 다른 스택에 주입하는가?
- [IaC] 왜 ObservabilityStack 을 별도로 분리하여 알람를 관리하는가?
- [CI/CD] 왜 GitHub Actions Deploy Workflow에서 Access Key 대신 OIDC를 사용하는가?
- [S3 Bucket] 파티션 키를 어떻게 설계할 것인가?
- [Lambda] 왜 Lambda를 Handler와 Layer로 분리했는가?
- [Extract] 왜 Lambda를 Orchestrator & Worker 분리 및 Fan-Out 패턴을 사용하였는가?
- [Extract] DynamoDB을 왜 사용했는가? (목적, 실행 중심으로)
- [Extract] 왜 Dead-Letter Queue (DLQ) 를 사용하는가?
- [Extract] Idempotent 를 왜, 어떻게 구현했는가?
- [Transform] (Step Functions) sfn을 언제 시작할것인가?
- [Transform] (Step Functions) sfn이 하루에 약 $33 청구된 이유
- [Transform] (Glue) Glue 동시성에 대하여, 동시 실행 초과 시 재시도/ 대기 로직 (병렬 vs 순차)
- [Transform] (Glue) 왜 Lambda를 사용하지 않고 Glue를 사용하였는가?
- [Transform] (Step Functions) 왜 중앙 집중식 오류 처리를 구현했는가?
- [Transform] (Step Functions) 왜 "Schema Change Decider" Step을 두었는가?
- [Transform] (Glue) 왜 Glue Job Bookmarks를 사용하지 않는가?
- [Transform] (Glue) Glue 비용 최적화 & 1GB 미만 데이터를 위한 ETL vs ELT
- [Transform] (Step Functions) 왜 Map 상태의 동시성을 1로 제한했는가(임시)? (현재:3)
- [Transform] JSON vs. Parquet (목적 중심으로, 왜 사용하는지)
- [Transform] (Glue) 왜 Glue Crawler & Catalog 을 사용하는가?
- [Transform] (Glue) 왜 Glue Crawler를 Map State 밖에서 실행하는가 ?
- [Load] 왜 AWS Redshift Serverless가 아닌 On-Premise DW(Clickhouse) 인가?
- [Load] 왜 Curated S3 → ClickHouse 단계에서 Push → Pull 방식으로 변경했는가?
- [Load] 왜 Dead-Letter Queue (DLQ) 를 사용하는가?
- [Test] 왜 tests/unit, integration, e2e 로 테스트를 분리했는가?
- [Test] 왜 moto와 LocalStack을 구분하여 사용했는가?