Skip to content

← Späť na NoteBookLM

2. NoteBookLM - Key Takeaways


  1. Prehľad cloudových systémov
  2. Aplikácie založené na mikroslužbách
  3. Elasticita a škálovateľnosť
  4. Bezstavové programovanie a Lambda model
  5. Kolekcie a NoSQL
  6. Geoscale Cloud
  7. Gossip protokoly a monitorovanie
  8. Súkromie a bezpečnosť
  9. MapReduce a grafy

KEY TAKEAWAYS


1. Prehľad cloudových systémov

  • Kľúčové fakty:
    • Cloud poskytuje škálovateľné a abstrahované IT infraštruktúry a aplikácie ako služby na vyžiadanie.
    • Hlavným ekonomickým modelom je Pay-as-you-go (platba za skutočnú spotrebu).
    • Moderný cloud definovali Jeff Dean a Sanjay Ghemawat z Google cez MapReduce a Bigtable.
  • Kľúčové pojmy:
    • Elasticita: Automatické pridávanie a odoberanie zdrojov podľa záťaže.
    • XaaS: Koncept „všetko ako služba“, zahŕňajúci infraštruktúru, platformy aj softvér.
  • Kritické modely: IaaS (prenájom stroja), PaaS (prispôsobiteľná platforma), SaaS (používanie aplikácií cez prehliadač).

2. Aplikácie založené na mikroslužbách

  • Kľúčové fakty:
    • Aplikácia je rozložená na malé, nezávisle nasaditeľné služby.
    • Koncept vychádza z Bounded Context (BC) v Domain-Driven Design (každá služba má vlastný model a databázu).
    • Komunikácia môže byť synchrónna (HTTP) alebo asynchrónna (správy).
  • Kľúčové pojmy:
    • API Gateway: Jediný vstupný bod, ktorý smeruje požiadavky na interné mikroslužby a rieši bezpečnosť.
    • Service Registry: Databáza sieťových umiestnení inštancií služieb pre ich dohľadateľnosť.
  • Kritické architektúry: Mikroslužby vs. Monolit; Pub/Sub komunikácia cez event bus.

3. Elasticita a škálovateľnosť

  • Kľúčové fakty:
    • Monolitické databázy sú v cloude úzkym hrdlom (bottleneck).
    • Riešením je sharding – rozdelenie dát na menšie časti spravované nezávislými uzlami.
    • Facebook využíva hierarchickú cache (Browser -> Edge -> Origin -> Haystack) pre blob dáta.
  • Kľúčové pojmy:
    • Sharding: Rozdelenie jednej veľkej služby na pole „miniserverov“ pre horizontálne škálovanie.
    • State Machine Replication: Model zabezpečujúci synchronizáciu replík vykonávaním aktualizácií v rovnakom poradí.
  • Kritické technológie: DHT (Distribuované hašovacie tabuľky), Facebook Haystack.

4. Bezstavové programovanie a Lambda model

  • Kľúčové fakty:
    • Bezstavové (stateless) programy neuchovávajú perzistentné dáta na lokálnom disku.
    • Prvá vrstva cloudu je typicky bezstavová, čo uľahčuje vypínanie a škálovanie inštancií.
    • Personalizácia sa rieši pomocou cookies (ID používateľa), ktoré prepoja bezstavovú logiku so stavovým úložiskom.
  • Kľúčové pojmy:
    • Teorém CAP: Nemožnosť súčasne dosiahnuť Konzistenciu (C), Dostupnosť (A) a Toleranciu rozdelenia (P).
    • BASE: Metodológia zameraná na základnú dostupnosť a eventuálnu konzistenciu (opak ACID).
  • Kritické modely: FaaS (Serverless/Lambda) – spúšťanie malých úsekov kódu vyvolaných udalosťami.

5. Kolekcie a NoSQL

  • Kľúčové fakty:
    • NoSQL systémy podporujú SQL dotazy, ale pracujú nad shardovanými dátami bez plnej ACID sémantiky.
    • Nástroje ako LINQ alebo Pandas umožňujú paralelné spracovanie štruktúrovaných kolekcií.
  • Kľúčové pojmy:
    • Unštruktúrované dáta: Obsah bez pevnej tabuľkovej formy (fotky, webstránky).
    • Binding: Pripojenie aplikácie k dátovému zdroju alebo službe.
  • Kritické modely: Key-Value model (put, get, watch).

6. Geoscale Cloud (Globálny cloud)

  • Kľúčové fakty:
    • Cloud je rozdelený na Regióny a Availability Zones (AZ) (susediace, ale nezávislé dátové centrá).
    • Klasické protokoly (Paxos) na globálnej úrovni zlyhávajú kvôli vysokej latencii.
    • Google Spanner rieši globálnu konzistenciu pomocou času (TrueTime).
  • Kľúčové pojmy:
    • TrueTime: Globálna časová služba využívajúca atómové hodiny a GPS pre garantované poradie transakcií.
    • Georeplikácia: Zrkadlenie dát medzi vzdialenými regiónmi pre odolnosť voči katastrofám.
  • Kritické technológie: Google Spanner, Atomic Multicast.

7. Gossip protokoly a monitorovanie

  • Kľúčové fakty:
    • Gossip (klebety) je vysoko škálovateľný spôsob šírenia informácií v log(n) čase.
    • Umožňuje monitorovať tisíce uzlov bez potreby centrálneho servera.
  • Kľúčové pojmy:
    • Epidemic Protocol: Náhodná výmena dát medzi uzlami na dosiahnutie zhody v celom systéme.
    • Astrolabe: Systém, ktorý buduje virtuálnu hierarchiu a sumarizuje stav cloudu cez SQL dotazy.

8. Súkromie a bezpečnosť

  • Kľúčové fakty:
    • Prevádzkovateľ cloudu môže byť motivovaný sledovať dáta pre reklamu.
    • Technológie ako iSGX vytvárajú hardvérovo chránené enklávy, do ktorých nevidí ani operátor.
    • CryptDB umožňuje vykonávať SQL dotazy priamo nad šifrovanými dátami.
  • Kľúčové pojmy:
    • Diferenciálne súkromie: Pridávanie šumu do výsledkov dotazov na ochranu identity jednotlivcov.
    • Onion Encryption: Vrstvené šifrovanie, kde sa vrstvy „odbaľujú“ podľa typu operácie (rovnosť, poradie, súčet).

9. MapReduce a grafy (Big Data)

  • Kľúčové fakty:
    • MapReduce je model pre paralelné spracovanie petabajtov dát na tisícoch strojoch.
    • Facebook spravuje sociálny graf pomocou špecializovanej databázy TAO.
  • Kľúčové pojmy:
    • HDFS: Distribuovaný súborový systém optimalizovaný pre veľké bloky dát.
    • Edge Computing: Presun výpočtov bližšie k používateľovi (napr. 5G aplikácie s odozvou pod 30 ms).