Servery, kam se podíváš
Jakub Peisar | www.eel.cz
Se servery se v běžném životě setkává většina z nás. Při nákupu přes internet, při prohlížení nejnovějších zpráv či při kontrole internetového bankovnictví. Při všech těchto příležitostech komunikuje webový prohlížeč našeho počítače se serverem. Pod pojmem server se v IT myslí kus hardwaru (speciální počítač) na kterém je spuštěný program, který odpovídá na požadavky od klientů, kterými jsou například webové prohlížeče. Server takto poskytuje klientům různé služby.
Obr. 1. Skutečné provedení serveru (foto: Dmitry Nosachev; wikipedia.org)
Server je vlastně specializovaný počítač, který je stavěný na nepřetržitý provoz. Stejně jako u klasického stolního počítače mají servery CPU, paměť, síťovou kartu, zdroj napájení a disky pro uchování operačního systému a dat. Ve většině serverů oproti stolním počítačům naopak chybí grafická karta. Existují i varianty s grafickými kartami, takové servery se používají např. pro machine learning (strojové učení, podoblast umělé inteligence, zabývající se algoritmy a technikami, které umožňují počítačovému systému „učit se“). U serveru se předpokládá, že bude neustále v provozu, klade se proto větší důraz na durabilitu (dlouhodobou životnost) jeho jednotlivých komponent. Používají se ECC paměti (z anglického Error Correction Code), které umí samy detekovat a opravovat chyby. Procesory pro servery se od těch pro stolní počítače liší větším počtem jader, ale menší taktovací frekvencí. Síťové karty pro servery jsou dnes většinou ve dvou variantách: 1 Gbps metalickým kabelem nebo 10 Gbps optickým kabelem. Organizace komponent uvnitř serveru se také liší od běžného stolního počítače. Ty jsou většinou stavěné „do výšky“, zatímco servery jsou stavěné „do šířky“ (viz obr. 1). Dalším důležitým faktorem u serveru je chlazení, realizované nejčastěji vzduchem. V serveru jsou umístěné větráky, které nasávají studený vzduch z jedné strany serveru a ženou ho skrz server. Vzduch se ohřeje teplem, které generuje procesor a další serverové komponenty a je pak vyfukován druhou stranou serveru, čímž se toto teplo odvede mimo server.
Servery se ve většině případů umísťují do dedikovaných prostor, většinou do serveroven v datacentrech. V serverovnách jsou řady racků (speciálních skříní), ve kterých jsou servery naskládané na sebe. Každý server má většinou redundantní napájení v podobě dvou samostatných zdrojů. Každý zdroj je napájen z jiné napájecí větve, aby v případě výpadku jednoho zdroje nebo napájecí větve nedošlo k vypnutí serveru a tím pádem i výpadku služeb, které server poskytuje.
Servery slouží k poskytování služeb klientům. Jde o takzvanou klient-server architekturu. Klient pošle serveru požadavek a server požadavek zpracuje, často také vrátí klientovi odpověď. Příkladem je návštěva webu. Zjednodušeně řečeno když ve webovém prohlížeči zadáme adresu www.google.com, tak náš webový prohlížeč pošle požadavek o webovou stránku www.google.com na servery společnosti Google. Ty požadavek přijmou a vygenerují pro nás odpověď v podobě kódu webové stránky, který pošlou zpět našemu webovému prohlížeči. Ten přijme odpověď a zobrazí nám webovou stránku. Služby poskytované servery ale nemusí být jenom webové stránky. Servery mohou také například uchovávat data a na žádost klientů je vydávat nebo provádět náročné výpočty jako třeba modelování předpovědi počasí.
Obr. 2. Pohled dovnitř serveru (foto: Audrius Meskaukas; wikipedia.org)
Servery jsou běžně umístěné v serverovnách. Je proto nepraktické aby pokaždé když je potřeba provést nějakou změnu na serveru byl u serveru fyzicky přítomný správce serveru. Dnes se proto servery spravují „na dálku“ přes internet. Na každém serveru tak běží speciální program umožňující vzdálené přihlášení. Správci serverů se připojují na servery vzdáleně z pohodlí kanceláře. Po přihlášení se správce dostane do příkazové řádky serveru, kde pomocí příkazů upravuje nastavení serveru, kontroluje činnost jednotlivých služeb a podobně. Zároveň mají servery v dnešní době v sobě také speciální čip, takzvaný BMC (Baseboard Management Controller). To je vlastně takový malý samostatný počítač fyzicky umístěný uvnitř serveru, který má vlastní síťové připojení a kromě napájení je kompletně nezávislý na serveru uvnitř kterého je umístěn. BMC je zapnuté a funkční, i když je samotný server vypnutý, stačí, když je zapojený v napájení. Pomocí BMC pak lze na dálku server zapínat nebo vypínat, případně BMC umí zobrazit grafický výstup serveru, jako bychom k serveru připojili monitor a klávesnici.
Dnes se také můžeme setkat s pojmem virtuální server. V minulosti byly všechny servery řešeny jako fyzické počítače a každý server sloužil k poskytování celé řady služeb. S rozmachem internetu začal stoupat zájem o servery, firmy chtěly mít například vlastní webové stránky. Jenže provozování fyzického serveru představuje nemalé náklady. Samotný server je nákladná investice, musí se platit za jeho umístění v serverovně, za jeho připojení k internetu, za spotřebovanou elektřinu a podobně. Řešením se staly virtuální servery, které si v současnosti může kdokoliv zakoupit. Specializované firmy provozují serverové farmy plné fyzických serverů, na kterých běží software pro virtualizaci. Tento software emuluje fyzický server, takže pak lze na jednom fyzickém serveru provozovat několik virtuálních serverů. Virtuální server se tváří, jako kdyby se jednalo o fyzický server. Virtuální servery mohou vznikat a zanikat podle přání zákazníků. Firmy si tak mohou koupit virtuální server za zlomek ceny fyzického. Většinou se s tímto řešením setkáme pod pojmem VPS (virtuální privátní server).
Virtualizace serverů je v dnešní době obrovský byznys. Takzvaný „cloud“ není vlastně nic jiného než datacentrum se stovkami až tisíci fyzických serverů, na kterých jsou provozované další tisíce virtuálních serverů. Například největší světový poskytovatel cloudových služeb společnost Amazon Web Services provozuje přes 70 datacenter po celém světě.