Show HN: Distr 2.0 – 고객 환경에 배포하는 방법을 배우는 1년
Source: Hacker News
Introduction
1년 전, 우리는 Distr을 출시하여 소프트웨어 공급업체가 고객 배포를 원격으로 관리할 수 있도록 했습니다. 업데이트를 끌어오는 에이전트, GUI가 포함된 허브, 그리고 온‑프레미스 배포 요구 사항에 대한 여러 가정을 제공했습니다.
소프트웨어가 단순히 SSH로 접속할 수 없는 환경에서 실행될 때 상황이 복잡해진다는 것이 곧 명확해졌습니다.
지난 1년 동안 우리는 자체 개발 솔루션을 현대화하는 데에도 도움을 주었습니다:
- 업데이트 실패 시 이메일을 보내던 Bash 스크립트
- 고객 버전을 추적하기 위해 신뢰받지 못하던 Excel 시트
- 현장에 직접 방문해 문제를 해결하던 엔지니어들
- 이메일을 통한 디버그 세션(“로그 스크린샷을 찍어서 보내줄 수 있나요?”)
- 더 나은 옵션이 없어 내부 AWS 또는 GCP 레지스트리에 접근 권한을 가진 고객들
- 아무도 손대고 싶어 하지 않는 두 버전 뒤처진 배포
Breaking change: Customer organizations
우리는 첫 번째 파괴적 변경을 하기까지 1년을 기다렸고, 그 결과 주요 SemVer 상승이 있었습니다. 이 변경은 필수적이었습니다: 고객 조직을 관리하는 방식을 완전히 새롭게 작성했기 때문입니다.
- 벤더는 소프트웨어/AI 애플리케이션을 배포하고자 하는 제작자입니다.
- 고객은 이제 내부 사용자와 RBAC를 관리하는 고객 조직에 속합니다.
이전에는 모든 고객이 배포를 소유한 단일 사용자에 불과했습니다. 새로운 모델은 API 마이그레이션을 요구했습니다. 클라우드 고객은 원활히 전환했지만, 우리 API 위에 구축된 맞춤 솔루션은 업데이트가 필요했습니다.
Notable features since launch
- OCI 컨테이너 레지스트리 – google/go‑container‑registry의 변형 버전을 기반으로 하며, 단일 Docker 이미지에서 별도 포트로 제공됩니다. 이를 통해 벤더는 Docker 이미지와 기타 OCI 아티팩트를 자체 관리 배포용으로 배포할 수 있습니다.
- 라이선스 관리 – 어떤 고객이 어떤 애플리케이션이나 아티팩트 버전에 접근할 수 있는지를 제한합니다. 계약상의 합의를 코드화합니다(예: 특정 소프트웨어 버전에 대한 시간 기반 접근).
- 컨테이너 로그 및 메트릭 – SSH 접근 없이도 확인 가능했습니다. 우리는 시계열 데이터베이스 사용과 Postgres에 로그 저장 중 어느 쪽이 좋을지 논의했으며, Postgres 인덱스를 광범위하게 튜닝한 결과 현재 안정적으로 운영되고 있습니다.
- 시크릿 관리 – 데이터베이스 비밀번호가 설정 단계나 로그에 노출되지 않도록 보장합니다.
Adoption
Distr는 현재 200개 이상의 벤더가 사용하고 있으며, Fortune 500 기업을 포함해 온‑프레미스, GovCloud, AWS, GCP 환경 전반에 걸쳐 활용되고 있습니다. 사용자들은 헬스테크, 핀테크, 보안, AI 분야에 걸쳐 있습니다. 또한 첫 번째 에어‑갭 환경 작업도 시작했습니다.
Future plans (Distr 3.0)
우리는 고객의 클라우드 계정 및 물리적 환경에 인프라를 프로비저닝하고 업데이트할 수 있는 네이티브 Terraform / OpenTofu 및 Zarf 지원을 개발 중입니다. 이를 통해 벤더는 단일 플랫폼에서 BYOC 및 에어‑갭 사용 사례를 제공할 수 있게 됩니다.
Open source & documentation
- Repository:
- Docs:
우리는 YC S24에 참여하고 있습니다. 온‑프레미스 배포에 관한 질문에 기꺼이 답변해 드리며, 복잡한 고객 배포 경험에 대한 이야기도 듣고 싶습니다.