GDPR, konec emailů a starého Roští

Poslední měsíc pracujeme hlavně na migraci webů ze starého Roští na nové u zákazníků, kteří nám napsali, že s tím potřebují pomoci a řešili jsme novou formu podmínek, které budou kompatibilní s GDPR.

Rád bych napsal, že se podmínky zkrátily, ale úplně to není pravda. Původní dokument se zkrátil přibližně na polovinu, ale přibyly další dva, které obsahují informace o tom, jak zacházíme s vašimi osobními daty a daty vašich klientů.

GDPR pro nás bylo převážně o sepsání toho, co s daty děláme. V systému jsme upravili jen detaily. Například jsme přestali ukládat access logy na load balanceru a plánujeme přestat ukládat access logy i v kontejnerech. Tam si to můžete změnit sami, ale u nových imagů bude access log ve výchozím stavu vypnutý.

Jediné k čemu budeme držet logy je administrace, kde se může stát, že budeme potřebovat vědět, co se v ní dělo během nějakého vybraného časového intervalu. Nemáme úplně odvahu zrovna u administrace vypnout logy, ale u vašich aplikací nám stačí mnohem více anonymní data jako počet requestů a jak dlouho trvaly. Nepotřebujeme znát IP adresy vašich uživatelů ani URL, na kterou k vám chodí.

Zajímavou otázkou pro nás byly konverzace. Rozhodli jsme se, že budeme mazat rok a víc se staré konverzace. V některých případech nám to asi bude trochu komplikovat život, ale uchovávaní konverzací navždy bychom si neobhájili.

Kromě ukládání výše zmíněných dat se může stát, že vaše data použijeme v nějaké další službě. K interní komunikaci používáme třeba Slack a pro komunikaci s vámi zase HelpScout a SmartSupp. V obojím se tak může objevit vaše jméno, emailová adresa nebo podobně. Nicméně ani jedna ze služeb by neměla takto získaná data nějak využívat nebo rovnou zneužívat.

V příštích dnech do administrace přibude tlačítko na zrušení účtu a pravděpodobně tam implementujeme zaškrtávátko na zasílání obchodních sdělení. Vylepšíme ještě proces registrace, kde bude nutné souhlasit se všemi třemi dokumenty zvlášť.

Zároveň promažeme neaktivní účty, takže pokud u nás nemáte žádnou službu a nepřihlásili jste se několik měsíců, váš účet zrušíme.

Konec starého Roští a emailů

Dále řešíme konec starého Roští a pošty. Oficiálně skončí služby 31.5., ale reálně budou fungovat ještě o pár týdnů déle. Důvodem jsou DNS servery, které musíme přemigrovat, protože jsou natěsno svázány se starým Roštím. Rozhodli jsme se pro DNS vyvinout malou micro service, ale ještě ji nemáme připravenou pro produkci. Staré Roští i pošta běží na jednom fyzickém serveru, který bude fungovat ještě několik týdnů.

Vypnutí služeb přijde v tomto pořadí:

  • Odstranění kódu k emailům v nové administraci – začátkem června
  • Vypnutí staré administrace – začátkem června
  • Vypnutí DNS serverů pro staré Roští – v polovině června
  • Vypnutí serveru pandora – koncem června
  • Vypnutí zbylých serverů starého Roští – začátkem července
  • Vypnutí poštovního serveru – koncem července

Jednotlivé kroky nepřijdou všechny najednou. Starou administraci s emailovou částí nové administrace vypneme hned z kraje června. Ale pak se na chvilku zasekneme. Na migraci služeb máte ještě minimálně první půlku června. K vypnutí pošty dojde až v červenci. Server necháme běžet až do jeho vyzvednutí ze serverovny.

Termíny se mohou změnit, ale konec serverů, kde staré Roští a emaily běží, bude definitivní na konci července.

Březnové novinky

Po sérii restartů ze strany DigitalOcean se můžeme podívat na to, co se v březnu na Roští událo. Nejvíce změn najdete v administraci, jejíž nová verze bude tento týden nasazena a taky se koukneme, jak se serverům daří v DigitalOcean po přechodu ze ScaleWay.

