2. NoteBookLM - Notes¶
Links¶
LLM Chat Links:¶
- CHATGPT chat link: https://chatgpt.com/share/6a1338af-b268-83eb-b857-923bed76a04e
- NoteBookLM chat link: https://notebooklm.google.com/notebook/94bf5dc2-eaf9-4fbf-b88d-c4db077525bf?authuser=1
Navigation¶
- Prednáška č. 1: Prehľad cloudových systémov
- Prednáška č. 2: Aplikácie založené na mikroslužbách
- Prednáška č. 3: Elasticita a škálovateľnosť
- Prednáška č. 4: Bezstavové programovanie a Function (Lambda) Model
- Prednáška č. 5: Ukladanie komplexných dát v DHT
- Prednáška č. 6: Prístup ku kolekciám z moderných jazykov
- Prednáška č. 7: Geoscale Cloud
- Prednáška č. 8: Gossip protokoly
- Prednáška č. 9 & 10: Blockchain pre IoT a inteligentné zmluvy
- Prednáška č. 11: Súkromie v cloud computingu
- 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.