Kontaktní osoba:
Ing. Jiří Pinkas
Mobil: +420 774 912 047

Zdarma Java hosting: Heroku vs OpenShift


publikováno: 26.4.2015

Na Heroku i OpenShift je možné mít úplně zdarma Java web. aplikaci spolu s databází, přičemž to celé bude běžet na vlastní doméně. Tímto způsobem mi už přes rok běží v produkci některé mé weby, tudíž bych řekl, že s tím mám dost zkušeností a mohu porovnávat. Poznámka: Blíží se velký OpenShift upgrade (za dva měsíce), se kterým by se mohla vyřešit starší verze Javy a dalších aplikací (a také množství addonů).

Upozornění: Heroku 7.5.2015 oznámilo, že od července 2015 jejich free hosting výrazně omezí a prakticky bude kompletně nepoužitelný (idling každých 30 minut a aplikace bude mít uptime pouze 18 hodin - čili 6 hodin za den bude mít povinný výpadek ... čili tím prakticky zlikvidovali free hosting).

Funkce Heroku OpenShift
Number of web. apps
 
Neomezený počet aplikací.
3 aplikace per account.
Server
 
Vlastní Tomcat nebo Jetty, nejjednodušší je, aby aplikace byla spustitelný JAR soubor, který v sobě obsahuje embedded server (například Spring Boot), jinak je nutné použít Tomcat / Jetty runner
 
Tomcat / JBoss, nad verzí serveru není plná kontrola (což je problematické když je v té verzi zrovna nějaká chybička), zase na druhou stranu je to jednodušší pokud nepoužíváte Spring Boot.
Boot Timeout Aplikace musí nastartovat během 60 vteřin, jinak ji Heroku stopne. Tohle je obzvlášť nepříjemné zejména když aplikace používá Spring (singletony se vytvářejí při startu) a když se databáze automaticky generuje pomocí Hibernate (to se také děje při startu).
 
Žádný timeout při startu
Idling Když na jakoukoli webovou stránku během jedné hodiny nepřijde žádný požadavek, pak se "uspí" (v podání Heroku se celý server vypne).
 
Na jakoukoli web. stránku aplikace musí přijít požadavek během 24 hodin.
Latest Java Version
 
Java 8 (nejnovější)
Java 7 (starší, aktuálně je dokonce EOL - End Of Life)
Database
 
PostgreSQL 9.4 (nejnovější), max. 10 000 řádků ve všech tabulkách dohromady (ale uvnitř může být cokoli, i binární data nebo JSON objekty)
 
PostgreSQL 9.2 (starší - konkrétně 2,5 roku), MySQL, MongoDB, počet řádků je neomezený. Databáze sdílí disk s web. aplikací, serverem a případně dalšími daty, celkem 1 GB.
Files Na filesystém není možné nic ukládat, pouze tmp soubory, u nichž je zaručené, že tam zůstanou pouze po dobu provádění jednoho requestu na server.
 
Na filesystém je možné ukládat cokoli, jako u databáze se se vším všudy musíte vejít do 1 GB.
Upload web. aplikace
 
Git, GitHub, DropBox
Git
Custom WAR file Krátká odpověď: ne, dlouhá odpověď: ano, ale je to deprecated a v budoucnu to nemusí fungovat
 
ano, je možné libovolným způsobem vytvořit WAR soubor a ten nahrát na OpenShift
Uptime Heroku jednou za den provede automatický restart aplikace (s čímž je spojený výpadek a to je hodně otravné)
 
Žádný automatický restart jako u Heroku
Addons
 
U Heroku je spousta addonů (145 addonů), které ale většinou nevyužijete (nebo je možné je používat i bez Heroku). Poznámka: u addonů ať se jedná o Heroku nebo OpenShift je vždy riziko že mohou kdykoli přestat fungovat, jedná se o online služby externí subjektů.
Addonů moc není (32 addonů).
Poznámky
 
Práce s Heroku mi přijde víc high-level, víc věcí jde udělat klikacím způsobem ve webové administraci. 
Téměř všechno je nutné udělat z příkazové řádky. 

Závěr: neexistuje jednoznačné doporučení jestli preferovat Heroku nebo OpenShift, každý má své silné i slabé stránky.





comments powered by Disqus


Reference

" Co dodat? Byl to super kurz. Pěkné pochopitelné příklady k vybrané problematice. Rychlost školitele optimální, vše se dalo pěkně stíhat. Pokud účastník nevěděl nebo udělal chybu a nevěděl, tak školitel " podrobnosti ...

Michal

" S kurzem jsem byl maximálně spokojen. Na přednášejícím bylo vidět, že ví o čem mluví a dokázal zaujmout, i v případě neporozumění ochotně pomohl a danému člověku problém osvětlil. Rozhodně " podrobnosti ...

Josef

Embedit

" Java kurz byl pro mě velmi přínosný. Jiří je skvělý školitel, který dělá přesně to, co ho baví a na přístupu to bylo každý den velmi znát. Školení bych doporučil " podrobnosti ...

Filip


Novinky

OpenSlava 2017

Konference OpenSlava se bude konat v Bratislavě 5 - 6. října 2017 více ...

Dvoudenní školení Docker

Školení Docker povyrostlo na dvoudenní školení. více ...

Nové datum vydání Java 9: 21.9.2017

Mark Reinhold aktualizoval datum GA (General Availability) Java 9 na 21.9.2017. více ...

Juergen Hoeller v Brně (jeden z autorů Spring frameworku)! 15.3.2017

15.3.2017, 18:00, Brno, Smetanova 19. Nutná rezervace místa! více ...

Bilance Java školení 2016

Co se mi (ne)povedlo v roce 2016 a plány na rok 2017 více ...

Oracle se prý v roce 2017 zaměří na vynucení Java licencí a pokutování zákazníků

Jak nedostat od Oracle pokutu za komerční použití Javy? více ...