Věk virtualizace

Roští v následujících týdnech projde řadou změn a byla by škoda vás ochudit o všechny informace. Poslední měsíc byla v ledasčem vylepšena administrace, například byl přidán editor DNS záznamů, vylepšena správa kreditového systému a opraveny nalezené chyby. Čas byl investován i do vyčištění kódu a hlavně do podpory virtualizace.

Od počátku stojí Roští na dvou serverech. První je hlavní a běží na něm většina služeb, tedy weby i pošta. Druhý je záložní, relativně pomalý a stará se o zálohování. K těmto dvěma se nyní přidá třetí server, který se bude dělit o zátěž se současným hlavním serverem. Nový server má šest jader, 32 GB RAM a 2 TB diskového prostoru.

První/starší fyzický server bude rozdělen na několik menších virtuálních:

  • Server pro PHP aplikace
  • Server pro pythoní aplikace
  • Server pro MySQL
  • Server pro Postgresql
  • Server s dalšími službami (pošta, jabber, primární DNS)
  • Server se starým Roštím
  • Load balancer

Cílem je zjednodušit správu a omezit následky případných chyb v konfiguraci a podobně. Každý řádek seznamu hovoří sám za sebe, jen předposlední bych rád uvedl na pravou míru. Neexistuje něco jako staré a nové Roští, pouze stará a nová implementace hostování aplikací. Zatímco starý způsob byl založen na tom, že s registrací byl na serveru vytvořen uživatelský účet, přes který běžely všechny aplikace uživatele, nový způsob vytváří uživatele pro každou aplikaci.

Když Roští začínalo, neměli jsme představu o tom, jakým způsobem se rozroste. Ukázalo se, že uživatelé provozují několik aplikací vedle sebe, což samozřejmě není problém z funkčního hlediska, ale může to být problém z hlediska bezpečnosti. Když najde útočník chybu v jedné z aplikací, dostane se i k datům dalších aplikací daného uživatele. Tuto vlastnost, či chybu chcete-li, odstraňuje nová implementace hostování aplikací.

Během posledních dvou měsíců byla stará implementace postupně omezována a od příštího týdne už nebude možné vytvořit aplikaci starého stylu. Zároveň uživatelům silně doporučujeme přechod ze staré implementace na novou. Motivační může být větší bezpečnost nebo o pár korun levnější hostování (50 Kč/měsíc).

Kam to vedlo

Všechny popsané změny vedly k virtualizaci a protože Roští není obyčejná hostingová služba, ale přizpůsobuje se svým uživatelům, budou i virtuální servery přizpůsobeny uživatelům a to v následujících ohledech:

  • Uživatel si bude moci systém nainstalovat sám
  • Virtuální server půjde propojit s administrací
  • Na virtuální server půjdou migrovat aplikace z hostingu a zase zpět
  • K serveru je VNC přístup přímo z prohlížeče bez externích pluginů

Virtualizace na Roští nestojí na komplikovaných technologiích, ale využívá pouze KVM a libvirt. Obrazy systémů jsou uloženy vždy na lokálním stroji, takže od virtuálních serverů dostanete maximální výkon po všech stránkách. Na výběr bude z několika připravených obrazů, ale budete si moci nainstalovat libovolnou linuxovou distribuci, FreeBSD, NetBSD nebo jiný systém dle chuti. Roští nebude podporovat operační systém Windows.

Silná stránka virtuálních serverů na Roští bude propojení s administrací. Když si vyberete kompatibilní šablonu serveru, bude váš server přidán do administrace vedle ostatních. Samozřejmě svoje servery uvidíte pouze vy. Když pak budete vytvářet aplikaci, budete si moci vybrat mezi svým serverem nebo serverem Roští. V prvním případě budete mít hosting v ceně virtuálního serveru, v druhém případě platí standardní cena 50 Kč/měsíc. V několika příštích týdnech přibude také migrace mezi servery.

IPv4 adresy

