이 7가지 소프트웨어로 나만의 미니 PaaS를 구축하세요
자체 PaaS 구축하기
미니 Heroku를 직접 만든다고 상상해 보세요. 멋지지 않나요?
저는 정말 흥분됩니다!
PaaS(Platform as a Service)는 클라우드 컴퓨팅 서비스의 일종으로, 서비스 제공업체가 애플리케이션 개발 및 배포를 위한 기반 환경을 제공합니다. 개발자는 PaaS를 활용하여 애플리케이션을 만드는 데 집중할 수 있으며, 플랫폼 자체를 구축하는 데 시간을 낭비할 필요가 없습니다.
AWS, Azure, Google Cloud와 같은 대규모 기업들은 이미 강력한 PaaS 솔루션을 제공하고 있습니다. 하지만 항상 대기업의 솔루션만 사용해야 하는 것은 아닙니다. 소규모 기업의 경우, 단일 서버 또는 몇 대의 서버만으로도 작은 애플리케이션을 간편하게 실행할 수 있는 미니 PaaS 솔루션이 많이 존재합니다. 이러한 솔루션을 사용하면 비용을 절감할 수 있으며, 특히 시간과 자원을 절약하는 데 큰 도움이 됩니다.
다음은 소규모 애플리케이션 실행을 위한 자체 플랫폼을 구축하는 데 유용한 PaaS 소프트웨어 목록입니다.
Dokku
Heroku와 비슷하게 느껴지시나요?
네, 맞습니다!
Dokku는 오픈 소스 경량 소프트웨어로, 1GB의 메모리만 있으면 CentOS, Ubuntu, Debian 환경에서 작동합니다.
Dokku는 Docker를 기반으로 하며 bash로 작성된 미니 Heroku입니다. Git을 사용하여 애플리케이션을 푸시하면, Dokku가 해당 애플리케이션을 빌드하고 격리된 컨테이너 내에서 실행합니다.
Dokku의 주요 특징:
- Git을 이용한 간편한 배포
- 다양한 프로그래밍 언어 지원 플러그인
- 확장 및 사용자 정의 가능
- 애플리케이션 관리, 사용자 관리, 로깅 등을 위한 편리한 명령어
- 제로 다운타임 배포를 위한 사용자 정의 점검 옵션
Dokku는 서버에 직접 설치하거나, Kamatera 또는 Azure를 통해 클릭 한 번으로 시작할 수 있습니다.
Jelastic – Lite 에디션
Jelastic은 멀티 클라우드 DevOps PaaS 솔루션으로, 개발 속도를 높이고 IT 인프라 비용을 절감하며 가동 시간을 늘리고 보안을 강화하는 데 도움을 줍니다. Jelastic은 비즈니스 및 엔터프라이즈 버전과 유사한 기능을 대부분 갖춘 라이트 버전을 제공합니다. 일부 제한 사항이 있지만, 소규모 애플리케이션에 충분히 효과적이며 비용 절감에 매우 유용합니다.

Jelastic Lite 에디션은 제한된 예산을 위한 최적의 선택이며, 스타트업, 소규모 전자상거래 웹사이트, 게임 프로젝트, 소규모 고용 등 소규모 비즈니스에 적합합니다.
Jelastic Lite 에디션의 주요 특징:
- 애플리케이션 배포 옵션이 포함된 개발자 대시보드
- 컨테이너 및 Kubernetes 지원
- 자동 수직 및 수평 확장
- 최종 사용자를 위한 방화벽 및 이중 인증
- 내장된 모니터링 및 문제 해결 도구
- 컨테이너 관리를 위한 API, CLI, SSH 접근
Jelastic Lite 에디션은 Google Cloud와 DigitalOcean에서만 이용 가능합니다.
Flynn
Flynn은 Linux에서 실행 가능한 모든 것을 실행할 수 있도록 개발된 오픈 소스 플랫폼입니다. Flynn은 개발 및 운영 팀이 소프트웨어를 쉽게 개발, 배포 및 관리할 수 있도록 돕습니다. 몇 가지 명령을 통해 로컬 환경에 쉽게 설정하거나, 전용 하드웨어나 클라우드 제공업체에 설치할 수 있습니다.
Flynn의 주요 특징:
- 고가용성을 갖춘 내장 MySQL, MongoDB 및 PostgreSQL 데이터베이스
- 모든 마이크로서비스를 연결하는 내장 서비스 검색 기능
- 필요에 따라 확장하여 클라우드 비용 절감
- Flynn 클러스터 운영 경험이 풍부한 전담 팀 지원
Hephy Workflow
Hephy Workflow는 Kubernetes 클러스터에서 애플리케이션을 쉽게 배포하고 관리할 수 있도록 돕는 플랫폼입니다. 이 프로젝트는 2017년에 시작된 Deis Workflow의 포크이며, 2018년에 Deis 워크플로 팀이 작업을 중단하고 Microsoft Azure 프로젝트로 이동했습니다.
Hephy Workflow는 분산 PaaS를 만들기 위해 결합된 작고 독립적인 서비스들로 구성됩니다. 이러한 구성 요소는 Kubernetes 클러스터에 서비스로 배포됩니다. 워크플로에는 일반 사용자 및 관리자의 두 가지 사용자 클래스가 있습니다.
일반 사용자는 애플리케이션을 개발하고 배포하는 기능을 가집니다. 관리자는 일반 사용자가 할 수 있는 모든 작업에 더하여, 애플리케이션에 대한 소유자 액세스 권한을 가집니다.

