GN⁺: Reclaim The Stack - 쿠버네티스 기반 배포 플랫폼
(reclaim-the-stack.com)- 우리는 7개월 동안 Kubernetes 기반 플랫폼을 구축하여 Heroku를 대체함
- SaaS 제품을 위해 mynewsdesk.com에서 Heroku를 대체할 Kubernetes 기반 플랫폼을 구축함
- 결과적으로 비용이 90% 절감되고 성능이 30% 향상됨
- 배포 시간 단축 및 더 빠르고 접근 가능한 도구로 개발자 경험을 크게 개선함
- 이제 전체 스택을 오픈 소스로 공개하여 7개월이 아닌 며칠 만에 동일한 작업을 수행할 수 있음
플랫폼 컴포넌트 - 각 컴포넌트에 대해서 Architecture Decision Record 포함
- Gitops : ArgoCD
- Ingress : Cloudflared
- PostgreSQL : CloudnativePG
- Redis : Spotahome's Redis Operator
- Elasticsearch : Elastic Cloud Kubernetes
- Secrets Management : Sealed Secrets
- Persistent Storage : Rancher Local Path Provisioner + OpenEBS Dynamic LocalPV Provisioner
- Monitoring : kube-prometheus-stack
- Log Aggregation : Qryn
- Service Mesh : Linkerd
GN⁺의 정리
- 이 기사는 Kubernetes 기반 플랫폼을 구축하여 Heroku를 대체한 경험을 공유함
- 비용 절감과 성능 향상, 개발자 경험 개선 등의 성과를 강조함
- 오픈 소스로 공개된 스택을 통해 다른 개발자들도 쉽게 동일한 작업을 수행할 수 있음
- Kubernetes와 같은 기술에 관심 있는 개발자들에게 유용한 정보임
- 유사한 기능을 제공하는 다른 프로젝트로는 OpenShift와 Rancher가 있음
Hacker News 의견
-
첫 번째 의견
- Docker, Mesos, Swarm, k8s를 사용해 수천 개의 스택을 구축하고 배포해 본 경험이 있음
- 중요한 것은 두 번째 날의 유지 관리임
- 많은 도구들이 앱을 서버에 배포하는 것을 쉽게 만들어줌
- 그러나 버전 변경, 의존성 문제, 재해 복구 계획 등 유지 관리가 중요함
- 이러한 문제를 해결할 팀, 예산, 문제가 있다면 더 나은 선택임
-
두 번째 의견
- 몇 년 전 k8s의 유행에 휩쓸려 모든 비즈니스를 k8s로 운영하려 했음
- 큰 실수였음
- DigitalOcean이 자동으로 클러스터를 업그레이드하면서 모든 비즈니스가 오프라인 상태가 됨
- 간단한 bash 스크립트와 systemd로 전환했으며, 다시는 돌아가지 않을 것임
-
세 번째 의견
- 인프라를 heroku에서 kubernetes로 이전하는 데 7개월이 걸릴 만큼 성공적인 비즈니스를 가지고 싶음
-
네 번째 의견
- 몇 개의 VM과 bash 스크립트만으로도 꽤 멀리 갈 수 있음
- DevOps 도구는 적을수록 더 나음
-
다섯 번째 의견
- 새로운 프로젝트를 보는 것은 좋음
- 대부분의 사람들은 Kubernetes로 시작하지 말아야 함
- 자동 확장이 필요 없다면 Kamal을 시도해보길 권장함
- 37signals가 Kubernetes와 클라우드를 떠나기 위해 만든 도구로, 간단한 VM과 잘 작동함
- 시작하는 사람들을 위한 핸드북도 작성했음
-
여섯 번째 의견
- Kubernetes 설정이 좋아 보임
- 그러나 Heroku와 비교할 때 복잡성이 훨씬 높음
- 더 간단한 것을 찾고 있다면 dokku나 lunni.dev를 시도해보길 권장함
- coolify.io도 좋은 평가를 받고 있음
-
일곱 번째 의견
- 인프라 팀이 있는 회사에서 일하고 있으며, CEO가 인프라에 열정적임
- terraform과 k8s를 사용해 인프라를 구축함
- 그러나 배포에 며칠이 걸리고, 인프라가 너무 복잡함
- 사용자 수가 많지 않아 확장성의 이점도 없음
- 스타트업은 사용자 기반이 충분히 형성되기 전까지 k8s를 사용하지 말아야 함
-
여덟 번째 의견
- 보안에 대한 기본 철학은 개발자와 클러스터 내의 사설 네트워크를 신뢰하는 것임
- 이 시스템을 신뢰하지 않고 구성하는 것이 복잡한지 궁금함
- 문제점이 어디에 있는지 알고 싶음
-
아홉 번째 의견
- Heroku를 대체하기 위해 Kubernetes 기반 플랫폼을 구축하는 데 7개월이 걸렸음
- 비용이 90% 절감되고 성능이 30% 향상됨
- 그러나 Heroku가 느리고 비쌌기 때문에 이 접근 방식이 최선인지 의문임
-
열 번째 의견
- dokku와 비교하면 어떻게 다른지 궁금함