cloud vs. cloud (ako si vybrať)


 

Na cloude záleží a vybrať si ten správny je neľahké. Migrácia do cloudu nie je triviálna a odsťahovať sa preč je ešte o chlp ťažšie, takže je fajn byť hneď na tom správnom mieste. Ponúkam svoj názor na výberové kritériá pre verejný IaaS cloud, v poradí dôležitosti:

1. Cena/výkon
2. Stabilita
3. Konektivita
4. Bezpečnosť
5. Podpora
6. Vlastnosti
7. Geo-politika
8. Interface

Poradie je subjektívne, veľa som nad tým hútal, s veľa zákazníkmi sa rozprával, ale toto mi príde najuniverzálnejšie. Neskôr poviem o tom, ako sa môže toto poradie od prípadu k prípadu veľmi meniť, ale najprv rozpitvem jednotlivé oblasti:

1. Cena/výkon

Virtuálne servery sú tiež len servery a nič nie je dôležitejšie, než aby performovali. Rozdiely vo výkonnosti medzi jednotlivými providermi vôbec nie sú malé a môže sa bežne stať, že na daný výpočtový či diskový výkon budete potrebovať u rôznych providerov iný počet serverov. Situáciu v porovnávaní výpočtového výkonu komplikuje fakt, že provideri používajú ako jeho mernú jednotku vágnu veličinu “1 vCPU”, ktorá nie je nijak štandardizovaná.

Dobrou pomôckou môžu byť vznikajúce nezávislé porovnávacie testy cloudov, tu jeden od Cloud Spectator. Najlepší nápad je ale vypýtať si vo zvažovaných cloudoch testovacie konto a pomerať si to individuálne, najlepšie s reálnou cieľovou aplikáciou, alebo aspoň benchmarkovou appkou, ja používam geekbench3 na CPU výkon a fio na IO výkon.

Zbehol som dlhodobé záťažové testy vo veľa cloudoch a myslím si toto:

CPU:

  • Veľa providerov ponúka jeden “produkt” virtuálnych serverov na rôznorodom hardvéri, lebo infraštruktúru dokupujú postupne. Treba sa informovať, alebo sa pozrieť na testovacom konte. Pýtajte si presun na najnovšie servery, malý provider vám to azda splní.
  • CPU výkon v public cloudoch je väčšinou v čase konzistentný. Robil som všelikde opakované testy každých pár minút počas mnoho dní, a merania štandardnej odchýlky ukazujú len 1 až 5 percentné variácie. “Bad neighbour effect” verejných cloudov je teda v prípade CPU výkonu takmer zanedbateľný. Provideri (a orchestračné platformy) sa zjavne naučili CPU záťaž efektívne rozkladať. S diskmi to tak nie je, o tom neskôr.
  • Občas sa na trhu vyskytne ojedinelý negatívny úlet. Azure ešte pred 2 mesiacmi ponúkal lacný A2 server za 62 eur mesačne, čo bežal na 5 rokov starom Intel Xeon E3-12xx CPU, ktorý performuje len polovicu zo súčasných CPU.
  • Veľa providerov ponúka “špeciálne” servery na výpočtové aplikácie ako HPC, analytika, big-data a podobne. Často ale bežia úplne tie isté CPU ako “bežné” servery, stoja viac, tak sa vlastne vôbec neoplatia. Zažil som aj to, že sa od “general purpose” serverov líšili len (oholenejšou) distribúciou Linuxu.

Disky:

  • Vo výkonnosti diskov medzi jednotlivými cloud providermi sú obrovské rozdiely. Sú virtuálne servery, čo ledva vytiahnu 500 IOPS, sú také, čo dajú hravo 9000. Treba si pomerať. Ja testujem read/write random 4K blokov príkazom fio –randrepeat=1 –ioengine=libaio –direct=1 –gtod_reduce=1 –name=test –size=40000000 –readwrite=rw
  • Žiaľ klasickou “detskou nemocou” mladých cloudov je obmedzená schopnosť trvale prideliť každému virtuálnemu serveru garantovaný IOPS výkon. Menší hráči majú často veľmi nekonzistentný diskový výkon. Tu je ale príklad veľkého cloudu, čo to dávno vychytal: aj najlacnejší server t2.medium v Amazone si svojich 1000 IOPS drží úplne stabilne:

amazon

  •  Väčšina providerov sa zdráha garantovať IOPSy a oprávnene – je veľmi ťažké load-balancovať a shapovať disky veľa zákazníkov. Ak potrebujete stabilne bušiť do diskov, zvážte privátny dedikovaný server v nejakom hybridnom scenári.

2. Stabilita

