Skip to content

← Späť na Exams

2. NoteBookLM - Notes

LLM Chat Links:

  1. Prednáška č. 1: Prehľad cloudových systémov
  2. Prednáška č. 2: Aplikácie založené na mikroslužbách
  3. Prednáška č. 3: Elasticita a škálovateľnosť
  4. Prednáška č. 4: Bezstavové programovanie a Function (Lambda) Model
  5. Prednáška č. 5: Ukladanie komplexných dát v DHT
  6. Prednáška č. 6: Prístup ku kolekciám z moderných jazykov
  7. Prednáška č. 7: Geoscale Cloud
  8. Prednáška č. 8: Gossip protokoly
  9. Prednáška č. 9 & 10: Blockchain pre IoT a inteligentné zmluvy
  10. Prednáška č. 11: Súkromie v cloud computingu
  11. Prednáška č. 12 & 13: MapReduce a grafy sociálnych sietí

LECTURES


Prednáška č. 1: Prehľad cloudových systémov

  • Definícia: Cloud computing poskytuje škálovateľné, sieťovo orientované a abstrahované IT infraštruktúry, platformy a aplikácie ako služby na vyžiadanie, ktoré sú účtované podľa spotreby.
  • Kľúčové pohľady:
    • Fyzický: Globálne nasadenie masívnych dátových centier prepojených ultra-rýchlymi sieťami.
    • Logický: Kolekcia nástrojov a platforiem, ktoré umožňujú vývojárom rozširovať ich možnosti.
    • Konceptuálny: Súbor škálovateľných myšlienok a dizajnových stratégií.
  • Základné charakteristiky:
    • Škálovateľnosť („Elasticita“): Automatické pridávanie a odoberanie zdrojov.
    • Network-centric: Prístup k službám cez internet.
    • Abstrahovanosť: Nezávislosť od konkrétneho hardvéru.
    • On-demand: Rýchle vybavenie požiadaviek.
    • Pay-as-you-go: Platba len za skutočne využité zdroje.

Porovnanie funkčných modelov (XaaS):

Model Popis Zodpovednosť zákazníka
IaaS (Infraštruktúra) Prenájom stroja (VM) OS, aplikácie, firewall, dáta
PaaS (Platforma) Prispôsobiteľná platforma Vlastný kód aplikácie (logika)
SaaS (Softvér) Poskytovateľ spúšťa webové aplikácie Iba používanie cez prehliadač

Organizačné rozdelenie cloudov:

  • Verejný (Public): Zákazník a poskytovateľ sú z rôznych organizácií (outsourcing).
  • Súkromný (Private): Patria do rovnakej organizácie; náklady sú podobné tradičnej architektúre.
  • Hybridný: Kombinácia verejného a súkromného cloudu (napr. zálohovanie vo verejnom cloude).

Prednáška č. 2: Aplikácie založené na mikroslužbách

  • Mikrokontext (Bounded Context): Koncept odvodený z Domain-Driven Design (DDD). Každá mikroslužba vlastní svoj model a databázu.
  • API Gateway:
    • Rieši problém prílišnej previazanosti (coupling) a veľkého počtu komunikácií (round trips).
    • Výhody: Vyššia bezpečnosť (skrýva vnútorné služby), agregácia požiadaviek, autorizácia, SSL a load balancing.
  • Komunikácia:
    • Synchrónna: Klient čaká na odpoveď (napr. HTTP REST).
    • Asynchrónna: Klient nečaká, využíva správy (protokoly AMQP, MQTT).
    • Service Registry: Databáza sieťových umiestnení inštancií služieb potrebná pre ich dohľadateľnosť.

Prednáška č. 3: Elasticita a škálovateľnosť

  • Sharding: Rozdelenie jednej veľkej služby (napr. databázy) na pole menších „miniserverov“ (shardov) pre lepšie škálovane.
  • Replikácia: Inštancie v rámci shardu sú replikované na viacerých uzloch (State Machine Replication), čo zabezpečuje synchrónnosť dát.
  • Prípadová štúdia (Facebook Blob Cache):
    • Využíva hierarchickú štruktúru: Browser Cache -> Edge Cache (PoP) -> Origin Cache -> Haystack.
    • Haystack: Úložisko optimalizované pre SSD, určené pre „raz zapíš, veľakrát čítaj“.

