피드로 돌아가기
Dev.toInfrastructure
원문 읽기
$11 ARM 서버에 K3s와 Go 기반 PaaS를 구축한 초저비용 고효율 아키텍처
I Run a Full PaaS on One $11/Month ARM Server. Here's What the Resource Usage Actually Looks Like.
AI 요약
Context
AWS Managed Kubernetes 환경의 높은 기본 비용과 제어 평면 오버헤드로 인한 진입 장벽 존재. 소규모 멀티테넌트 플랫폼 구축을 위해 고비용 Managed Service 대신 저사양 단일 서버 기반의 자원 최적화 설계 필요.
Technical Solution
- etcd를 SQLite로 대체하여 Control Plane 메모리 사용량을 2-3GB에서 600MB 미만으로 절감한 K3s 도입
- 정적 컴파일 언어인 Go를 활용해 API 서버를 단일 바이너리로 구축하여 Baseline RAM 사용량을 13MB로 최소화
- ARM64 네이티브 지원 런타임 및 이미지를 채택하여 x86 대비 4.5~9배의 가성비를 확보한 Compute 자원 구성
- 데이터베이스 및 메시지 큐를 컨테이너 기반으로 직접 운영하여 Managed Service의 고정 비용 발생 차단
- Traefik Ingress와 cert-manager를 통한 자동 SSL 프로비저닝 및 테넌트 라우팅 구조 설계
- Loki와 Promtail 기반의 경량 Observability 스택을 구축하여 제한된 자원 내 로그 집계 환경 구현
실천 포인트
- 메모리 제약 환경인 경우 etcd 대신 SQLite를 사용하는 K3s 검토 - 런타임 메모리 오버헤드 감소를 위해 Node.js/Java보다 Go 기반의 컴파일 언어 채택 고려 - ARM64 아키텍처의 비용 효율성을 활용하기 위해 Native Image 빌드 파이프라인 구축 - 초기 단계에서는 Managed DB 대신 컨테이너 기반 DB를 운영하고, 성장에 따라 프리미엄 티어로 분리하는 전략 수립