V září minulého roku došly IPv4 adresy u evropského správce RIPE. To má samozřejmě nepříjemný vliv na jejich získávání. Proto bude možné získat virtuální server propojený s administrací i bez IPv4 adresy. Bude samozřejmě levnější a určený výhradně na webové služby, které budou schovány za load balancerem. Tento server bude mít IPv6 adresu a port 22 přesměrovaný na jiný port jedné z našich IPv4 adres. Tímto způsobem budou fungovat i webové servery Roští.

Bohužel ISP přistupují k IPv6 dost laxně a nevidí problémy, které jejich nedostatek způsobuje službám. Snad se jich to ale dotkne dříve, než bude potřeba udělat ještě více kompromisů.

Změna IP adres

Změny mají někdy i šedou stránku a Roští není výjimkou. Bohužel bylo potřeba v serverovně přestěhovat jeden server k druhému a změnit typ služby, na které Roští doposud běželo. Ve spojení s požadavkem na větší rozsah IPv4 adres přijde Roští o ty staré. Stane se tak začátkem dubna. Ne všichni uživatelé spravují DNS záznamy přes Roští. Pokud mezi ně patříte, očekávejte během víkendu e-mail s podrobnějšími informacemi. Tato změna bude na velmi dlouhou dobu poslední – slibujeme!

Se stěhováním souvisel úterní výpadek mezi 18:10 a 18:20. Je to špatný čas na výpadky, ale vzhledem k politice serverovny to jinak nešlo. Se změnami na síti bude souviset ještě jeden výpadek a to v pátek večer nebo v sobotu ráno. Do starého serveru je potřeba přidat ještě jednu síťovou kartu, aby mohlo dojít k hladkému přechodu mezi starými a novými adresami. Výpadek bude opět krátký a tentokrát v rozumnějším čase.

Live chat

Na webu Roští.cz nyní najdete ikonku live chatu. Můžete ji využít kdykoli se objeví a dostat velmi rychle zpětnou vazbu. Live chat je zatím v testovacím provozu a je možné, že se ještě nějakým způsobem změní. Bohužel není možné ho dát do administrace, protože zvolená služba Plupper.com občas vykazuje pomalejší reakce. Nemá to sice vliv na načítání webu, ale ten se i přes kompletně načtenou stránku tváří, že ještě něco chybí. Uvidíme tedy za pár týdnů, jak se věci budou mít.

Novinky v administraci pro prosinec 2012

Už jsou to tři roky, co bylo Roští.cz vytvořeno jako jediný hosting pro pythoní aplikace v České Republice. Od té doby prošel příjemnými i nepříjemnými změnami a nakonec skončil ve formě, kdy ho používá přibližně 50 uživatelů pro hostování 140 aplikací.

Takto nyní vypadá administrace pro čerstvého uživatele

Roští nikdy své uživatele neomezovalo a vycházelo jim vstříc. SSH účet pro každou registraci byl samozřejmostí a s tím souviselo nespočet výhod, jimž může konkurovat pouze vlastní (virtuální) server. Dnes proběhla změna, která Roští posunuje o velký krok dál. Byla nasazena nová verze administrace PCP, která je od začátku v rámci projektu Roští.cz vyvíjena. Původně byla změna ohlášena na dnešní večer, ale po zvážení všech pro a proti byla provedena dnes v 7:30. K výpadku služeb nedošlo. Abych to dál nenapínal, toto jsou hlavní novinky:

  • Uživatel už nemá vlastní systémový účet a tedy ani SSH přístup
  • Ten je nyní pro každou hostovanou aplikaci zvlášť
  • Byla zjednodušena registrace
  • Nová implementace hostování Python/PHP aplikací
  • Hostování aplikací je levnější
  • Záporný kredit už nebude růst

