Máte zájem dozvědět se, jak hostujeme ORCID Registr a API? Chtěli byste vědět, jak řešíme vysokou dostupnost, škálovatelnost a obnovu v případě katastrofy? Pokud ano, pak je tento příspěvek pro vás!
Každý měsíc zpracováváme osm milionů zobrazení stránky ORCID Registr, ale většina našeho provozu je na rozhraní API, která v současné době přijímají více než 100 milionů přístupů za měsíc. Jednou z našich hlavních strategií je investovat do rozvoje robustní informační infrastruktury, takže si musíme být jisti, že technologie, kterou používáme k podpoře tohoto využití, je spolehlivá a bezpečná.
Rejstřík a zbytek webu na orcid.org jsou směrovány přes Content Delivery Network (CDN) - poskytovatele cloudových služeb, který má více než 150 datových center po celém světě. Když se váš prohlížeč připojí k orcid.org, statické části webu jsou poskytovány z místního datového centra ve vašem okolí, aby bylo možné rychlejší načítání.
Síť CDN má některé další užitečné funkce, například ochranu před útoky distribuovaného odmítnutí služby (DDoS)a skenování zabezpečení v reálném čase proti hackerským hrozbám.
Stránky registru jsou hostovány v našem hlavním datovém centru, kde je provoz vyvážen zátěží napříč clusterem serverů aplikací, zatímco data registru jsou uložena v klastru tří výkonných databázových serverů na šifrovaných souborových systémech. Jedním z nich je hlavní databáze, kde jsou prováděny aktualizace, a dva jsou replikované servery, které dostávají kopii dat v reálném čase. Replikační servery se používají pro většinu operací „čtení“ registru a rozhraní API, ale jsou to také pohotovostní servery, což znamená, že je možné je v případě selhání povýšit na hlavní server.
Máme sortiment dalších serverů podporujících produkční systém, které zaměňují data za účelem vytváření indexů vyhledávání, udržují aktuální výpis veřejných dat v jiném datovém centru a spouštějí naplánované úkoly, jako jsou e-mailová připomenutí.
Databázi automaticky zálohujeme dvakrát denně, zašifrujeme výpis a předáme ji jinému poskytovateli cloudových služeb na jiném kontinentu, abychom v případě katastrofy v našem hlavním datovém centru mohli pomocí zálohy databáze obnovit systém. Pravidelně testujeme, zda tento proces funguje pomocí dočasného offline serveru.
Jedná se o pevný základ. Nicméně, ORCiD stále roste a stále více se na nás spoléhá jako na součást výzkumné informační infrastruktury. Musíme tedy udělat více, abychom zajistili, že komunita na nás bude i nadále záviset.
Co bychom chtěli vylepšit?
Chtěli bychom mít aplikační servery a repliky databází na více místech, abychom se nemuseli spoléhat na poněkud zdlouhavý proces obnovení databáze nebo ztratit data od poslední zálohy. Rádi bychom byli schopni zajistit nové servery během několika minut, spíše než hodin, v případě náhlého zvýšení poptávky.
Zvažujeme oddělení nejdůležitějších částí systému, jako je registrace, přihlášení a autorizace do izolovaného systému, a rádi bychom také zajistili, aby problémy s veřejným přenosem API neměly dopad na API registru a členů.
A chtěli bychom flexibilnější architekturu využívající standardní průmyslové technologie, jako je Docker kontejnery a Kubernetes, což nám pomůže provést výše uvedená vylepšení.
Dejte nám vědět, co si myslíte o našich plánech! Jak to porovnáme s vaší vlastní organizací a dalšími službami, na které se spoléháte? Je toho víc, co bychom mohli nebo měli dělat? Máte pro nás nějakou radu na základě vlastních zkušeností? Kontakt s vašimi vstupy a zpětnou vazbou!