피드로 돌아가기
GeekNewsInfrastructure
원문 읽기
나는 클라우드를 만들고 있어요
K8s 오버엔지니어링 탈피 및 VM 기반 단순화로 인프라 비용 90% 절감
AI 요약
Context
소규모 비즈니스 앱에 Kubernetes를 도입하며 발생한 과도한 복잡도와 운영 비용 증가 문제 분석. SDN 및 제어 평면의 비대화로 인해 디버깅 노력과 다운타임이 오히려 증가하는 역설적 상황 발생.
Technical Solution
- Kubernetes 클러스터 제거 후 Debian 단일 VM 및 Kamal 기반 Docker 배포 체제로 전환하여 인프라 단순화
- Cloudflare IP 스위칭을 통한 단순 VM 교체 방식으로 고가용성(HA) 전략 대체
- WireGuard 오버레이 네트워크와 표준 Docker Compose 조합으로 Control Plane 없는 멀티 머신 확장 구조 설계
- Firecracker orchestrator 기반의 memory-state snapshot 도입으로 유휴 자원 반환 및 즉각적인 세션 복구 구현
- 로컬 NVMe 직접 연결 방식을 통한 I/O 병목 제거 및 애플리케이션 레이어의 데이터 복제 기반 중복화 설계
- 단순 Cron 기반의 docker pull/up 워크플로우와 Caddy 리버스 프록시 조합으로 배포 파이프라인 최소화
실천 포인트
- 트래픽 규모가 단일 고성능 VM으로 수용 가능한지 우선 검토 - K8s 도입 전 Kamal이나 Docker Compose 기반의 단순 배포 모델로 시작할 것 - 클라우드 벤더의 IOPS 제한 및 네트워크 과금 모델이 Lock-in을 유도하는지 분석 - 인프라의 고가용성을 제어 평면의 복잡성이 아닌 애플리케이션 레이어의 복제 전략으로 해결 가능성 타진