데브허브 | DEVHUB | How DHH Solved Deploying to Production (with open source)How DHH Solved Deploying to Production (with open source)
- Kamal은 Ruby on Rails 창시자 DHH가 복잡하고 유료인 배포 시스템을 대체하기 위해 개발한 오픈소스 도구입니다. 🛠️
- 복잡한 설정 없이 SSH 접근이 가능한 우분투 서버만 있으면 배포 가능하며, 라즈베리 파이부터 다양한 클라우드까지 지원합니다. 🚀
- 유료 서비스 없이 프로덕션 수준의 자동화, 제로 다운타임 배포, 시크릿 관리, CI/CD 통합을 제공합니다. 💰
- 애플리케이션과 보조 시스템(예: Redis)을 다른 대륙, 다른 클라우드 공급자에 분리하여 배포할 수 있습니다. 🌍
- Let's Encrypt를 사용하여 SSL 인증서 생성 및 설치를 자동화하고, 환경 변수나 파일 등을 통해 시크릿을 안전하게 관리합니다. 🔐
- 데이터베이스나 캐시와 같은 보조 시스템을 '액세서리'로 정의하여 애플리케이션 배포와 독립적으로 관리합니다. 🔌
- 변경 사항 배포 시 부드러운 롤링 업데이트를 통해 서비스 중단 없이 새 버전을 적용합니다. 🔄
config/deploy.yml 파일을 통해 애플리케이션 이미지, 서버 목록, 시크릿, 훅 등을 간결하게 정의합니다. 📝
- 베어 메탈 서버 소유를 지지하는 DHH의 철학을 반영하여, 클라우드 종속성을 줄이는 데 기여합니다. ☁️
- 복잡한 노드 타입이나 통합이 필요 없는 경우 Kubernetes보다 훨씬 간결하고 빠르게 배포할 수 있습니다. 🏎️