V administraci jsme se tento měsíc zaměřili na API, do kterého budeme teď chvíli přidávat nové funkce. I ty, které nejsou ve webovém rozhraní dostupné. Během pár týdnů se tam ale objeví. Mimo to, že jsme dokončili snapshotování, jsme vyřešili i běh některých tasků na pozadí. Používali jsme a používáme django-rq, které zase používá python-rq, ale v jeho implementaci jsme měli mezery. V administraci nyní lépe trackujeme co se na pozadí děje a jsme schopni vám to ukázat. Můžete tak ověřit, zda daná akce dopadla dobře nebo ne.

Snapshotování má před sebou ještě pár mil než bude úplně dotažené a navíc zatím chybí snapshoty databází. Chybí nám také webové rozhraní a propojení s killerem, který odstraňuje aplikace z účtů, které jsou v mínusu. To je jeden z hlavních důvodů, proč jsme snapshoty zavedli, abychom mohli levně odsudnout aplikace, o které nikdo nejeví zájem a jako bonus jsme tuto možnost dali i vám. Snapshoty lze použít i pro zálohování podle vašeho vlastního uvážení. Je to úplně oddělený systém od našeho vlastního zálohování, takže se dá brát jako taková záloha a navíc je uživatelsky dostupné obnovování. Ze snapshotů lze vytvořit kopii aplikace nebo aplikaci kompletně obnovit do podoby, ve které byla předtím.

Změny v administraci se ale netýkají jen snapshotů. Tady je celý seznam:

  • Backend: Opraven bug v pozvánkách, kdy docházelo k přidání jednoho uživatele k firmě několikrát.
  • Backend. Opraven bug, kdy u odemykání účtu po zaplacení dlužné částky nenaběhly aplikace.
  • Admin: Opraven bug s kontrolou DNS záznamů.
  • API: Vytváření snapshotů aplikací
  • API: Obnova aplikací ze snapshotů
  • API: Mazání snapshotů
  • API: Seznam firem, do kterých má uživatel přístup
  • API: Seznam běžících a dokončených úloh, které jsou prováděny na pozadí.
  • Backend: Framework pro async procesy
  • Admin: K databázi je možné nyní přidat poznámku
  • Admin: Aktivovali jsme generování automatických faktur, pokud si je zapnete (není nutné se již přihlašovat do administraci kvůli platbě)
  • Backend: přístup k SMTP pro aplikaci (již není potřeba email)
  • Admin: Členy firem může odstranit kdokoli, kdo je součástí dané firmy. Ne pouze vlastník.

Aplikace dostaly svůj vlastní SMTP přístup

Kromě změn v administraci jsme zažily vlnu restartů ze strany DigitalOcean, které se tím rozhodlo vyřešit problém se Spectre a Meltdown. Výpadky na Roští probíhaly v absolutně nevhodný čas (16:00-21:00), ale chápeme, že jde o velký zásah do infrastruktury a tak chtěli mít v DO jistotu, že budou mít na případné problémy dostatek lidí a budou je tak moct řešit co nejrychleji.

Samotné restarty proběhly bez problémů, kromě jednoho serveru, který zůstal po celém procesu vypnutý. Toho jsme si všimli až po půl hodině, kdy už bylo divné, že nenabíhá. Nicméně servery naběhly absolutně bez problémů, aniž bychom do nich museli nějak zasahovat. Minulý rok jsme udělali maximum pro to, aby bootování serverů bylo co nejhladší a vypadá to, že se to povedlo.

Po mnoha měsících neřešíme problémy se sítí, s výkonem, se stabilitou, s výpadky nebo se ztrátou dat. Nepočítáme-li tedy zmíněné restarty, tak co jsme na DigitialOcean, neměli jsme jediný problém a doufáme, že v tom budeme takto pokračovat. Všechny změny, které jsem vypsal výše, bylo možné udělat, díky tomu, že jsme nemuseli řešit problémy s infrastrukturou a doufám, že tempo vylepšování se v dalších měsících ještě zrychlí jen co vypneme poštu a staré Roští. Hlavně propojení na DNS serverech a poštovním serveru mezi novou a starou administrací je svazující. Potřebovali bychom především přemigrovat DNS servery na nové, ale se starou administrací za zády to nezvládneme udělat.

