Stwórzmy własną platformę PaaS, działającą w Twoim środowisku.
Czy wyobrażasz sobie budowę swojego mini-Heroku?
Ekscytujące, prawda?
Mnie też!
Platforma jako usługa (PaaS) to model usług chmurowych, w którym dostawca udostępnia środowisko do tworzenia i wdrażania aplikacji. Często programiści czerpią korzyści z PaaS, co pozwala im skupić się na tworzeniu aplikacji, zamiast tracić czas na konfigurację platformy do ich uruchamiania.
Oczywiście, wielcy gracze rynkowi, tacy jak AWS, Azure czy Google Cloud, oferują zaawansowane rozwiązania PaaS. Jednak nie zawsze musisz z nich korzystać. W przypadku mniejszych firm, liczne rozwiązania typu mini-PaaS mogą z powodzeniem obsługiwać aplikacje na jednym lub kilku serwerach. To wystarczy do realizacji zadania, a jednocześnie pozwala zaoszczędzić sporo pieniędzy. Co ważniejsze, zaoszczędzony czas to oszczędzone pieniądze!
Oto zestawienie popularnych platform PaaS, które pozwolą Ci stworzyć własne środowisko do uruchamiania mniejszych aplikacji.
Dokku
Czy nazwa kojarzy Ci się z Heroku?
Słusznie!
Dokku to lekkie oprogramowanie o otwartym kodzie źródłowym. Wymaga minimum 1 GB pamięci RAM i działa na systemach CentOS, Ubuntu i Debian.
Dokku to mini-Heroku, wykorzystujący Docker i napisany w języku Bash. Aplikacje wgrywa się za pomocą Git; Dokku zajmuje się ich budową i uruchomieniem w izolowanych kontenerach.
Funkcje Dokku:
- Proste wdrożenia z użyciem Git.
- Dostępne wtyczki dla różnych języków programowania.
- Możliwość rozbudowy i dostosowania Dokku do własnych potrzeb.
- Łatwe w użyciu polecenia do zarządzania aplikacjami, użytkownikami, logami, itp.
- Opcja kontroli wdrożeń bez przestojów.
Możesz zainstalować Dokku na własnym serwerze lub uruchomić go za pomocą jednego kliknięcia na platformach Kamatera, DigitalOcean, lub Azure.
Jelastic – wersja Lite
Jelastic to platforma oferująca wielochmurowe rozwiązanie DevOps PaaS, które przyspiesza proces tworzenia oprogramowania, obniża koszty infrastruktury IT, minimalizuje przestoje i zwiększa bezpieczeństwo. Dostępna jest edycja Lite, posiadająca większość funkcjonalności wersji biznesowych i korporacyjnych, z pewnymi ograniczeniami. Niemniej, jest ona bardzo efektywna w przypadku małych aplikacji i pozwala na znaczną redukcję kosztów.
Jest to odchudzona wersja Jelastic, stanowiąca doskonały wybór przy ograniczonym budżecie. Idealna dla mniejszych przedsiębiorstw, takich jak start-upy, niewielkie sklepy internetowe, projekty gier, czy małe zespoły.
Funkcje Jelastic Lite:
- Panel deweloperski z opcjami wdrażania aplikacji.
- Obsługa kontenerów i Kubernetes.
- Automatyczne skalowanie w pionie i poziomie.
- Zapora sieciowa i uwierzytelnianie dwuskładnikowe dla użytkowników.
- Wbudowane narzędzia do monitorowania i rozwiązywania problemów.
- Dostęp do API, CLI i SSH w celu zarządzania kontenerami.
Edycja Jelastic Lite jest dostępna tylko w chmurach Google Cloud i DigitalOcean.
Flynn
Flynn to platforma PaaS typu open source, zaprojektowana do uruchamiania dowolnych aplikacji, które mogą działać w systemie Linux. Zapewnia środowisko dla zespołów programistycznych i operacyjnych do łatwego tworzenia, wdrażania i zarządzania oprogramowaniem. Możesz łatwo skonfigurować Flynna lokalnie lub zainstalować go na dedykowanym sprzęcie bądź u dostawcy usług chmurowych, za pomocą kilku komend.
Funkcje Flynna:
- Wbudowane bazy danych MySQL, MongoDB i PostgreSQL o wysokiej dostępności.
- Wbudowane wykrywanie usług, umożliwiające łączenie mikroserwisów.
- Skalowanie dostosowane do potrzeb, optymalizujące koszty w chmurze.
- Dedykowany i doświadczony zespół, który może zarządzać Twoim klastrem Flynna.
Hephy Workflow
Hephy Workflow upraszcza wdrażanie i zarządzanie aplikacjami w klastrze Kubernetes. Jest to kontynuacja projektu Deis Workflow, który został zapoczątkowany w 2017 roku. W 2018 roku zespół Deis Workflow zakończył jego rozwój, skupiając się na projektach Microsoft Azure.
Hephy Workflow składa się z małych, niezależnych usług, które wspólnie tworzą rozproszoną platformę PaaS. Komponenty te są wdrażane jako usługi w klastrze Kubernetes. Platforma definiuje dwie role użytkowników: zwykłego użytkownika i administratora.
Zwykły użytkownik ma możliwość tworzenia i wdrażania aplikacji. Administrator, oprócz uprawnień zwykłego użytkownika, posiada także pełny dostęp do zarządzania aplikacjami.
Funkcje Hephy Workflow:
- Budowanie obrazów z plików docker oraz pakietów buildpack.
- Routing HTTP/HTTPS dla aplikacji.
- Wydawanie i wycofywanie wdrożeń aplikacji.
- REST API dla CLI i integracji z innymi systemami.
- Uwierzytelnianie i autoryzacja w celu zabezpieczenia aplikacji.
CapRover
CapRover to platforma do zarządzania aplikacjami, która jest niezwykle łatwa w obsłudze i w pełni zautomatyzowana. Można ją porównać do zaawansowanego Heroku o otwartym kodzie źródłowym.
CapRover może być używany do hostowania aplikacji napisanych w Node.js, PHP, Java, WordPress, MongoDB, MySQL, Nginx i wielu innych technologiach.
Możesz rozpocząć pracę z CapRover na DigitalOcean za pomocą konfiguracji aplikacji jednym kliknięciem.
Funkcje CapRover:
- Interfejs wiersza poleceń do tworzenia skryptów i automatyzacji.
- Graficzny interfejs użytkownika do wizualizacji stanu aplikacji.
- Równoważenie obciążenia za pomocą Nginx.
- Bezpłatne certyfikaty SSL dzięki Let’s Encrypt.
- Konteneryzacja i klastrowanie przy użyciu Docker Swarm.
Tsuru
Tsuru to lekka i łatwa w użyciu platforma PaaS o otwartym kodzie źródłowym. Jeśli masz aplikację w języku Python, która wymaga również instancji serwera MongoDB, Tsuru połączy obie te usługi i uruchomi je jednocześnie, w kontenerach Dockera.
Tsuru oferuje wiele opcji konfiguracji jako platforma. Jeśli nie jesteś zadowolony z dostępnych szablonów, możesz również stworzyć własną platformę.
Funkcje Tsuru:
- Dynamiczne skalowanie aplikacji.
- Uruchamianie aplikacji w architekturze rozproszonej w celu optymalizacji zasobów.
- Obsługa aplikacji napisanych w dowolnym języku, wykraczając poza standardy aplikacji 12-czynnikowych.
- Szybkie wdrożenia aplikacji za pomocą pusha git.
- Łatwa integracja z platformami IaaS, takimi jak AWS EC2 i Apache Cloudstack.
Piku
Piku to najmniejsza platforma PaaS, przypominająca Heroku i CloudFoundry. Piku jest inspirowane Dokku i wdraża aplikacje za pomocą polecenia git push. Działa w środowiskach POSIX, takich jak Linux, Windows Subsystem for Linux, FreeBSD i Cygwin.
Funkcje Piku:
- Obsługa workflow podobnego do Heroku.
- Funkcjonalny styl programowania, upraszczający użytkowanie.
- Obsługa aplikacji w językach Go, Python, Closure (Java) i Node.js.
- Kompatybilność wsteczna tam, gdzie to możliwe.
- Obsługa aplikacji 12-czynnikowych.
Podsumowanie
Na co czekasz? Wypróbuj powyższe oprogramowanie, aby stworzyć własną platformę PaaS. Większość z nich jest dostępna na licencji open source, więc możesz skorzystać z serwera w chmurze i zacząć testować, aby sprawdzić, które rozwiązanie będzie dla Ciebie najlepsze.
Następnie naucz się Dockera.