Autor: Marek Ploštica
Antidote je platforma na poskytovanie interaktívneho výučbového procesu na požiadanie, odstraňujúca všetku obvyklú zložitosť nastavenia vlastného laboratórneho prostredia. Všetky tieto nastavenia vykonáva na pozadí, čím poskytuje používateľovi jednoduchú interakciu s webovým portálom. Bol navrhnutý na vytvorenie a uskutočňovanie vzdelávania v oblasti sieťových technológií. Jeho používateľské rozhranie pracuje vo webovom prehliadači vrátane terminálov, ktoré študenti používajú na vykonávanie príkazov na emulovaných sieťových zariadeniach a serveroch.
Ide o open-source engine (vydaný pod licenciou Apache), ktorý prevádzkuje webovú stránku NRE (Network Reliability Engineering) Labs. Architektúra NRE Labs je výhradne založená na Antidote. Platforma, postavená na Kubernetes, automaticky konfiguruje všetko potrebné pre každé osobitné vyučovanie, ako sú sieťové zariadenia, kontajner pre skript v pythone a terminál zobrazujúci CLI. Antidote poskytuje autorom učebných osnov široký výber nástrojov na navrhovanie a zobrazovanie ich obsahu s minimálnym nastavením infraštruktúry. To umožňuje autorom ľahko prispieť k ich hlavným odborným znalostiam, bez nutnosti mať rozsiahle vývojové skúsenosti.
Jednoduchosť inštalácie
Nástroj možno spustiť dvoma spôsobmi. Jeden zo spôsobov je priama zmena vo verejnom repozitári na github a následná aplikácia do publikovanej webstránky. Druhá možnosť spočíva v lokálnej inštalácii samotného programu Antidote na lokálny počítač, pomocou nástroja nazývaného Selfmedicate.
Primárne si založíme github účet a navštívime NRE Labs curriculum repozitár. Pod výrazom Curriculum rozumieme množinu všetkých súborov a lekcií, ktoré vstupujú do učebných osnov. Všetky zmeny spravuje github. V ďalšom kroku sa snažíme vytvoriť kópiu tohto repozitára. V tejto kópii je možné vykonávať nejaké zmeny predtým, ako sa pokúsime týmito zmenami prispieť späť do hlavného projektu. Kópiu spravíme kliknutím na „Fork“ v danom repozitári.
Ak máme vlastný „Fork“, tak je nutné ho skopírovať (clone) do nášho PC pre lokálne zmeny. To zabezpečíme príkazom #git clone repozitár na príslušný git. Ďalej je užitočné vytvoriť pracovný „Branch“ pre nový obsah, čo nám umožní vykonávať zmeny bez zásahu do cudzej práce. To vykonáme spustením príkazu #git checkout -b „názov lekcie“ v adresári klonovaného repozitára.
Postupujeme stiahnutím archívu obsahujúceho binárne súbory, ktorý následne rozbalíme. Z rozbaleného archívu nás zaujíma súbor antidote. Jeho použitím vytvárame konkrétne lekcie prostredníctvom sprievodcu. Sprievodca nám ponúka možnosti ako sú názov lekcie, jej popis, názov inštancií, image inštancie, prepojenie jednotlivých inštancií, autora a podobne. Po vyplnení všetkých potrebných parametrov, skontrolujeme platnosť lekcie pomocou príkazu #antidote validate v adresári danej lekcie. Všetky tieto nastavenia lekcie sú uložené v súbore meta.yaml, v ktorom môžeme jednotlivé parametre upraviť podľa potreby.
Po dokončení všetkých úprav, nahráme našu lekciu na github a požiadame o nahratie na verejnú webovú stránku. Kde však nastáva problém s lekciou, ktorá pokiaľ nedáva určitý význam je približne do hodiny odmietnutá a následne vymazaná autormi. Na význam, respektíve zmysel našej lekcie sa nás opýta samotný vývojár. V našom prípade sa test jednoduchej topológie, pozostávajúcej z prepínača vQFX a inštancie Linuxu, nepodarilo presadiť a do hodiny nás kontaktoval vývojár o našom úmysle. Po podaní vysvetlenia nás odkázal na Selfmedicate nástroj.
Čo sa týka inštalácie Antidote na lokálny PC, tak vznikali obrovské problémy. Selfmedicate poskytuje možnosť behu lokálnej verzie NRE Labs na počítači. To nám umožňuje vidieť, ako si naša vytvorená lekcia vedie predtým, ako požiadame o nahratie na verejnú stránku. Podľa oficiálneho návodu [26] a použitím vývojárom odporúčaného spôsobu inštalácie pomocou nástroja Vagrant sa nám to nepodarilo rozbehnúť. Vagrant, program umožňujúci definovať virtuálne prostredie v Selfmedicate repozitári, automaticky obsahuje všetky softvérové závislosti potrebné na fungovanie Antidote. Po vykonaní všetkých potrebných úkonov uvádzaných v návode, na konci terminálu zobrazilo „Finished“ a lokálnu stránku, po ktorej rozkliknutí nás malo presmerovať na lokálny NRE Labs. Lenže po kliknutí nám ukázalo chybu servera. To isté sa stalo aj v prípade inštalácií na operačný systém Windows. Rovnako sme sa pokúšali namiesto virtualboxu použiť KVM, no takisto neúspešne. Poruchu sa nepodarilo odstrániť žiadnym spôsobom, dokonca ani manuálnym nainštalovaním všetkých nevyhnutných programov, pomocou tohto návodu [25].
V konečnom dôsledku sa nám nepodarilo reálne otestovať tento nástroj na naše požiadavky, teda pri hodnotení budeme vychádzať iba na základe dokumentácií.
Požiadavky simulátora na hardvér systému
Autori neuvádzajú minimálne hardvérové požiadavky pre správne fungovanie tohto nástroja. V prípade využívania platformy na ich verejnej stránke s definovanými lekciami, stačí mať prístup na internet a webový prehliadač. Z našich testovaných prehliadačov (Google Chrome, Mozilla Firefox a Microsoft Edge) ani jeden nevykazoval potenciálne nedostatky. Menšie oneskorenie bolo cítiteľné pri písaní príkazov do terminálov jednotlivých inštancií, avšak nie natoľko ako v prípade Juniper vLabs.
Pokiaľ chceme rozbehnúť tento nástroj na našom počítači, je potrebná inštalácia softvérov ako VirtualBox, Vagrant a nasledujúce klonovanie potrebných repozitárov do nami určeného adresára. Tieto programy nám zobrali z disku 737 MB. Potom musíme spustiť program Vagrant pomocou príkazu #vagrant up v adresári Selfmedicate a ten postupne stiahne a nainštaluje ďalšie nevyhnutné súčasti. Celkovo tak potrebujeme 4464 MB pre všetky dôležité súčasti, prevádzkujúce túto činnosť na lokálnom počítači.
Podpora platforiem
Všetky podporované operačné systémy, spustiteľné v rámci tohto nástroja, nájdeme v podadresári images na githube NRE Labs. Z nami požadovaných platforiem sa tu nachádza iba prepínač vQFX a smerovač vMX od spoločnosti Juniper. Okrem toho tu však môžeme nájsť aj čistý operačný systém Linux, komunikačný softvér Asterisk a ďalšie.
Tvorcovia ponúkajú možnosť vytvoriť a pridať vlastný image operačného systému. Čo však podľa všetkého nie je jednoduchá záležitosť. Na základe popisu v dokumentácii ohľadom znalostí a požadovaných prostriedkov, sa skôr neodporúča vykonávať túto operáciu. Samotní autori navádzajú využívať už vytvorené platformy a tvorbu nových platforiem odporúčajú iba v nevyhnutných prípadoch. Každá zmena, ktorú chceme vykonať v rámci nástroja, musí prejsť autorským schválením.
Potreba získať OS virtuálneho zariadenia
V tomto nástroji už sú vytvorené a preddefinované nejaké operačné systémy, žiaľ pre našu potrebu je k dispozícii iba vQFX a vMX od Juniper. To nás núti zaobstarať si vlastný image konkrétneho operačného systému a prispôsobiť ho podľa požiadaviek autorov.
Autori v sekcii tvorby vlastného image popisujú rôzne typy pri jeho produkcii. Podľa autorov, keďže ide o výučbový nástroj, sa neodporúča aby bola vytvorená platforma nejakým spôsobom zbytočne komplikovaná a veľkosť by nemala prekračovať 4 GB pamäte. Taktiež je dôležité používať dôveryhodné image súbory.
Podpora režimu klient/server
Antidote a jeho súčasti bežia na webovom serveri. Server možno spojazdniť aj na lokálnom PC, čo sa však v našom prípade nepodarilo. Každopádne je zamietnutý prístup viacerých používateľov k tým istým inštanciám. Vždy sa vytvorí samostatná relácia s vlastnými inštanciami pre každého užívateľa.
Z tohto hľadiska vieme nasadiť nástroj na nejaký server a pristupovať ku jednotlivým lekciám z iných koncových zariadení.
Prehľadnosť prostredia simulátora a jednoduchosť jeho ovládania
Na verejnej webstránke sa aktuálne nachádza 18 výukových lekcií. Po voľbe konkrétnej lekcie trvá v priemere asi minútu inicializácia všetkých potrebných inštancií. Po inicializácii sa nám zobrazí používateľské rozhranie, skladajúce sa z dvoch základných častí.
Na ľavej strane sa vyskytuje popis a návod ku danej lekcii, zatiaľ čo po pravej strane sa rozprestiera plátno s CLI jednotlivých inštancií. Do CLI sa dá písať jednotlivé príkazy manuálne, avšak v návode nájdeme aj skripty, ktoré sú spustiteľné po kliknutí a následne sa vykoná daná postupnosť krokov popísaná v skripte na zvolenej inštancii.
Celkovo sa používateľské rozhranie javí ako veľmi intuitívne a nenáročné na ovládanie. Chýba tu však grafické znázornenie topológie, čo sa dá nahradiť vytvorením obrázka s danou topológiou a jeho vložením do návodu k lekciám pre lepšiu predstavivosť
Podpora zo strany vývojárov a komunity
Vzhľadom na dokumentáciu a podporu od vývojárov, Antidote napreduje. Vývojári neustále pracujú na optimalizácii a pridávaní nových funkcii do nástroja. O tomto sa môžeme presvedčiť pri pozorovaní posledných zmien na githube, pričom zmeny sa pohybujú v rozsahu niekoľkých dní.
Dokumentácia obsahuje zbytočne veľa nepodstatných informácií a pripomína skôr slohovú prácu. Za ďalší deficit dokumentácie považujeme neustále presmerovanie na iné sekcie v dokumente, prípadne na iné stránky. Na druhú stranu tu nájdeme všetko potrebné pre fungovanie a pracovanie s nástrojom vrátane video tutoriálov [23].
Z hľadiska komunity sme objavili len 2 články,zmieňujúce tento nástroj a dokonca od rovnakého autora. Na githube ale môžeme vidieť, že sa do projektu zapája a prispieva 22 členov vrátane autora.
Možnosť prepojenia simulátora s reálnou sieťou
Nástroj slúži na vytváranie lekcií pre výučbové potreby a pri tvorbe inštancií poskytuje možnosť vykonávať prepojenia medzi nimi. Tu ale absentuje možnosť pripojiť inštanciu do reálnej siete a spolu s ňou teda aj konfigurácia a možnosť využitia tejto funkcie pri vzdelávaní.
Schopnosti simulátora ako vzdelávacieho nástroja
Antidote obsahuje relatívne veľké množstvo vstavaných operačných systémov, ale z potrebných pre výučbu na KIS FRI sa tu nachádza iba prepínač od spoločnosti Juniper (vQFX) a taktiež smerovač od tejto spoločnosti (vMX). Doplnenie ďalších operačných systémov predstavuje operáciu vhodnú skôr pre vývojárov. Každopádne autori pracujú na neustálom vylepšovaní tejto platformy, preto sa v budúcnosti očakáva podpora viacerých zariadení vrátane smerovačov od spoločnosti Cisco.
Nástroj nám neumožnil otestovať nami zvolenú topológiu, ani nič podobné z dôvodu nefunkčnosti na lokálnom počítači. Ani žiadna z verejných lekcií nezahŕňa topológie na otestovanie potrebných technológií.
Celkovo tak Antidote nie je vhodným kandidátom na vykonávanie nami požadovaných úkonov, čo nám priamo vysvetlil aj samotný autor.
Záverečné hodnotenie
Treba uznať, že existencia tejto platformy má vysoký potenciál v oblasti vzdelávania v rôznych smerov. Obrovská podpora od vývojárov, elementárne a intuitívne ovládanie a v neposlednom rade prístup ku CLI jednotlivých inštancií majú výrazný vplyv pri používaní tohto nástroja. Medzi výhody patrí aj nenáročnosť na hardvér, v prípade študenta pristupujúceho ku danej lekcii. Požaduje sa len prehliadač a zvolená lekcia, ktorú chce študent absolvovať.Jednoducho povedané, platforma nie je určená pre emuláciu sieťových zariadení, v porovnaní s GNS3 alebo Wistar. Ide skôr o vzdelávací nástroj, ktorý si zakladá na emulovaní simplicitných zariadení a plnení príkazov podľa inštrukcií v danej lekcii.