- 오픈소스 Observability Platform인 OneUptime이 AWS에서 베어메탈 솔루션으로 인프라를 이전하여 자원에 대한 통제력 향상과 상당한 재정적 절감 실현.
- 고객 대부분이 공공 클라우드 사용 중이며, 클라우드 장애 시 알림 서비스 제공을 위해 독립적인 데이터 센터 필요.
초기 설정: AWS에서 Kubernetes
- AWS의 관리형 Elastic Kubernetes Service (EKS)를 사용하여 Kubernetes 클러스터 채택.
- OneUptime은 Redis, Postgres, Clickhouse, Docker, NodeJS, BullMQ 등 AWS에 특화되지 않은 오픈소스 소프트웨어 기반 구축.
- AWS 의존성 피하고 고객이 자체 클러스터에서 OneUptime 자체 호스팅 가능하도록 함.
전환: 베어메탈로의 이전
- 기술적 우수성 추구의 일환으로 베어메탈 솔루션으로 전환 결정.
- 코로케이션 시설에서 Microk8s 클러스터 운영 선택, 과거 경험과 미래 지향적 목표에 기반.
- Microk8s는 생산 환경에서도 활용 가능하며, 베어메탈 서버로의 전환은 전용 자원 제공과 성능 최적화 가능.
Kubernetes와 Helm의 역할
- Kubernetes와 Helm은 클라우드에서 자체 서버로의 전환에서 중요한 역할 수행.
- Kubernetes는 애플리케이션 컨테이너 배포, 확장, 운영 자동화를 위한 오픈소스 플랫폼.
- Helm은 Kubernetes 애플리케이션 정의, 설치, 업그레이드 단순화하는 패키지 관리자.
스토리지와 로드밸런서
- 베어메탈 Kubernetes 클러스터에서 볼륨은 Network File System (NFS) 사용, 로드밸런서는 MetalLB 사용.
- NFS는 클라이언트 컴퓨터가 네트워크를 통해 파일 접근을 가능하게 하는 분산 파일 시스템 프로토콜.
- MetalLB는 표준 라우팅 프로토콜을 사용하는 베어메탈 Kubernetes 클러스터용 로드밸런서 구현.
재정적 영향: 연간 $230,000 이상 절약
- AWS 사용 시 월 $38,000 이상 지출, 연간 $456,000 이상.
- 베어메탈로 이전 후 코로케이션 파트너의 단일 랙 구성 사용, 월 운영 비용 약 $5,500으로 절감.
- 서버 비용을 5년간 분할 상각하면 연간 $230,000 이상 절약, 비용 절감으로 인력 확충 및 비즈니스 다른 분야에 자원 할당 가능.
고려 사항
- 데이터는 하루에 여러 번 두 사무실에 백업, 공공 클라우드에도 백업 가능.
- 다른 대륙의 두 코로케이션 시설에서 다중 위치 Kubernetes 클러스터 운영 가능.
- AWS에 백업 클러스터 준비, 재해 시 10분 이내에 구동 가능.
- 베어메탈로 전환 시 서버 관리자 고용은 필수 아님, 코로케이션 시설에서 하드웨어 유지 관리 대부분 담당.
- Microk8s는 개발 목적뿐만 아니라 생산 환경에서도 사용되며, 필요 시 다른 Kubernetes 배포판으로 쉽게 전환 가능.
결론
- AWS와 같은 클라우드 서비스는 유연성과 강력함 제공하지만, 모든 기업에 경제적인 선택은 아님.
- 오픈소스 기술 활용과 자체 하드웨어 투자로 자원 통제력 향상 및 운영 비용 상당히 절감.
- 각 비즈니스의 독특한 요구 사항이 있으므로 전환 전 종합적인 평가 필요.
GN⁺의 의견
이 글에서 가장 중요한 것은 기업이 클라우드 서비스에서 베어메탈 인프라로 전환함으로써 얻을 수 있는 통제력과 비용 절감의 이점임. 이 글이 흥미로운 이유는 기술적 결정이 재정적 성과에 어떻게 영향을 미칠 수 있는지 구체적인 사례를 통해 보여주기 때문임. Docker, Kubernetes, Helm, Microk8s와 같은 기술의 발전으로 인해 이러한 전환은 몇 년 전보다 훨씬 쉬워졌으며, 이는 기술 선택의 중요성과 전략적 접근의 가치를 강조함.