8.4 Cloud computing platformy

Pri rozhodovaní sa o spôsobe zabezpečenia si infraštruktúry, platformy alebo služby niektorým z vyššie uvedených spôsobov majú záujemcovia možnosť výberu z verejne dostupných cloudových služieb alebo realizácie vlastného neverejného cloudu. Medzi komerčné cloud computing platformy patria:

  • Amazon Web Services,
  • Google Cloud Platform,
  • Microsoft Azure,
  • IBM Bluemix,
  • Alibaba.

Pre realizáciu súkromného cloudu sú vhodné open source platformy ako napr.:

  • OpenStack, 
  • Apache CloudStack.

OpenStack

OpenStack je bezplatná softvérová platforma s otvoreným kódom navrhnutá pre cloud computing. Je používaná vo verejných aj súkromných cloudoch prevažne na poskytovanie IaaS. Vzhľadom na svoju otvorenosť, vlastnosti a silnú vývojovú základňu sa OpenStack stal základom pre realizáciu NFVI (Network Functions Virtualization Infrastructure) v rámci mnohých projektov zameraných na realizáciu sieťovej infraštruktúry prostredníctvom softvérovo definovaných sietí (SDN) a virtualizácie sieťových funkcii (NFV).  

Openstack sa skladá sa z komponentov (aktuálne je ich okolo 40), z ktorých každý plní svoju funkciu a rozširuje základnú funkcionalitu Openstacku.

Medzi základné komponenty Openstacku patria:

Nova – je to primárny výpočtový komponent. Slúži na správu fyzických výpočtových zdrojov a je navrhnutý pre nasadenie do bare-metal prostredia ale aj do virtuálnych prostredí. Využíva rôznych hypervízorov pre nasadenie veľkého počtu virtuálnych zariadení.

Neutron - poskytuje sieťové funkcie pre Openstack. Riadi prideľovanie IP  adries, vytváranie sietí a prideľovanie sietí inštanciám.

Horizon – poskytuje grafické rozhranie pre správu Openstacku. Využívajú ho: administrátori - vidia alokované a dostupné zdrojevirtuálneho prostredia a dokážu riadiť virtuálne prostredie. Vývojári - dokážu prostredníctvom API alebo CLI pristupovať ku všetkým Openstack komponentom.

Swift – je komponent úložiska pre súbory a objekty. V porovnaní s klasickým ukladaním objektov a súborov na disk, ktoré sú identifikované ich polohou na disku, Swift využíva odkazovanie sa na jedinečný identifikátor každého súboru alebo objektu a nechá Openstack rozhodnúť, kde daný súbor uloží. To robí škálovanie virtuálnych strojov jednoduchším a uľahčuje tiež proces zálohovania dát.

Cinder - je komponent úložiska pre ukladanie celých blokov, ktorý zodpovedá klasickému prístupu ukladania dát na disk. Riadi vytvorenie, priradenie alebo odstránenie úložiska ku inštanciám. Využíva sa hlavne z dôvodu rýchlosti prístupu k uloženým blokom dát (napr. databázové systémy).

Keystone - poskytuje manažment identít a autentifikáciu jednotlivých komponentov, prvkov a používateľov Openstacku. Obsahuje zoznam všetkých používateľov a mapuje ich na Openstack služby, na ktoré majú oprávnenia.

Glance - poskytuje služby pre obrazy (image) spravované v prostredí Openstack. Umožňuje ich registráciu a dovoľuje, aby obrazy boli použité ako šablóny pri vytváraní nových inštancií.

Ceilometer - poskytuje účtovací systém, spravuje všetky počítadlá, ktoré sú potrebné na zriadenie účtovania jednotlivých zákazníkov pre všetky komponenty, ktoré využívajú.

Komponenty platformy OpenStack

Obr. 2 Komponenty platformy OpenStack

Heat - poskytuje orchestračné služby pre Openstack, umožňuje vývojárom ukladať požiadavky na aplikáciu v súbore, ktorý definuje, aké zdroje sú potrebné pre nasadenie. Často sú tieto súbory napísane v:

  • XML       (Extensible Markup Language),
  • JSON     (JavaScript Object Notation),
  • TOSCA  (Topology Orchestration Specification for Cloud Applications).

Orchestračné služby pomáhajú automatizovať služby Openstacku.

OpenStack podporuje okrem štandardnej virtualizácie založenej na použití VM (Virtual Machine), ktorá je zabezpečovaná komponentom Nova aj kontajnerovú virtualizáciu. Tá môže byť zabezpečovaná priamo prostredníctvom OpenStacku komponentmi  ZunKuryr, prípadne realizovaná prostredníctvom kontajnerov Docker Swarm alebo Kubernetes, prístup ku ktorým je zabezpečovaný komponentom Magnum.