Nebojte se, o SSH přístup nepřijdete, pouze budete mít pro každou aplikaci vlastní. Nemusí to být ze začátku pohodlné, ale je to bezpečné. Na Roští mají někteří uživatelé třeba pět aplikací vedle sebe a když dojde k překonání bezpečnostních zábran jedné z nich, má útočník přístup i do těch zbývajících. Oddělení aplikací na systémové úrovni přidá bezpečnostní vrstvu, která útočníka nepustí za hranice jedné aplikace.

Registrace už nevyžaduje zadání adresy. Zjednoduší se tím celý proces a uživatelé si mohou rychle vyzkoušet, zda za to Roští.cz stojí. Navíc nové účty jsou schvalovány automaticky.

Detail aplikace včetně všech dostupných logů

Když se nyní registrujete do systému, už neuvidíte to co včera, ale pouze novou implementaci správy pythoních a PHP aplikací. Kromě oddělení aplikací do vlastních systémových účtů je nyní založení aplikace jednodušší, nemá vazbu na zadávání domén a hlavně umožňuje automaticky vytvořit prostředí v případě, že by došlo k nějakému problému na straně serveru. Kromě toho nová implementace přinesla možnost hostovat aplikaci na různých verzích Pythonu. Na pozadí je nyní daemon supervisord, což znamená, že pro nové aplikace nebude fungovat utilitka uwsgi-manager. Restart aplikace jde nyní provést pouze z webové administrace. Pro lepší přehled o stavu aplikace je z administrace dostupných posledních 100 řádků ze všech souvisejících logů.

Ve jménu budoucích funkcí došlo ještě k jedné razantní změně. Databáze se nyní vytvářejí v rámci aplikace a jsou s ní v systému spárovány. Jméno databáze není editovatelné, ale ke každé lze napsat komentář, kde můžete popsat k čemu slouží. Změna umožní migraci aplikací mezi servery a zjednoduší zálohování, resp. obnovu.

Nový kód byl psán tak, aby bylo potřeba na systém co nejméně dohlížet a díky tomu mohla být snížena cena za aplikaci na 50 Kč (netýká se staré implementace). Během čtrnácti dnů bude na Roští možné platit kartou přes službu GoPay. Obě změny vedly ke zrušení bonusů za dobití velké částky. Tyto bonusy přinášely zmatky do vyúčtování a s cenou 50 Kč nyní sáhnout téměř na nejvyšší bonus všichni. Již existující bonusy samozřejmě zůstávají.

S novinkami bude také konec zápornému kreditu. Pokud nebude mít účet dostupný kredit, všechny aplikace se pozastaví a po čase smažou. Uživatelé, co si chtěli Roští jen vyzkoušet, nebudou muset platit za zapomenuté aplikace a navíc bude příjem předvídatelnější. Před vypnutím aplikací bude uživatel varován. První varování bylo rozesláno tento týden a systém začne aplikace vypínat během příštího týdne.

V dalších týdnech dojde k vylepšení v tomto směru:

  • Podpora vlastních serverů
  • Obnova ze zálohy na jeden klik
  • Migrace mezi servery
  • Učesání podpory e-mailů
  • Subúčty pro správu e-mailů

Roští čeká příští rok další várka novinek. Přibude nový server a bude přestavěna serverová infrastruktura s ohledem na maximalizaci dostupnosti. Během první poloviny roku přibude možnost objednání vlastního virtuálního serveru s root přístupem a možností spravovat aplikace na tomto serveru ze společné administrace. V takovém případě se nebude účtovat aplikace, ale pouze server.

I příští rok bude Roští perfektní volbou pro jednotlivce vyvíjející v Pythonu i v PHP, kteří se nespokojí s běžným hostingem. Nicméně hlavním cílem všech změn bude oslovení firem, které ocení nesvazující správu aplikací a zároveň nechtějí obstarávat vlastní servery.

Vývoj všech popsaných změn spolufinancovala firma Fraggo.net, která PCP používá v rámci projektu 1000webu.cz. Zdrojový kód administrace, uvolněný pod BSD licencí, najdete na GitHubu a můžete ho nasadit na vlastním serveru nebo se třeba připojit k vývoji.