“Hackathon bez internetu?” posmívala se v komentářích pod pozvánkami na loňský #kiwicomtrainhack IT komunita napříč weby i sociálními sítěmi. Poznámky se zdály oprávněné, internetové připojení v českých vlacích má různou kvalitu a pořádat hackathon, na kterém je kvalitní internetové připojení základním požadavkem na organizátory, se zdálo být troufalé.
Nakonec nebylo a internet až na krátké výpadky při průjezdu přes Tatry, se kterými se dopředu počítalo, šlapal jako hodinky.
Hackathon ve vlaku v listopadu 2017 pořádalo Kiwi.com ve spolupráci s přepravcem RegioJet, který poskytl dva vagony ve vlakové soupravě pravidelné linky jedoucí z Prahy do Košic a zpět. Organizátoři nechtěli na standardní připojení zcela spoléhat a udělali proto několik opatření, aby připojení posílili a stabilizovali.
Za Kiwi.com si připojení k internetu vzali na starost backend developeři Bence Nagy a Simone Esposito, kteří připravili vlastní server (běžící na notebooku s Ubuntu serverem), abychom měli vlastní offline infra síť, na které fungovaly následujcí nástroje:
- GitLab Enterprise
- chatovací aplikace Mattermost
- Alpine 3.6 a nejaktuálnější kopie programovacích balíčků
- Top 1000 NPM balíčků využívajících 3 různé metriky a jejich závislostí
- kompletní PyPI
Naše hardwarová infrastruktura se skládala z:
- 3 UBNT AP AC PRO
- 3 PoE adaptérů
- 4 switchů, které propojovali vozy, které jsme pro trainhack využívali
- notebooku, na kterém běžel Ubuntu server a který hostoval software
Na čem se podílel RegioJet?
- Nainstalovali ve vlaku lepší anténu, která zajišťovala kvalitnější příjem 3G / 4G ve vlaku
- Poskytli nám Ethernet kabely, kterými jsme propojili naše routery a oba vozy, které jsme při hackathonu využívali.
Co účastníci ocenili?
- Lokální sít pro GitLab nástroje
Od čeho jsme čekali, že to lidé ocení, ale nevyužívalo se:
- Lokální kopie Alpine, Python a Node souborů. Internet celou cestu fungoval skvěle, takže si lidé mohli potřebné věci stahovat přímo z internetu.
Z čeho jsme měli obavy, ale nakonec fungovalo:
- Internet. Téměř celou cestu šlapal bez chyby.
- Naše interní síť. Když zrovna nevypadla elektřina, internet fungoval a bylo snadné ho nastavit. V tomto případě nám hodně pomohl náš ICT inženýr Martin Frič, který nám dopředu nachystal balíček s vybavením, které bychom během cesty mohli potřebovat, včetně spousty záložních možností pro případ, že se něco pokazí.
Od čeho jsme naopak neočekávali komplikace, ale nefungovalo:
- Elektřina. Během cesty nám několikrát vypadl proud, jednou na více než 30 minut, a celá naše síť vypadla.
- Chat nebyl optimální. Měli jsme pravděpodobně zvolit něco jako Google Hangouts nebo alespoň něco s dvěma vstupními body, připojit se zvenčí vlaku i zevnitř, možná bychom příště mohli vyzkoušet IRC.