6P by neo 3달전 | favorite | 댓글 2개
  • 우리는 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와 비교하면 어떻게 다른지 궁금함