Računalniške storitve v oblaku

2021/2022
Program:
Interdisciplinarni magistrski študijski program 2. stopnje Računalništvo in matematika
Letnik:
1 in 2 letnik
Semester:
prvi
Vrsta:
izbirni
ECTS:
6
Jezik:
slovenski, angleški
Nosilec predmeta:

Matjaž Branko Jurič

Izvajalec (kontaktna oseba):

Matjaž Branko Jurič

Ure na teden – 1. semester:
Predavanja
3
Seminar
1.33
Vaje
0.67
Laboratorij
0
Vsebina

Razvoj aplikacij, ki se izvajajo na strežnikih
Definicija računalništva v oblaku: kaj je računalništvo v oblaku, namen, vloga in pomen, cilji
Izzivi: upravljanje infrastrukture, arhitektura aplikacij za oblak, shranjevanje podatkov, varnost, ostali vidiki
Lastnosti: samo oskrba na zahtevo, elastičnost in skalabilnost, dostop v obliki storitev, nadzor storitev, souporaba virov (pooling), itd.
Storitveni modeli: IaaS (Infrastruktura kor storitev), PaaS (Platforma kot storitev), SaaS (Aplikacije kot storitve), XaaS
Podrobni pregled IaaS (Infrastruktura kor storitev)
Pregled konceptov, arhitekturni vidik
Privatni oblak, javni oblak, hibridni oblak, virtualni oblak
Spoznavanje in primerjava najpomembnejših IaaS tehnologij
Podrobni pregled PaaS (Platforma kot storitev)
Pregled konceptov, arhitekturni vidik
Spremembe v razvojnih modelih: Trajno stanje: distribuirani datotečni sistemi, nestrukturirane shrambe, NoSQL baze, SQL baze v oblaku, Poslovna logika: spletne storitve, REST storitve, ostale tehnologije, Izvajalno okolje
Spoznavanje in primerjava najpomembnejših PaaS tehnologij: Java EE, Azure, Google App Engine, itd.
Podrobni pregled SaaS (Aplikacije kot storitve)
Pregled konceptov, arhitekturni vidik
Model dostopa, koncept razvoja
Poslovni model, storitve v oblaku (lokacijske, dostava podatkov, bogatenje podatkov, integracijske storitve, poslovna inteligenca, itd.)
Namestitveni modeli
Zasebni, javni, hibridni, skupni oblak
Na lokaciji, pri ponudniku, hibridni model, pregled ponudnikov
Migracija v oblak
Nadzor, upravljanje, SLA in QoS
Praktični del:
Vzpostavitev lastnega računalniškega oblaka
Razvoj aplikacij za oblak
Tehnološki vidiki
Vsebinsko-poslovni vidiki
Razvoj inovativnih aplikacij, ki delujejo v oblaku
Konfiguriranje hibridnega računalniškega oblaka
Spoznavanje najpomembnejših javnih oblakov: Amazon, Google App Engine, Azure, OpenStack, itd.
Študija prenosljivost oblačnih rešitev med ponudniki
Razvoj specifičnih razširitev za oblak

Temeljni literatura in viri

Barrie Sosinsky, Cloud Computing Bible, Wiley, 2011.
George Reese, Cloud Application Architectures: Building Applications and Infrastructure in the Cloud, O'Reilly Media, 2009.
David S. Linthicum, Cloud Computing and SOA Convergence in Your Enterprise, Addison-Wesley Professional, 2009.
John Rhoton, Risto Haukioja, Cloud Computing Architected: Solution Design Handbook, Recursive Press, 2011.
Matjaz B. Juric et al., Do more with SOA Integration, Packt Publishing, 2011.

Cilji in kompetence

Cilj predmeta je osvojiti poglobljene znanje in poznavanje področja računalništva v oblaku in vseh nivojev storitvene usmerjenosti (XaaS), osvojiti znanje s področja infrastrukture, platforme in aplikacij v obliki storitev, spoznati načrtovalske vzorce, arhitekturne modele in dobre prakse ter razumeti pomen inovativnih aplikacij v oblaku.
Kompetence:
Študentje bodo sposobni vzpostaviti infrastrukturo za delovanje privatnih, hibridnih in zasebnih oblakov, načrtovati in implementirati arhitekturo platforme PaaS, načrtovati in implementirati aplikacije, ki se izvajajo na PaaS, razumeti specifike oblačnih arhitektur in infrastruktur. Usposobljeni bodo za razvoj SaaS aplikacij na najpomembnejših PaaS/IaaS. Razumeli bodo pomen inovacij v oblaku.

Predvideni študijski rezultati

Po uspešnem zaključku predmeta bo študent:

  • razvijal programske rešitve za delovanje v oblaku
  • poznal lastnostni javnih in zasebnih oblakov- razumel infrastrukture in arhitekture računalniških oblakov- razumel cloud-native arhitekturo in jo uporabil pri razvoju- obvladal razvoj mikrostoritev- razumel in uporabljal vzorce za razvoj mikrostoritev- uporabil vsebnike in orkestracijo vsebnikov- sposoben razvoja SaaS aplikacij
Metode poučevanja in učenja

Predavanja, računalniške vaje, projektni način dela pri seminarjih.

Načini ocenjevanja

Sprotno preverjanje (vaje, kolokviji in projektno delo)
Končno preverjanje (pisni in ustni izpit)
(ocene: 5 (negativno), 6-10 (pozitivno), ob upoštevanju Statuta UL)

Reference nosilca

Pet najpomembnejših del:
JURIČ, Matjaž B. WSDL and BPEL extensions for event driven architecture. Inf. softw. technol.. [Print ed.], 2010, vol. 52, iss. 10, str. 1023-1043
JURIČ, Matjaž B., ŠAŠA, Ana, BRUMEN, Boštjan, ROZMAN, Ivan. WSDL and UDDI extensions for version support in web services. J. syst. softw.. [Print ed.], 2009, vol. 82, iss. 8, str. 1326-1343
JURIČ, Matjaž B., ŠAŠA, Ana, ROZMAN, Ivan. WS-BPEL extensions for versioning. Inf. softw. technol.. [Print ed.], 2009, vol. 51, iss. 8, str. 1261-1274
JURIČ, Matjaž B., PANT, Kapil. Business process driven SOA using BPMN and BPEL: from business process modeling to orchestration and service oriented architecture. Birmingham, Mumbai: Packt Publishing, cop. 2008. V, 311 str., ilustr. ISBN 978-1-84719-146-5
JURIČ, Matjaž B., MATHEW, Benny, SARANG, Poornachandra G., Business process execution language for web services: an architect and developer's guide to orchestrating web services using BPEL4WS. Birmingham: Packt Publishing, 2006. X, 353 str., ilustr. ISBN 1-904811-81-7.
JURIČ, Matjaž B., LOGANATHAN, Ramesh, SARANG, Poornachandra G., JENNINGS, Frank. SOA approach to integration: XML, web services, ESB, and BPEL in real-world SOA projects. Birmingham, Mumbai: Packt Publishing, cop. 2007. VIII, 366 str., ilustr. ISBN 978-1-904811-17-6