PaaS with Dokku

Създайте своята собствена Платформа-като-услуга (с Dokku)

Един от популярните доставчици на PaaS в днешно време е Heroku. Heroku заедно с други доставчици като Engine Yard е предпочитан от програмистите, защото улеснява значително внедряването на нови приложения. Тъй като повечето програмисти по-скоро пишат код, отколкото да подобряват или поправят сървъри, не е трудно да се разбере защо подходът на Хероку е подходящ.

Един от основните инструменти на технологията на Heroku е Docker. За тези, които не са запознати задълбочено с Docker, това е система от комaнди за автоматизацията на LinuX апликации в софтуерни контейнери (LXC). (Kонцепцията далеч не е нова – вече повече от десетилетие намира приложение в FreeBSD Jails и Zones на Solari.) Накратко, тази технология предоставя много от преимуществата, които виртуалните машини (VM) могат да предложат (раздробяване и изолиране), но без излишните усложнения.

Ако не желаете да разчитате на PaaS като Heroku или Engine Yard, с помощта на инструменти като Dokku и Fig можете бързо да изградите своя PaaS, която да функционира по същия начин (само без красивия уеб интерфейс). Освен тези инструменти съществува и много по-амбициозен проект наречен Flynn, който се е нагърбил със задачата да създаде цялостна PaaS услуга, която да поддържа множество сървъри.

В тази статия обаче ще използваме Dokku. За да започнете, ще ви трябва следното:

  • Виртуална машина Ubuntu 12.04
  • Адекватно конфигуриран FDQN (‘име.на.домейн.com’, който да сочи към сървъра)
  • По желание: постоянен IP (използван за FQDN)

Ресурсите, които ще са ви необходими, зависят от конкретното приложение, което искате да подкарате в контейнерите. Ако само искате да тествате, 2GB RAM, 2GHz CPU и 20GB дисково пространство ще ви бъдат достатъчни. Ако все още нямате тестови акаунт в CloudSigma, може да си създадете един веднага.

След като сте направили работеща система, всичко, от което се нуждаете, е да подкарате следните команди (от инструкциите за инсталация):
[bash] $ sudo apt-get update
$ sudo apt-get install -y python-software-properties
$ wget -qO- https://raw.github.com/progrium/dokku/v0.2.2/bootstrap.sh | sudo DOKKU_TAG=v0.2.2 bash
[/bash]

Веднъж инсталирали Dokku, трябва да следвате следните конфигурационните стъпки:

Когато вече Dokku е инсталиран и конфигуриран, лесно можете да внедрите първото приложение по начин, подобен на този, ако трябваше да позлвате Heroku (от Git). Така функционира на практика.

Това е. Сега имате своя лична работеща PaaS, в която да внедрите проектите си без усилие. Последно имайте предвид, че за изграждането на производствена среда по-скоро трябва да инсталирате Nginx върху хост и да го настроите да работи като reverse proxy на приложението (т.е. proxy между ‘http://име.на.домейн.com’ и ‘http://вашия.сървър:номер на порта’).