Tým myslím dostupnosť, uptime. Nikto nechce, aby mu server v cloude padal. Je ťažké porovnávať v tomto jednotlivé cloudy, lebo nikto svoj uptime nezverejňuje a ak aj niekto nejaké číslo zverejní, nič to neznamená, lebo v tomto neexistuje štandardizovaná metodika, písal som o tom v staršom blogu. O veľkých výpadkoch známych cloudov sa dá dočítať v IT médiách, ale ucelený objektívny pohľad nedávajú. Sú firmy, čo to akože nezávisle monitorujú, ale tomu sa z princípu nedá veriť. Pravdepodobne si len kúpia jednu, či zopár virtuáliek v každom cloude a potom ich pingajú, ale je to o šťastí, lebo často providerom vypadne len časť platformy, na ktorej daná testovacia virtuálka nemusí bežať, či naopak.

Menší cloudoví hráči to môžu mať o niečo ľahšie, čo sa týka dostupnosti, lebo sa nepotýkajú s problémami veľkej škály. To, čo funguje v malom cloude, nefunguje vo veľkom, škála so sebou prináša úplne nový typ problémov a provideri sa musia učiť rásť. Malí hráči taktiež nebývajú častým terčom rozsiahlych sieťových útokov hackerov. Musia sa ale učiť robiť časté zmeny a to so sebou riziko výpadkov prináša.

Cloudy u telco providerov sú špecifické tým, že sú z ich biznis pohľadu skôr “pridružená výroba” pri ktorej nie je silný tlak na profitabilitu a tak môžu mať menšiu vyťaženosť zdrojov a menšiu agregáciu zákazníkov na serverov. To je fajn, jedno z mojich základných a prekvapivo jednoduchých zistení po pár rokoch praxe s prevádzkou cloudu je ako veľmi stabilita súvisí s load-om. Nepreťažené servery sú stabilnejšie, akoby sa na to zabúda.

Ako si vyberiete? Pýtajte sa cloudového providera ako meria a rieši výpadky. Či má certifikáty v tejto oblasti, napríklad ISO 27018 Business Continuity Management. I keď – papier znesie. Ak je stabilita kľúčová, treba si samozrejme pýtať SLA zmluvu, i keď verejný cloud je väčšinou o tom, že všetci zákazníci sa vezú na jednej lodi a server s SLA asi nebude padať menej, takže je to skôr o zmluvných a nie technických zárukách, tak sa netreba na SLA veľmi upnúť.

3. Konektivita

Aj o tomto som už písal samostatný blog. Čo dodať? Konektivita je pre cloud esenciálna. Navrch majú provideri, čo sú telco firmami. A pozor na účet za prenesené dáta v prípade globálnych amerických cloudov.

4. Bezpečnosť..

..je o tom, aby vás v cloude niekto nevyhackoval. Obdobne ako v prípade stability, je veľmi ťažké v tomto cloudy objektívne porovnávať. Skúste sa ale popýtať providerov, čo robia preto, aby vám nikto dáta neodcudzil. Microsoft na tú tému zverejnil obdivuhodný whitepaper. Majú veľký profi security tím dedikovaný na ochranu Azure/O365 platformy. OK, ale majú aj dedikovaný tím etických hackerov, ktorí sa snažia nabúrať dnu. A potom ešte majú tretí nezávislý tím, ktorý predpokladá, že hackeri už sú dnu a hľadá ich.  Impresívne.

V našich končinách to tak nie je a keď som si párkrát súkromne spustil rozsiahlejšie scany sietí cloudových providerov (napríklad aby som odhadol počty bežiacich mašín), nikto ma neblokoval. To nie je dobre. Azure vám nedovolí ani ping, a keď som si trošku zablbol, hneď ma odstavili roboty.

Priority providera pri prevádzke cloudu by mali byť jasné: Bezpečnosť musí byť na prvom mieste, lebo nič nie je horšie, ako keď uniknú zákaznícke dáta. Potom stabilita, potom performance a až potom riešičky zákazníckych požiadaviek. Je chyba, ak je to naopak a je možné, že je to u niektorých malých hráčov tak je.

5. Podpora

Pozor na to, akú úroveň podpory máte v cene. U veľkých nadnárodných providerov si obvykle musíte priplatiť aj za základnú schopnosť dávať tickety. Je dôležitá nielen rýchlosť odozvy, ale aj kvalita ľudí na podpore a akási filozofia, či tón podpory. Priveľa ľudí v supportných centrách je v nepríjemnom defenzívnom až protiútočnom móde, keď ide o riešenie problémov na “ich” platforme.

Myslím si, že platí, že menší hráči sú v tejto oblasti na tom skôr lepšie. Časom si vytvoríte s ľuďmi na podpore u malého providera individuálny vzťah, to môže byť na nezaplatenie. Ak pravda podporu často potrebujete.

6. Vlastnosti

Cloudoví provideri sa líšia vo vlastnostiach ako load-balancing, snapshoty diskov, elastický provisioning serverov, atď. Radi a veľa o tom hovoria a novými fičúriami sa pýšia, často tvoria gro ich marketingovej komunikácie. Je ale otázne, koľko zákazníkov tieto vlastnosti reálne využíva. V našich končinách skôr menej, preto mi toto príde ako mierne preceňovaná oblasť, i keď nové vlastnosti si študujem a vcelku ma vedia vzrušiť. Keď si googlim porovnávacie testy zahraničných cloudov, väčšinou sa zameriavajú na tento bod. Ale ja mu po zrelej úvahe prideľujem až šiestu priečku.