Hephy Workflow의 주요 특징:
- Dockerfiles 및 buildpacks에서 코드를 컴파일하는 이미지 빌더
- 애플리케이션을 위한 HTTP/HTTPS 에지 라우팅
- 애플리케이션 릴리스 및 롤백
- CLI 및 통합을 위한 REST API
- 애플리케이션 보안을 위한 인증 및 권한 부여
CapRover
CapRover는 학습이 매우 쉬우며, 완전 자동화된 애플리케이션 플랫폼입니다. Heroku를 잘 알고 있다면 CapRover를 강력한 오픈 소스 Heroku로 생각하면 됩니다.
CapRover는 Node.js, PHP, Java, WordPress, MongoDB, MySQL, Nginx 등을 호스팅하는 등 다양한 용도로 사용할 수 있습니다.

DigitalOcean에서 원클릭 앱 설정을 통해 CapRover를 시작할 수 있습니다.
CapRover의 주요 특징:
- 스크립팅 및 자동화를 위한 명령줄 인터페이스
- 사용자가 애플리케이션과 관련된 모든 것을 시각화할 수 있는 웹 GUI
- Nginx를 통한 로드 밸런싱
- Let's Encrypt를 이용한 무료 SSL 인증서
- Docker Swarm을 이용한 컨테이너화 및 클러스터링
Tsuru
Tsuru는 가볍고 사용하기 쉬운 오픈 소스 PaaS입니다. 예를 들어, MongoDB 서버 인스턴스가 필요한 Python 애플리케이션이 있다고 가정해 봅시다. Tsuru는 Python 앱과 데이터베이스를 함께 구성하여 동시에 실행합니다. 이 플랫폼은 도커 컨테이너 내에서 애플리케이션을 실행합니다.

Tsuru는 플랫폼으로 선택할 수 있는 여러 옵션을 제공합니다. 기존 플랫폼이 마음에 들지 않는 경우, Tsuru를 사용하여 자신만의 플랫폼을 만들 수도 있습니다.
Tsuru의 주요 특징:
- 애플리케이션을 쉽고 동적으로 확장
- 분산 아키텍처에서 애플리케이션을 실행하여 리소스 활용
- 모든 언어로 작성된 애플리케이션 실행 가능. 12팩터 앱 방법론 준수
- 애플리케이션을 빠르게 배포하기 위한 간편한 git push
- AWS EC2, Apache Cloudstack과 같은 IaaS와 간편한 통합
Piku
Piku는 Heroku/CloudFoundry와 유사한 가장 작은 PaaS입니다. Piku는 Dokku에서 영감을 받았으며, git push를 사용하여 자체 서버에 애플리케이션을 배포할 수 있습니다. Linux, Linux용 Windows 하위 시스템, FreeBSD 및 Cygwin과 같은 POSIX 환경에서 작동합니다.

Piku의 주요 특징:
- Heroku와 유사한 워크플로우 지원
- 사용자 경험을 단순화하는 기능적 코딩 스타일
- Go, Python, Closure(Java) 및 Node.js로 작성된 앱 지원
- 이전 버전과 최대한 호환
- 12팩터 앱 지원
결론
무엇을 기다리고 있나요? 위에 소개된 소프트웨어를 사용하여 PaaS를 직접 구축해 보세요. 대부분 오픈 소스이므로 클라우드 서버를 구입하고 어떤 것이 본인에게 더 적합한지 알아보기 시작할 수 있습니다. 다음 단계로 Docker를 배우는 것도 좋은 생각입니다.