Před třemi týdny se našim kolegům ze švédského doménového registru přihodilo to, co bych bez nadsázky nazval noční můrou doménových správců – vystavení poškozeného zónového souboru. Tento soubor je klíčovým prvkem pro fungování systému doménových jmen DNS. Jsou v něm uložené všechny domény druhé úrovně pod doménou „.se“ spolu s odkazy kam směrovat dotazy na tyto domény. Zmiňovaná chyba tak způsobila, že odhadem minimálně na hodinu přestaly být dosažitelné všechny adresy s koncovkou „.se“. Pojďme si postupně projít co se vlastně stalo a zejména jakým způsobem je provoz našeho vlastního registru zabezpečen proti tomu aby se něco podobného přihodilo i nám.
Správci švédské domény .se si v našem oboru drží dlouhodobě poměrně vysoké renomé. Jako první zavedli DNSSEC a na odborných konferencích často vystupují s novinkami, které implementovali do svých systémů. V pondělí 12. října měli naplánovanou rutinní odstávku systému spojenou s nasazením nové verze. Přestože, podle zveřejněných informací, i jejich vývojový cyklus obsahuje sadu testů, které musí nová verze splňovat, ze zatím nezjištěných příčin prošel přes tuto fázi kód, který obsahoval chybu. Ta spočívala v chybějící tečce na konci doménových jmen ve vytvořeném zónovém souboru – místo „.se.“ zde bylo uvedeno pouze „.se“. Nameserver načítající tento zónový soubor tím pádem pokládal všechna doménová jména jako relativní a připojil ke každému ještě jednou „.se.“. Takto poškozený zónový soubor se začal propagovat ve 21:39. Ve 21:50 monitorovací systémy začali hlásit, že v publikované zóně je chyba. Administrátoři na to zareagovali tak, že vzali poslední správně vytvořený zónový soubor a po zvýšení sériového čísla ho ve 22:35 publikovali. Vzhledem k tomu, že celá zóna .se je podepsaná pomocí DNSSEC a že sériové číslo je součástí SOA záznamu, došlo jeho změnou k invalidaci podpisu tohoto záznamu a pro DNSSEC validující resolvery tedy byla tato zóna stále nedostupná. Tento krok ale zabezpečil dostupnost domény pro většinu uživatelů. Finální, nově podepsaná zóna byla publikována v 0:35. Ponechme nyní stranou Švédy a podívejme se jakým způsobem se podobnému nedopatření snažíme vyvarovat my. V zásadě se jedná o dva doplňující se procesy a to testování nových verzí před nasazením a monitoring produkčního prostředí.
Již v průběhu vývoje programátoři používají širokou sadu automatizovaných testů, s jejichž pomocí kontrolují zda nové změny nezanesly chybu do dříve fungujících částí systému. Po dokončení všech kontrol provedou vývojáři označení nové verze v systému pro správu verzí SVN a spolu s postupem upgradu předají tuto verzi administrátorům. Ti s pomocí vlastního nástroje zajistí zabalíčkování nových verzí změněných komponent pro všechny platformy na kterých systém provozujeme. Kompletní konfigurace systému včetně verzí balíčků je uchovávána v centrálním repositáři a pomocí nástroje Puppet jsou veškeré změny distribuovány na patřičná místa. Abychom zajistili bezproblémový upgrade, vytvořili jsme pomocí technologie virtualizace KVM kompletní kopii produkčního prostředí jedné lokality, čítající v tuto chvíli pět propojených serverů. Administrátoři zanesou postup upgradu do Puppetu a s jeho pomocí tento postup aplikují na testovací lokalitě. Poté spolu s vývojáři otestují výsledek buď manuálně nebo opět sadou automatizovaných testů. Teprve pokud nenastane žádný problém, je možné novou verzi pomocí otestovaného postupu nasadit na skutečné produkční prostředí.
Běžící systém je monitorován obrovskou sadou periodických testů, které zkoumají všechny možné aspekty jeho chování od stavu síťových zařízení, přes různé zkoušení registrací na registrátorském rozhraní až po testy zda se odesílají správně faktury. Všechny tyto kontroly jsou implementovány jako moduly do monitorovacího nástroje Nagios. Výstupy těchto kontrol jsou klasifikovány podle důležitosti a reportovány pomocí e-mailů nebo SMS zpráv administrátorům. Celý systém je podporován vizuální a hlasovou signalizací umístěnou v prostorách našeho klienského centra. Operátoři pracující v tomto prostoru 24 hodin denně a 7 dní v týdnu neprodleně administrátorům volají pokud signalizace hlásí nějaký problém. Vraťme se ale k publikování zónového souboru. K tomu dochází automaticky jednou za půl hodiny a i tento proces obsahuje několik kontrol. Vedle kontroly integrity souboru je hlavní kontrolou test na počet změn v tomto souboru. Pokud počet změn přesáhl určitou hranici je proces zastaven a administrátoři musejí provést ruční kontrolu těchto změn. Pokud kontrola zjistí, že se opravdu jedná jen o velký počet změn v delegacích je zóna publikována a automatický mechanismu obnoven.
Bylo by krásné na tomto místě napsat – nám se nic takového stát nemůže, ale nebyla by to pravda. Všechny systémy jsou nakonec nějakým způsobem závislé na lidech. Jak se zdá, i ve Švédském případě mají podobné procesy, ale pravděpodobně někdo neotestoval to co měl a ještě navíc někdo neposoudil nějakou signalizaci monitoringu jako kritickou a vypnul jí. Tomu je možné předejít pouze výběrem zodpovědných pracovníků a jejich častým školením a tréninkem. Věřím, že v tomto ohledu jsou naši zaměstnanci muži (a ženy) na správném místě.
Jaromír Talíř
Kapacity technologie XML v Praze
Zlí jazykové před deseti lety označovali jazyk XML za pouhé „buzzword“, módní technologii, která nebude mít dlouhé trvání. Ukázalo se, že se hluboce mýlili, a tak v současnosti lze tento jazyk nalézt téměř v každé oblasti světa IT. Ve správě dokumentů jej jako svůj základ přijali dva hlavní hráči, Open Office ve svém formátu OpenDocument i Microsoft Office ve formátu OpenXML. Své pevné místo má XML v oblasti výměny dat, takže je možné s jeho využitím například podat daňové přiznáni online. Z XML kořenů vychází i webové služby, aktuálně velmi vyhledávaná technologie pro propojování aplikací na internetu. Následující seznam obsahuje oblasti, ve kterých XML a související technologie využívá náš registrační sytém FRED:
- Klíčovým místem systému je EPP, protokol pro komunikaci s registrátory, který je právě na XML založen
- Formát jednotlivých zpráv protokolu EPP je definován pomocí popisovacího jazyka XML Schema.
- Pro případné strojové zpracování posíláme registrátorům faktury právě ve formátu XML
- Pro načtení faktur do software naší účetní firmy transformujeme faktury z našeho XML formátu do XML formátu účetního software pomocí technologie XSLT
- Pro generování PDF dokumentů systému (faktury, formuláře žádostí a dopisy) používáme formátovací jazyk RML z projektu ReportLab
- Část dokumentace je uložená v XML formátu DocBook
O víkendu 21. a 22. března se v prostorách Matematicko-fyzikální fakulty Univerzity Karlovy na Malostranském náměstí uskutečnil již čtvrtý ročník konference XMLPrague. Do Prahy přijely kapacity, které se v rámci standardizační organizace W3C podílejí na vytváření výše uvedených technologií. Mezi přednášejícími byla zvučná jména jako Michael Kay (pracuje na vývoji XSLT), Makoto Murata (autor jazyka RelaxNG pro definování formátů dokumentů) nebo Norman Walsh (podílí se na rozšiřování formátu DocBook). Tématem přednášek byly mimo jiné nové verze některých z těchto technologií jako XML Schema 1.1 a EXSLT 2.0 nebo například doporučené postupy (unit testy, profiling, coverage…) a nástroje (<oxygen/>) pro vývojáře při testování a ladění práce s XML dokumenty. Hodně prostoru bylo věnováno i nedávno standardizovanému jazyku XProc pro vytváření pravidel (pipeline), podle kterých vstupní XML dokumenty procházejí celou řadou propojených transformací nebo filtrů a odpadá tak nutnost programovat klasickým způsobem práci s těmito dokumenty – vše je uloženo v jednom předpisu, který je (jak jinak) napsán v XML.
Prezentace byly streamované do internetu a s největší pravděpodobností se objeví na konferenčních stránkách, takže ani ti, kdo se nedostavili, nepřijdou zkrátka. Možná trochu zarážející je, s jakou malou odezvou se konference setkala mezi našinci. Podle mého skromného odhadu z asi 120-členného osazenstva bylo kolem 80 % cizinců. V každém případě patří dík organizátorům, že se jim podařilo vybudovat tradici, jejíž aktéry jsou tyto světoznámé osobnosti.
Jaromír Talíř
Linux Meeting 2008 v Ústí nad Labem
Ve čtvrtek 11. 12. 2008 se v Ústí nad Labem konal již čtvrtý ročník konference Linux Meeting. Byl jsem pozván, abych v její dopolední části zaměřené na začátečníky prezentoval, jakým způsobem funguje systém DNS, jakou roli v něm hraje naše sdružení CZ.NIC a jakou roli v našem sdružení hraje open source software. Vzhledem k tomu, že naše „vlajková loď“, registrační systém FRED, byl vydán jako open source a že Linux je primární operační systém pro naše servery, má naše sdružení k tématu konference velice blízko. Podrobný popis celého dne zaznamenal šéfredaktor Root.cz Petr Krčmář ve svém článku, proto případné zájemce odkazuji tam. Co ve svém článku Petr Krčmář nezmiňuje je, že on sám měl jednu zajímavou prezentaci na závěr dopolední části. V ní zdůraznil, že: „Open source neznamená zadarmo“, jak si množná mnozí myslí, neboť v ceně jakéhokoliv řešení je třeba počítat např. s placením odborníků na instalaci, údržbu, školení uživatelů, apod. Vlastní cena software je minoritní záležitostí. Svá slova pak podpořil statistickými údaji hlavních důvodů firem pro využití Linuxu nebo open source produktů obecně. Jak se dalo předpokládat, na prvním místě se objevovaly charakteristiky jako bezpečnost, důvěra nebo stabilita mnohem více než cena. V následné diskuzi na ožehavé téma, jakou má budoucnost nasazení open source ve státní správě nebo samosprávě, projevili všichni zúčastnění značnou skepsi, zvlášť po poslední kauze z Ostravy.
Zajímavá debata pokračovala i na obědě. Vzhledem k tom, že mezi přítomnými bylo několik zástupců linuxových internetových portálů přišlo na přetřes téma budoucnosti papírových periodik. Právě v poslední době mizí papírové verze technických periodik jedna za druhou. Internetové zpravodajství pomalu ale jistě přebírá otěže a pomáhá tomu rozvoj mobilních zařízeních, která umožňují zprostředkovat informace kdekoliv se nacházíte. Tento trend potvrzuje i historka jednoho z diskutujících. Tomu ji popisoval jeho známý, který nedávno absolvoval jakousi společenskou událost v Průmyslovém paláci a přitom si na svém mobilním zařízení pročítal zpravodajství. Jeho pozornost upoutala na první pohled legrační zpráva o tom, že Průmyslový palác hoří. Trvalo ještě asi deset minut, než byla jejich akce ukončena a všichni byli evakuováni :).
Prezentace pokračovaly i odpoledne, tentokrát ale tématy více zaměřenými na odborníky. Všechny prezentace by měly být v dohledné době k dispozici na stránkách konference. O kompletní audio/video záznam z celého dne se staralo AVC, které jej po jeho zpracování také zveřejní na svém webu. Je třeba pochválit organizátory za zajímavý výběr témat a také za to, že se jim daří tento typ konference úspěšně pořádat i v mimopražské lokalitě. Ne nadarmo se zato ústecký LinuxMeeting již několikrát umístil na předních místech v hodnocení soutěže Czech Open Source.
Jaromír Talíř
Správce domény v Tanzánii: Češi jsou znamí pro dvě veci – fotbal a FRED
Na začátku října jsme oslavili jeden rok od nasazení nového registračního systému pro správu domény .cz. Krátce po tomto nasazení jsme celý náš systém s názvem FRED zveřejnili jako open source projekt a dali ho tak zdarma k dispozici dalším potenciálním zájemcům. Netrvalo dlouho a začali se ozývat zástupci zemí, ve kterých se teprve formují sdružení typu CZ.NIC a ve kterých by rádi přešli od ruční správy domény k nějakému automatizovanému systému. Těch zemí je skutečně hodně a nejvíc jich pochází z afrického kontinentu. První, kdo ukázal, že to z nasazením FREDa myslí vážně, byla Angola. Zhruba před 3/4 rokem přijela delegace tvořená francouzským manažerem a dvěma polskými programátory a nechala si náš systém podrobně popsat. Tito lidé poté usilovně pracovali a na letošní konferenci organizace ICANN v Paříží oznámili vstup do testovací fáze projektu. Podle posledních informací by snad již během příštích pár týdnů měli přejít do produkčního provozu.
Další zemí, která se rozhodla využít možnosti volné dostupnosti celého systému, byla Tanzánie. Zde začal zájem o FREDa v mailové konferenci a vyústil v pozvání k návštěvě, na které bychom jim přímo u nich pomohli s instalací systému, jeho konfigurací pro jejich podmínky a školením pro provoz a údržbu. Slovo dalo slovo a v neděli 19. října pozdě večer jsme si mohli na letišti v Dar es Salaamu potřást rukou s panem Abibu Ntahigyie, manažerem místního tzNICu; tzNIC je organizace trochu podobná té naší a má v zásadě dva členy – místního regulátora a asociaci místních poskytovatelů internetového připojení. Oba tito členové jmenují polovinu z osmičlenného představenstva, které vybírá hlavního manažera. V tuto chvíli tzNIC zaměstnává kromě manažera pouze další tři lidi – technika, účetní a sekretářku. Organizace byla založena v roce 2006, ale teprve v tomto roce se věci začaly hýbat kupředu.
Podobně jako řada jiných zemí v Africe, spravuje Tanzánie svojí doménu britským způsobem. Vytvořili zde šest domén druhé úrovně reprezentující různé skupiny držitelů. Jsou to ne.tz (síťová infrastruktura), or.tz (neziskové organizace), co.tz (komerční firmy), ac.tz (akademická oblast), go.tz (vláda) a mil.tz (armáda). Koncovým držitelům je dovoleno registrovat až domény třetí úrovně v některé z těchto domén. Vlastní správa hlavní domény .tz, podobně jako je tomu i u více domén v Africe, je v tuto chvíli v rukách známe postavičky světového internetu, Američana Randy Bushe. TzNIC samozřejmě usiluje o nastartování procesu „redelegace“ domény .tz do vlastních rukou. Tento proces, který řídí nejvyšší doménová autorita, organizace ICANN, bude ale ještě dlouhodobou záležitostí. Z výše uvedené struktury je ale zřejmé, že to není až tak důležité. Všechny vlastní registrace se řeší o úroveň níže, o tyto domény se starají místní zástupci. Tři z šesti zmíněných domén spravuje místní univerzita a tři jistá soukromá osoba. Oba dva fungují jako registrátoři pro veřejnost, jsou zastoupeni v tzNICu a souhlasí s předáním jejich domén na bedra tzNICu. Celkem je v tuto chvíli zaregistrováno zhruba 5000 domén.
Následující dny jsme tedy strávili v kancelářích tzNICu. Postupně jsem jim vysvětlil všechny vlastnosti našeho systému, popsal procesy, které u nás v rámci správy domény provádíme, nainstaloval systém a nakonfiguroval ho pro jejich účely, ukázal další možnosti přizpůsobení, které mohou a nemusí využít a navrhl jim mechanismus, jak zmigrovat stávající data do nového systému. Přestože systém běží a je přípraven, kolegy z Tanzánie čeká ještě nelehká cesta k plnému spuštění. Z technického hlediska je nutné, aby se vypořádali s ne příliš kvalitní konektivitou a častými výpadky elektřiny. Toto budou podle jejich slov řešit přestěhováním do jiné části města. Vedle toho je třeba podniknout mnoho dalších kroků. Je třeba vydefinovat pravidla registrace ve shodě se všemi zainteresovanými subjekty, stanovit cenu a samozřejmě marketingově podpořit poptávku po doménách. V každém případě se zdá, že by se jim toto vše mohlo v blízké budoucnosti podařit.
Jaromír Talíř
Prague PostgreSQL Developers Day
Mezi první a druhou volbou českého prezidenta se na FEL ČVUT uskutečnil první ročník konference věnované vývojářům pracujícím s open source databázovým systémem PostgreSQL. Konferenci pořádal server Databázový svět ve spolupráci se společností SUN a sdružením CZ.NIC.
Program konference nabídl mnoho cenných informací, jako jsou například novinky v právě vydané verzi 8.3 nebo plánované funkce a detaily některých pokročilých vlastností systému. Hlavní „hvězdou“ konference byl člen úzkého jádra vývojářů databáze Peter Eisentraut. Ten ve dvou přednáškách nejprve shrnul všechna vylepšení nové verze a posléze detailně rozebral jednu z nich a to podporu práce s XML dokumenty. Kromě dalších zajímavých vystoupení, která se týkala uložených procedur, kontroly integrity dat, postupu při zpracování dotazu a portování PostgreSQL na operační systém Solaris, mě zaujala přednáška o podpoře fultextového vyhledávání. Tuto vlastnost bychom výhledově rádi zabudovali jak do registračního systému, tak do redakčního systému, na kterém běží naše weby. Všechny přednášky byly snímané a jsou (nebo budou) k dispozici na stránkách AVC.
Kromě zmíněných přednášek byla, jak už na konferencích bývá, zajímavá i diskuze mezi samotnými účastníky. Z nich bych vybral například debatu o tom, zda je budoucnost spíše v třívrstvé architektuře (klient, aplikační server, databázový server) nebo v dvouvrstvé architektuře (klient, databázový server). Na neformálním „zakončení“ v blízkém restauračním zařízení U medvídků pak byla možnost poznat některé ze zainteresovaných blíže, než umožňuje akademická půda. Věřím, že zůstaneme s komunitou kolem PostgreSQL v kontaktu i nadále a že to bude ku prospěchu fungování správy domén v České republice.
Jaromír Talíř