Orkestracija in razporejanje vsebnikov v visoko razpoložljivih sistemih

Trenutno smo v obdobju pospešenega uvajanja vsebnikov – iz meseca v mesec vse več podjetij uvaja ali raziskuje možnosti uporabe te tehnologije v svojih okoljih. Kljub temu, da tehnologija in orodja, povezana z uporabo le-te, še niso standardizirana, prinašajo veliko prednosti. Omogočajo poenostavlj...

Full description

Bibliographic Details
Main Author: GOLJA, DEJAN
Other Authors: Ciglarič, Mojca
Format: Master Thesis
Language:Slovenian
Published: 2016
Subjects:
Online Access:https://repozitorij.uni-lj.si/IzpisGradiva.php?id=85786
https://repozitorij.uni-lj.si/Dokument.php?id=88929&dn=
Description
Summary:Trenutno smo v obdobju pospešenega uvajanja vsebnikov – iz meseca v mesec vse več podjetij uvaja ali raziskuje možnosti uporabe te tehnologije v svojih okoljih. Kljub temu, da tehnologija in orodja, povezana z uporabo le-te, še niso standardizirana, prinašajo veliko prednosti. Omogočajo poenostavljen razvoj, poenostavi uporabo mikrostoritev in hitro prilagajanje zmogljivosti glede na promet. Kljub temu sami vsebniki niso dovolj za produkcijska okolja, kjer imamo veliko strožje zahteve, kot so visoka razpoložljivost, tolerantnost do napak, samodejno odpravljanje napak itd. Zato smo se odločili, da bomo preučili še spremljevalna orkestracijska orodja, ki uporabljajo vsebnike kot centralni del tehnologije. Glede na potrebe našega podjetja smo predstavili trenutno najbolj popularna orkestracijska orodja. Primerjali smo jih s konkretnim obstoječim sistemom, ki temelji na virtualnih strojih v oblaku, in utemeljili smiselnost odločitve za prehod na vsebnike. V magistrskem delu smo najprej pregledali tehnologije vsebnikov in predstavili Docker kot najbolj razširjeno implementacijo vsebnikov. Nato smo predstavili trenutno najbolj zanimiva orkestracijska orodja, in sicer Mesos, Swarm in Kubernetes. Za tem smo izvedli teste delovanja in primerjali rezultate z obstoječo rešitvijo v oblaku. Orkestracijska orodja samo tudi primerjali po funkcionalnosti. Na koncu smo predstavili našo izbrano arhitekturno rešitev za medijsko hišo. Na koncu pokaženo, da je naša rešitev po izvedbi in funkcionalnosti primerna. We are in a period of accelerated adoption of containers - every month more and more companies are introducing and exploring the possibility of using this technology in their environment. Despite the fact that the technology and tools associated with its use are not yet fully standardized, they still bring a lot of benefits. They enable simplified development, empower the usage of microservices and provide a better platform to adjust the capacity of the resources, based on traffic. Nevertheless, containers themselves are not enough for production environments where there are strict requirements such as high availability, fault tolerance, self-healing, etc. That is why we also examined the current orchestration tools, using containers as a central part of the technology. Based on the needs of our company, we picked the most suitable orchestration tools. We compared them with our existing system hosted in the cloud, and justified the decision to switch to containers. In this thesis, we first reviewed the containers technology, mostly focusing on Docker as the most popular implementation at the moment. Then we presented and analyzed the current orchestration tools - Mesos, Swarm and Kubernetes. After that we run performance tests and compared the results with performance of our existing system. We also compared the orchestration tools based on their functionality. Finally, we suggested the architectural solution suitable for the company and presented a pilot implementation. We show that the pilot meets the functional and performance requirements.