7. Geo-politika

..súvisí s tým, kde sa cloud nachádza. Niekto môže nedôverovať americkým cloudom, alebo musí byť v EU kvôli legislatíve okolo ochrany osobných údajov. Niekto chce vyslovene slovenský cloud a bývajú v tom často len emócie či nacionalizmus, inokedy konkrétne legislatívne nariadenia. Iný sa naopak potrebuje pred našimi zákonmi schovať a zriadi si cloud trebárs v daňovom raji.

8. Interface..

..čiže samotné rozhranie, cez ktoré pristupujete k ovládaniu a nastaveniu cloudovej infraštruktúry. Toto je veľmi názorová oblasť, každému sa páči niečo iné. Ja v tomto milujem Azure, nemám rád Amazon, ale časom si zvyknem na hocičo. Toto je podľa mňa opäť veľmi preceňovaná oblasť a keď niekto kritizuje ten cloud portál, pre ktorý pracujem, staviam sa k tomu defenzívne – nehundrite, zvyknete si. Ale kritérium to môže byť.

Poradie dôležitosti

Rebríček horeuvedených kritérií je veľmi subjektívny a konkrétne poradie priorít tiež veľmi záleží na type zákazníka a konkrétnom využití cloudu. Ak ste banka, bezpečnosť je zjavne na prvej priečke. Zvážte privátnejšiu formu verejného cloudu. Provideri vedia spraviť custom sieťové a bezpečnostné nastavenia a vedia dedikovať časť zdielanej infraštruktúry. Ak ste menšia ne-IT firma, rozhodujúca môže byť lokálna podpora, či prívetivý ovládací interface. Developerom záleží na interface, cez ktorý sa servery zriaďujú, lebo to robia často a tiež si potrpia na podporu, lebo im často chýbajú skilly adminov a pri vývoji a testoch si často niečo sami pošahajú.

Konektivita je veľmi dôležitá pre využitia ako zálohovanie, DR, VDI, či ERP. Stabilita je dôležitá pre všetkých, ale ak máte naozaj mission-kritickú službu, nemôžete sa spoliehať na dostupnosť cloudovej platformy a postaviť si službu tak, že jej prevádzka nebude ovplyvnená výpadkom jedného servera, či dokonca celého jedného cloudového providera.

Pre internetové online portály, či e-shopy môže byť prvoradé kritérium konektivity a ochrany proti útokom typu DDoS, ale aj vlastnosti ako napríklad elastické vytváranie a “zabíjanie” serverov pri meniacej sa záťaži WWW serverov, ktoré malým hráčom stále chýba.

ERP aplikácie by mali mať približne horeuvedené poradie priorít, treba dbať na cenu/výkon a preveriť si možnosti privátneho typu pripojenia a silnej sieťovej bezpečnosti. Databázové mašiny potrebujú svoje IOPSy a namieste môže byť voľba providera, čo vie k verejnému clopudu ponúknuť aj vlastný dedikovaný server, alebo housing vašej vlastnej infraštruktúry.

Záverom

Poradie priorít sa bude časom meniť s prichádzajúcimi zmenami v architektúre služieb, ktoré zákazníci v cloude prevádzkujú. Od západu k nám príde trend horizontálnej architektúry a zmeny z “pets” na “cattle”, tu nám s Véčkom o tom nedávno vyšiel článok v Touch-IT. Odpadne tak závislosť na konštantnom výkone a obavy z výpadkov jednotlivých serverov, do popredia priorít sa môžu dostať sofistikovanejšie vlastnosti ako možnosť vytvárať si servery cez API, priamejší prístup k hardvérovej platforme, či zložité hybridné sieťové konfigurácie. Tak a teraz hurá kupovať.

3 thoughts on “cloud vs. cloud (ako si vybrať)

    1. Sledujem len ich web, nemám osobnú skúsenosť, takže viem posúdiť len zverejnené produktové portfólio. To je moderné a odráža to, čo podľa mňa aktuálne trh pýta. Obdivujem rýchlosť, s akou uviedli na trh Veeam BaaS a DRaaS. Je podľa mňa fajn staviť na “lokálnu” kartu a používať know-how z prevádzky verejného cloudu na budovanie privátnych cloudov u zákazníkov, to je podla mňa budúcnosť nás, lokálnych hráčov. Držím palce.

  1. Ahoj 083X,
    nie je nic jednoduchsie ako im napisat/zavolat, ze chces demo a vyskusas performance a daj si aj nacenit nejaku konfiguraciu. ved to nie je zavazne a hned ma clovek prehlad… 🙂

Comments are closed.