Prednáška č. 4: Bezstavové programovanie a Function (Lambda) Model

  • Bezstavový model (Stateless): Program neuchováva perzistentné dáta na lokálnom počítači. Ak potrebuje niečo uložiť, pošle to do globálneho systému súborov alebo databázy.
  • Výhody: Služby sa dajú ľahko vypnúť, nahradiť a škálovať.
  • Teorém CAP (Eric Brewer): Systém môže súčasne spĺňať len 2 z 3 vlastností: C (Konzistencia), A (Dostupnosť), P (Tolerancia rozdelenia).
  • Metodológia BASE: Alternatíva k ACID; zameriava sa na základnú dostupnosť (Basic Availability), mäkký stav (Soft state) a eventuálnu konzistenciu.
  • Serverless / FaaS: Štýl výpočtov, kde sa prispôsobujú existujúce platformy pomocou malých úsekov kódu (Lambdy) spúšťaných udalosťami.

Prednáška č. 5: Ukladanie komplexných dát v DHT

  • DHT (Distributed Hash Table): Ponúka jednoduché rozhranie put, get, watch.
  • Vlastnosti: Dáta sú často uložené v pamäti pre vysoký výkon; prístup má zložitosť O(1).
  • Kľúče: Musia byť unikátne (používajú sa UUID, GUID), aby sa predišlo kolíziám.

Prednáška č. 6: Prístup ku kolekciám z moderných jazykov

  • NoSQL: Systémy, ktoré podporujú SQL-like dotazy, ale pracujú nad shardovanými dátami (napr. DynamoDB, CosmosDB).
  • Obmedzenia NoSQL: Chýba plná transakčná sémantika (ACID), nie je možné kombinovať dáta z viacerých shardov, absencia zamykania.
  • LINQ: Nástroj na prácu so štruktúrovanými dátami (tabuľkami).

Prednáška č. 7: Geoscale Cloud

  • Dostupné zóny (Availability Zones): Susediace dátové centrá s nezávislým napájaním a chladením pre vyššiu odolnosť.
  • Georeplikácia: Zrkadlenie dát medzi regiónmi. Pri veľkých vzdialenostiach Paxos nefunguje dobre kvôli latencii; riešením je napr. Google Spanner.
  • Obmedzenia: Datacentrá sú chránené firewallmi a NAT boxmi, čo sťažuje priame TCP pripojenia medzi nimi.

Prednáška č. 8: Gossip protokoly

  • Gossip (klebety): Škálovateľný spôsob monitorovania a správy veľkého počtu uzlov.
  • Astrolabe: Monitorovací overlay, ktorý buduje virtuálnu hierarchiu bez serverov pomocou SQL dotazov, ktoré sumarizujú dáta regiónu.
  • Výhoda: Šírenie informácií v grafe s malým priemerom (O(log n)).

Prednáška č. 9 & 10: Blockchain pre IoT a inteligentné zmluvy

  • Blockchain: Distribuovaná kniha záznamov (blokov) prepojených kryptografiou (Merkle Tree).
  • Typy:
    • Permissionless (Bez oprávnení): Otvorené pre každého, neefektívne (Proof-of-Work), hrozia rollbacky (Bitcoin).
    • Permissioned (S oprávneniami): Riadené autorizovanou skupinou, vysoký výkon, žiadne forky (Ripple, Hyperledger).
  • Smart Contracts: Kód v blockchaine (napr. Ethereum), ktorý automatizuje transakcie.

Prednáška č. 11: Súkromie v cloud computingu

  • Hrozby: Analýza sieťovej prevádzky, subverzné útoky, inverzia ML modelov.
  • Ochranné technológie:
    • SGX (Software Guard Extensions): Hardvérová podpora (Intel) pre „bezpečné enklávy“, kde operátor cloudu nevidí dáta ani kód.
    • Diferenciálne súkromie: Pridávanie šumu do výsledkov dotazov na ochranu identity jednotlivcov.
    • CryptDB: Systém umožňujúci vykonávať SQL dotazy priamo nad šifrovanými dátami pomocou „vrstiev cibule“ (onion encryption).

Prednáška č. 12 & 13: MapReduce a grafy sociálnych sietí

  • MapReduce: Model pre paralelné spracovanie petabajtov dát.
    • HDFS: Súbory rozdelené na 128 MB bloky, spravované NameNode-om.
  • Facebook TAO: Distribuované úložisko pre sociálne grafy, ktoré musí byť geo-škálovateľné a rýchle.
  • Edge Computing: Aplikácie pre inteligentné mestá a 5G vyžadujú odozvu do 25-30 ms.