Student Računarskog fakulteta Mihajlo Borisavljević je u petak, 13. septembra 2024. godine odbranio diplomski rad na temu Kontejnerizacija u Savremenom Računarstvu pred komisijom koju su činili mentor dr Petar Bojović i član dr Nemanja Radosavljević.
U uvodu svog rada Mihajlo je istakao sledeće:
Kroz godine, kako su računari postajali moćniji, bilo je očigledno da se hardverski resursi ne koriste u potpunosti, što je bio podsticaj za istraživanje novih načina kako bi se optimizovalo njihovo korišćenje. Tako su različiti pristupi virtuelizaciji postepeno evoluirali, od primitivnih formi koje su omogućavale pokretanje više operativnih sistema na jednom fizičkom računaru, do sofisticiranih sistema koji omogućavaju deljenje resursa između virtuelnih mašina u realnom vremenu. Ovi napori u domenu virtuelizacije konačno su doveli do kreiranja sveobuhvatnih sistema koji su omogućili transformaciju načina na koji se računarski resursi koriste i upravljaju. Međutim, virtuelizacija je donela određene izazove i nedostatke, posebno u smislu potrošnje resursa i složenosti upravljanja. Kako bi se prevazišli ovi izazovi, razvijena je tehnologija kontejnerizacije. Tema kontejnerizacije postaje sve relevantnija u modernom IT okruženju, posebno sa sve većim zahtevima za skalabilnošću, efikasnošću i fleksibilnošću aplikacija. Klasične metode korišćenja virtuelnih mašina omogućile su značajan napredak u razvoju i implementaciji softvera, ali su ubrzo počele da pokazuju ograničenja u pogledu resursne efikasnosti i složenosti upravljanja. U tom kontekstu, kontejnerizacija nudi rešenje koje omogućava bolje iskorišćenje sistema, brže pokretanje aplikacija i jednostavniju integraciju u CI/CD procese. Kroz rad se detaljno obrađuju koncepti virtuelizacije i kontejnerizacije, s naglaskom na tehnologije poput Docker-a, Kubernetes-a i OpenShift-a, koje su postale standard u ovoj oblasti. U praktičnom delu rada, prikazana je implementacija frontend aplikacije putem Docker-a i njena integracija na OpenShift platformu, što demonstrira prednosti kontejnerizacije u stvarnim okruženjima.
…
Kroz ovaj rad, jasno se vidi da kontejnerizacija predstavlja revolucionaran korak u razvoju i implementaciji softverskih rešenja, omogućavajući bolju iskorišćenost resursa i jednostavnije upravljanje aplikacijama u kompleksnim okruženjima. Tradicionalna virtuelizacija, iako značajna za unapređenje IT infrastrukture, suočava se s izazovima kao što su duže vreme pokretanja sistema, veća potrošnja resursa i komplikovano upravljanje. Nasuprot tome, kontejnerizacija donosi agilnost i efikasnost, obezbeđujući brže pokretanje aplikacija, manje režijske troškove i veću fleksibilnost u skaliranju aplikacija na različitim platformama. Implementacija kontejnera putem Docker-a omogućava kreiranje lakših i prenosivih aplikativnih jedinica, dok Kubernetes i OpenShift omogućavaju orkestraciju i upravljanje kontejnerizovanim okruženjima na višem nivou. Kubernetes nudi robustan sistem za automatizaciju rada sa kontejnerima u produkciji, ali OpenShift dodatno pojednostavljuje ovaj proces pružajući integrisane alate za upravljanje korisnicima, sigurnost i skalabilnost. OpenShift-ova sposobnost da omogući automatizovano postavljanje i upravljanje aplikacijama kroz integraciju sa GitHub-om i CI/CD procesima potvrđuje njegovu važnost u savremenim IT procesima. Praktični deo rada demonstrira konkretnu primenu kontejnerizacije, gde je frontend aplikacija uspešno kontejnerizovana, postavljena na OpenShift platformu i automatski implementirana nakon svakog git push-a. Ovaj deo rada ne samo da je pokazao tehničku izvedbu zadatka, već je istakao i značaj sigurnosti u kontejnerizovanim okruženjima, kao i pravilno rukovanje permisijama i konfiguracionim fajlovima putem mount-ovanja config mapa. – zaključio je Mihajlo.