Nová administrace

I když jsme vám to tak trochu neřekli, dneska jsme udělali velký krok. Po více než roce vývoje, jsme nasadili novou administraci. Na adrese https://admin.rosti.cz už nenajdete starou bootstrap2 šablonu, ale moderní, od základu přepsaný kód, založený na DJango 1.8 a Pythonu 3.4.3. Je to pro nás ohromný krok, protože nová administrace je prostě k sežrání z tolika důvodů. Nasadili jsme také novou homepage, ale ta už tolik změn nemá. Jen přepsané všechny texty a vypadá trochu líp 🙂

Začnu tím, že na rozdíl od staré, jsme u nové administrace napsali nejdříve dva nefunkční prototypy. Pomohlo nám to hodně, protože jsme nakonec vyvážili vlastnosti a pracnost.

Také jsme design a UX nové administrace nenavrhovali tak úplně sami, ale pomáhal nám Vladimír Bareš z http://fakedesign.cz/. Bez jeho práce by administrace nevypadala tak jak dnes vypadá. Jsme sice velmi dobří správci serverů a Martin je výborný programátor, ale design a UX, to nejsou naše silné stránky. Proto Mírovi děkujeme, to jak Roští dnes vypadá, to je jeho práce.

A teď trocha historie. Když jsme měli rozpracovaný třetí prototyp, šel jsem do nemocnice na operaci ramene. Nemohl jsem nějaký čas poté hýbat rukou, ale na klávesnici jsem nějak dosáhl a v tomto stavu s hnisající ránou na levé ruce, jsem napsal základní stavební kámen nové administrace. Nazval jsem ho dopanel, psal jsem ho celý víkend a hned ho poslal Martinovi. Tomu se to hrozně líbilo, ale jak jsem psal, z nás dvou je on programátorem a to se vším všudy. Takže mě to donutil přepsat. Po dalších dvaceti hodinách jsme měli křišťálově čistou knihovnu pro práci s Dockerem včetně integrace do Django administrace. Dopanel toho už tenkrát uměl mnohem víc, než administrace využije i dnes. Podporuje orchestraci nebo SSL certifikáty, ale tohle všechno ještě na své rozhraní pro uživatele čeká.

Další hackathony se táhly v duchu tvrdé práce na rozhraní administrace. Už o Vánocích jsme měli administraci, která šla používat. Možná dokonce ještě dřív. Ale jak je známo, tak 80 % produktu dělá posledních 20 % kódu. Měsíc co měsíc jsme se scházeli a dolaďovali detaily. Když jsme spolu nebyli, pracovali jsme na těchto detailech i po večerech. Mnoho kódu bylo napsáno i zahozeno, ale i když to bylo občas těžké a hlavně demotivační, dotáhli jsme to do konce.

Hodně nás minulý rok trápil Docker, kterému jsme svěřili naši budoucnost. Ještě na podzim jsme nemohli říct, že by se jednalo o stabilní kus softwaru a testovali jsme ho na malých projektech měsíce, než jsme se konečně uklidnili. Jedním z nich byl i Rošťácký webmail 🙂

Mezitím jsme se také stali firmou a koupili další čtyři servery, ale teď už tu před vámi stojíme a můžeme zvolat JE TO TAM. Nová administrace je nasazena a kdybych měl ohňostroj, jdu ho ven vypustit, protože s Martinem máme ohromnou radost.

Naše práce samozřejmě nekončí. Musíme vymyslet podporu pro SSL certifikáty (nyní je nasazujeme ručně), pracujeme na podpoře pro googlí modul pagespeed do Nginxu, protože pomůže při optimalizaci vašich webů pro mobilní i jiná zařízení, tak jak Google v posledních dvou měsících od provozovatelů stránek vyžaduje. A bude toho ještě víc, ale teď si chceme trochu odpočinout. V srpnu budeme mít další hackathon a určitě vám napíšeme, co si z těch všech možností vybereme.

A neopustím si ani trochu osobní komentář. S Roštím jsem začal sám, napsal jsem ho za tři měsíce před šesti lety, chodil jsem tenkrát ještě na vysokou školu v Pardubicích. Byla to moje první velká zkušenost s Pythonem a ještě rok trvalo, než jsem hosting spustil. Byla to moje druhá administrace a celkem třikrát jsem ji přepsal. Nejdříve jsem přemigroval z mod_wsgi na uwsgi s virtualenvy a pak jsem přepsal aplikace tak, aby každá měla svého systémového uživatele. Před touto změnou měl každý uživatel systémového uživatele a aplikace ho sdílely. Nebylo to úplně dobré pro bezpečnost ani pro správu. Podpora pro první způsob je v teď už staré administraci doteď a někteří uživatele nepřešli a i přes to, že jsem odstranil z menu odkazy na přidání nových aplikací, uživatelé je stejně našli. Stará administrace byla totiž dlouhou dobu open source a tak uživatelé mohli jít a najít si URL adresy formulářů pro přidání.

Tady mě napadá, že zkusíme zvážit otevření kódu staré administrace. Někomu to třeba pomůže.

Open source model, konkrétně licenci BSD jsem zvolil, aby mi lidé mohli pomoci s vývojem. Roští tenkrát moc nevynášelo a já neměl peněz nazbyt a nechtěl všechno psát sám. Nakonec pár vlastností přidal yetpodtržítko a ještě jedna dobrá duše. Děkuji oběma, pomohli jste. Obecně ale tento model úspěšný nebyl, tak když se připojil k Roští Martin, administraci jsme uzavřeli a nová už nemá zdrojový kód nikde veřejně.

Stará administrace pro mě znamenala hodně. V poslední době hlavně vrásky, ale jinak hodně i těch lepších věcí 🙂 Je to největší aplikace, co jsem kdy sám napsal, verze co teď běží na serverech má 15 000 řádek. Nová administrace se zatím drží vzadu s 10 500 řádky, ale nepochybuji, že brzy naroste.

A tady to asi ukončím. Ze staré administrace na novou budeme migrovat ještě během tohoto roku. Prozatím pracujeme s variantou, kdy se z každého serveru vytvoří image, do kterého se namigrují data uživatelů ze staré administrace. Tento image bude mít speciální cenu shodnou s cenou staré administrace. Jakákoli změna, ale změní také ceník. Celé tohle bude ještě výzva se spoustou proměnných, ale pokud to někdo dokáže, tak to jsme my.

Děkujeme, že jste to dočetli až sem a také děkujeme, že jste naši uživatelé. Máme vás rádi a rádi vás uvidíme na Roští i s vaším kódem.