<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"><rdf:Description rdf:about="https://repozitorij.uni-lj.si/IzpisGradiva.php?id=121581"><dc:title>Urejanje in dostava video posnetkov z oblačno arhitekturo mikrostoritev</dc:title><dc:creator>Zoretič,	Uroš	(Avtor)
	</dc:creator><dc:creator>Jakus,	Grega	(Mentor)
	</dc:creator><dc:subject>računalništvo v oblaku</dc:subject><dc:subject>mikrostoritve</dc:subject><dc:subject>video na zahtevo</dc:subject><dc:subject>spletno urejanje videa</dc:subject><dc:subject>video delčki</dc:subject><dc:subject>spletna aplikacija</dc:subject><dc:description>Učinkovita in hitra distribucija video posnetkov na različna spletišča je ključnega pomena z vidika prepoznavnosti posameznika in podjetij. Še posebej to velja za podjetja, ki se ukvarjajo s produkcijo različnih multimedijskih vsebin za končne uporabnike. Video posnetke je potrebno pred objavo urediti in jih spremeniti v ustrezen format za predvajanje na spletu. Problem obstoječih rešitev je, da so izdelane po klasičnem monolitnem arhitekturnem vzorcu, kar otežuje nadgradnjo, nameščanje, vzdrževanje, učinkovito izrabo strojne opreme in integracijo v že obstoječe aplikacije in platforme za dostavo video posnetkov.

Ustreznejše od monolitnih aplikacij so aplikacije, ki se izvajajo v oblaku, kar je postalo de facto standard za razvoj najrazličnih rešitev, kot so to na primer spletne aplikacije, internet stvari in pogovorni roboti. Aplikacije, ki se izvajajo v oblaku, so porazdeljene, prilagodljive, horizontalno razširljive, odporne na napake, visoko razpoložljive, nastavljive in največkrat sestavljene iz samostojnih namestitvenih enot, specializiranih za natančno določeno nalogo, imenujemo jih  mikrostoritve. Mikrostoritve so običajno tudi  šibko sklopljene in ustvarjene na zahtevo. Za zagotovitev njihovega ustreznega delovanja je mikrostoritve potrebno nadzirati z zbiranjem različnih vrednosti telemetrijskih metrik, dnevniških zapisov in sledenjem zahtevkov. Da se lahko mikrostoritve izvajajo na različnih oblačnih platformah, je potrebno njihovo izvajanje ločiti od posebnosti uporabljenih programskih jezikov, knjižnic, arhitekturnih vzorcev, strojne in programske opreme različnih strežnikov. To dosežemo z različnimi virtualizacijskimi tehnikami, med katerimi je najbolj primerna t. i. lahka virtualizacija z vsebniki. Zaradi velikega števila vsebnikov, v katerih se izvajajo mikrostoritve in njihove kompleksne topologije, je vsebnike potrebno upravljati z orkestracijskimi platformami in zagotoviti zanesljivo komunikacijo s storitvenimi mrežami. Zaradi lažjega obvladovanja običajno velikega števila mikrostoritev je njihovo gradnjo, nameščanje, testiranje in nadziranje priporočljivo izvesti avtomatizirano.

Zaradi vseh omenjenih prednosti smo se po principu računalništva v oblaku zgledovali tudi  pri izdelavi aplikacije za urejanje in dostavo video posnetkov. Učinkovitejšo pripravo posnetka za ponovno objavo smo dosegli z neposredno manipulacijo s posameznimi za splet pripravljenimi video delčki. Takšno rezanje in sestavljanje novih video posnetkov je hitro, saj se v večini primerov spreminjajo samo metapodatki video posnetkov. Kadar sistem zazna potrebo po dejanski spremembi določenega video delčka (npr. prvega ali zadnjega v posnetku), je običajno takšna operacija hitra, saj so video delčki običajno dolžine samo nekaj sekund. Po koncu urejanja novega posnetka je njegova objava na drugih spletiščih enostavna, saj se spremenijo samo indeksni in statusni zapisi v podatkovnih shrambah. Video posnetka tako ni potrebno še enkrat pretvarjati za objavo na spletu.

Aplikacijo smo razdelili na čelni in zaledni del. Zaledni del aplikacije smo razvili z arhitekturo mikrostoritev, pri čemer vsaka mikrostoritev opravlja natančno določeno nalogo, kot na primer nalaganje, rezanje, ustvarjanje, predvajanje in shranjevanje video delčkov in njihovih metapodatkov. Za medsebojno komunikacijo mikrostoritve v večini primerov uporabljajo komunikacijski vmesnik gRPC, v posameznih primerih pa tudi GraphQL in REST. Izvedbene podrobnosti razvitih mikrostoritev smo zakrili z lahko virtualizacijsko tehnologijo Docker z vsebniki, ki se izvajajo na različnih javnih oblakih. Vsebnike v javnih oblakih upravlja orkestracijska platforma Kubernetes. Za zanesljivo komunikacijo v kompleksni topologiji mikrostoritev skrbi storitvena mreža Istio z orodjema za zbiranje podatkov o delovanju aplikacije Prometheus in Jaeger za sledenje zahtevkom. Kompleksnost zalednega dela smo odjemalcem skrili z uporabo aplikacijskega prehoda Istio Ingress. Aplikacijo je mogoče uporabljati preko spletnega uporabniškega vmesnika, ki je bil razvit po principu spletne aplikacije na eni strani in se izvaja kot brez-strežniška storitev v javnem oblaku.</dc:description><dc:date>2020</dc:date><dc:date>2020-10-16 11:30:01</dc:date><dc:type>Magistrsko delo</dc:type><dc:identifier>121581</dc:identifier><dc:language>sl</dc:language></rdf:Description></rdf:RDF>