Na následujících dvou obrázcích si můžete porovnat podobné období jednoho z našich serverů. První obrázek je aktuální server z DigitalOcean. Jeho zatížení nedosahuje ani na warning hranici. Druhý obrázek je ze ScaleWay, kde byl výkon o něco méně stabilní a zatížení se drželo na kritické hranici. Jiné porovnání bohužel nemáme, protože tohle je jediný server, který zůstal proti původním nezměněn, co se týče jeho obsahu.

Nový server na DigitalOcean

Původní server na Scaleway

Tento post vznikal postupně během března, ale všechny změny se nám podařilo dokončit a odladit až dnes. V dubnu se chceme zaměřit na naši homepage, takže v administraci toho moc neuděláme. Vzhledem k tomu, že jsme vyřešili naše problémy se servery, rádi bychom zase rozjeli nějaké formy propagace. Naše homepage už nepředstavuje to, jaké Roští je, ale spíš jaké bylo a to bychom rádi změnili.

Restart serverů

V úterý 27. března mezi 18:00 a 21:00 dojde k restartu některých našich serverů. Důvodem jsou záplaty, které budou do serverů instalovat v DigitalOcean. Podle současných informací se výpadek nebude týkat všech serverů, ale to se může změnit. Níže najde tabulku s informacemi.

Bohužel k restartům dojde v dost nevhodný čas a DigitalOcean to odůvodnil tím, že chtějí mít k dispozici co nejvíce lidí na řešení případných problémů. Výpadek by neměl trvat déle než 15 minut u každého serveru, ale určitě si v úterý večer zkontrolujte, zda všechno běží. Občas některá aplikace nenaběhne. Většinou se jedná o chybu v konfiguraci supervisoru. Máme nástroje na kontrolu zda kontejner s aplikací běží, ale ručně vaše aplikace neotvíráme.

Server Čas výpadku
node-11 20:00-21:00
node-12 28.3. 16:00-17:00 nebo 18:00 až 19:00 (nevíme přesně)
node-13 19:00-20:00
node-14 20:00-21:00
store3 18:00-19:00
store4 28.3. 16:00-17:00 nebo 18:00 až 19:00 (nevíme přesně)
admin 28.3. 16:00-17:00 nebo 18:00 až 19:00 (nevíme přesně)

Pokud se něco změní, tabulku doplníme.

Co se týče serverů node-12, store4 a admin, tak tam zatím nemáme zprávy o tom, že by k nějakým restartům mělo dojít, ale to se pravděpodobně změní. DigitalOcean postupně restartuje všechny servery ve všech svých lokalitách.

Aplikace, které používají store3, vypadnou postupně dvakrát, Nejdříve kvůli restartu databáze a posléze kvůli restartu serverů na kterých běží.

Aktualizace 27.2.2018

Dostali jsme další informaci o restartu některých serverů ve středu 28.3.2018 mezi 16:00 až 17:00 a 18:00 až 19:00. Bohužel nevíme kterých přesně. Pravděpodobně se ale bude jednat o node-12, store4 nebo admin.

Konec emailových služeb

O konci emailových služeb už jsme minulý rok psali a v tomto krátkém článku bychom chtěli jen zopakovat již zveřejněné informace a postup, kterého se budeme držet. Konec emailů, stejně jako konec starého Roští je pro nás zavření jedné kapitoly, která se s naší firmou táhla od jejího začátku.

Důvodem ukončení emailových služeb jsou nároky na jejich provozování a malý zájem mezi zákazníky, kteří u nás platí za aplikace. Za emaily jsme nikdy nechtěli žádné peníze a brali jsme je jen jako vedlejší službu pro zákazníky, kteří u nás měli web. Z dat, která jsme za pět let nasbírali, jsme zjistili, že 26 % schránek u nás web nemá a přibližně 60 % zákazníků, kteří u nás mají web, u nás nemá žádnou emailovou schránku.

