„Hodíme to do cloudu.“ u nás vo firme už zľudovelo (@marek, @miso). Cloud samotný veľa problémov nerieši, niektoré však dokáže vyriešiť veľmi pekne. Postupne by som rád predstavil viacero zaujímavých možností cloudových služieb, ktoré aktuálne využívame na našich projektoch a pochvaľujeme si ich. Začnime postupne. Aj napriek tomu, že slovo cloud je pre developerov, managerov a analytikov pomaly ako malá sekerka pre vikinga (Cloud sem, Cloud tam, Hoď mu jeden cloud, …), za poslednú dobu som sa stretol s tým, že ho používame v rôznych významoch. Múdri ľudia v RedHate píšu:

How does cloud infrastructure work?

An abstraction technology or process—like virtualization—is used to seperate resources from physical hardware and pool them into clouds; automation software and management tools allocate these resources and provision new environments so users can access what they need—when they need it.

Jednoducho to znamená, že infraštruktúra, ktorú používame in-house u nás v bart.sk, je cloudová. Firma, podobne ako mnoho iných, si nakúpi hardware (disky, ramku, cpu, …) a následne pomocou technológie zvanej virtualizácia, z jedného „železa“ vytvorí mnoho prostredí, ktoré majú spoločný hardware. Inak sú však na sebe nezávislé. Plus trocha automatizácie, sieťovej roboty a máme k dispozícii cloud ako z veľkej knihy. Často teda počúvame: „Veď aj my máme cloud! Načo to niekam presúvať.“

Musí teda existovať niečo ako pokročilejší cloud a základný cloud. Niečo ako stratocumulus cloud a altocumulus cloud, jeden vyššie, druhý nižšie. Akože oblaky, chápeš? Heh.

Pozrime sa teda na to, čo myslíme pod pokročilejšou cloudovou službou, kde aktuálne presúvame časť našich projektov.

Krásnym príkladom môže byť Google Cloud Platform (GCP) alebo AWS (Amazon Web Service) a Microsoft Azure.

Keď som si prvý krát zapol GCP a prezrel som jedným očkom zoznam položiek v ľavom menu, cítil som sa ako keď som prvý krát navštívil Hamleys hračkárstvo. Ako hovorí ich motto: „Zábava začína.“ 😮. Obrovské možnosti, skutočná objaviteľská developerská expedícia. Už to nebola jedna VPS s prístupom na SSH, ale vlastný svet nabitý funkčnosťou.

 

Pozor! Toto meničko je ešte dlhšie a má rôzne podpoložky.

 

Keď sa pozriete na obrázok vyššie, tak to, čo ja bežne poznám pod označením cloud (resp. nižší obláčik ako sme ho nazvali vyššie), je „funkcia“ Compute Engine. Jej výhody pre naše projekty chcem vyzdvihnúť ako prvé.

Compute Engine

Keď máte vlastný hardware, človek musí veľa premýšľať ako a kde rozdeliť zdroje. Na tento virtuál potrebujeme 100 GB disku, na tento zas 1000 GB, niekde stačí 1 GB RAM, niekde treba aj 4, 6 alebo 256 GB. Skôr či neskôr človek narazí na hardwarový limit. Minie sa disk, minie sa RAM-ka, nehovoriac o tom, že staršie disky by bolo dobré vymeniť za novšie, rýchlejšie a časť infraštruktúry prehodiť na SSD. Nakupovať hardware znamená vážne rozhodnutie nakoľko sa nejedná o malé investície. Tu sa môžeme prieť, ale podľa mňa omnoho lepšia je možnosť si hardware prenajať a využívať ho podľa potreby. Toto nám provideri cloudov umožňujú. Google ako technologický gigant disponuje na naše potreby neobmedzenými zdrojmi. Keď potrebujeme 100 GB RAM-ky, môžeme si ju zobrať.

Objem systémových prostriedkov je jedna vec. Vyberať si však môžeme aj rôzne typy systémových prostriedkov, napríklad v prípade diskov (lokálne, HDD, SSD, …) alebo procesorov. Voliť môžeme samotné typy mašiny podľa účelu, napríklad optimalizované na výkon alebo na pamäť. Rovnako sa objavuje aj možnosť využívať GPU.

Celý proces je navyše rýchly a jednoduchý. Rovnako rýchle a jednoduché, doslova na zopár kliknutí je vytvorenie nového virtuálu alebo odstránenie starého. Keď sa tieto možnosti skĺbia s automatizovanou inštaláciou a konfiguráciou aplikácií na serveri samotnom, je to výnimočne dobrá chémia. GCP a aj iní provideri umožňujú server monitorovať, my sme sa zo zvyku rozhodli zotrvať pri monitoringu prostredníctvom Nagiosu, ktorý dôverne poznáme a na naše účely postačuje.

 

Zhrnutie

Na záver by som povedal iba toľko, že migrácie na cloudový stroj sa netreba obávať. Často dostávam otázku spojenú s rýchlosťou odozvy od servera, ktorý nie je umiestnený na Slovensku, ale vo Frankfurte. Na našich projektoch nepociťujeme rozdiely a primárne k spomaleniu webu najčastejšie dochádza až v aplikácii samotnej. Osobne sa pozerám na migráciu webu na Google ako na prvý krôčik, ktorý nám odomkne bránu k ďalším možnostiam ako je napríklad CloudSQL alebo App Engine, Cloud Run a Cloud Functions, čo sú nástroje, o ktorých budem písať nabudúce.

 

Neprehliadnite výsledky našej programátorskej práce.