Chvíli jsme zvažovali, zda bychom emaily na Roští nezmodernizovali, ale investice do takového projektu a blížící se potřeba nového hardwaru, nás přesvědčily, že by to byl krok do neznáma a raději tu energii budeme věnovat hostingu aplikací, ve kterém můžeme, na rozdíl od emailů, nabídnout něco unikátního.

Doufáme tedy, že náš krok pochopíte. Vypnutí serveru přijde 31. května 2018, tedy za necelé čtyři měsíce. To by mělo být dostatek času na migraci pod jiného poskytovatele. Tři poskytovatele, se kterými máme zkušenosti, jsme vám vypsali v naši dokumentaci, společně s dalšími informacemi, které vám s migrací pomohou.

V následujícím seznamu najdete seznam událostí spojených s touto změnou. Některé už proběhly, jiné nás ještě čekají.

Co se týče odchozího emailového serveru, tak ten zůstane a jeho možnosti se rozšíří pro potřeby aplikací. O tom ještě zveřejníme informace později.

Konec starého Roští (stare.rosti.cz)

Jak jsme psali už dříve, tak staré Roští pomalu končí a 31.5.2018 bychom rádi původní servery vypnuli. Když jsme vypustili novou administraci s úplně novou infrastrukturou, posunuli jsme staré Roští na vedlejší kolej a byla jen otázka času, kdy ho vypneme úplně. V tomto postu vám chceme dát vědět, jak celou akci plánujeme.

Důvodů, proč byste na starém Roští neměli mít žádná data je hned několik:

  • Infrastruktura je založená na Debian Wheezy a Squeeze (už bez upstream podpory),
  • administraci jsme poslední dva roky nevyvíjeli,
  • všechny aplikace běží na našem fyzickém serveru, za který již nemáme žádnou náhradu,
  • instalace serverů není nějak automatizovaná.

Staré Roští používá na jednom ze serverů Debian Squeeze, který již není podporován a obsahuje minimálně dvě zásadní bezpečností chyby. Jednu se nám podařilo potlačit, druhou bohužel ne. Debian Wheeze je stále podporován, ale jeho podpora končí 31.5.2018. Tam běží většina webů a proto chceme staré Roští vypnout dříve než se z pohledu bezpečnosti stane úplně nepoužitelné.

V administraci jsme od nasazení nové administrace moc neudělali, pouze opravili ty nejdůležitější chyby a změnili způsob fakturace. Hodně nás naučila, ale už jsme se posunuli dál.

Aktuálně běží všechny aplikace na starém Roští na našem fyzickém serveru, kde jsou jen pomalé HDD disky a výkon se během dne občas propadne. Migrací tedy získáte pár milisekund k dobru.

Když nepočítáme výpadky v Master DC, neměly aplikace hostované na starém Roští problém dosáhnout 100% dostupnosti většinu roku. Na druhou stranu, postupy související se starou infrastrukturou vybledly a kdyby nyní k něčemu došlo, trvalo by nám hodně dlouho dát vše do pořádku. Nové Roští je celé zansiblované. I kdybychom nyní přišli o všechny servery najednou, jejich obnova se bude rovnat času potřebnému pro kopírování dat ze záloh, což trvá u některých strojů asi dvě hodiny.

Jak to bude probíhat

Vypnutí proběhne 31.5.2018 ale předtím i potom je několik bodů, které musíme splnit. Tady jsou:

  • únor: rozešleme emaily o konci služby
  • únor až březen: přesuneme DNS servery na samostatné servery
  • duben: další email o konci služby
  • 31. květen: konec starého Roští
  • červen: kredity ze staré administrace převedeme do nové na účet se stejnou emailovou adresou
  • 31. červenec: odstraníme všechna data

Článek ještě budeme aktualizovat.