Skip to content

← Späť na Exams

2. CHAT GPT 5.5 Thinking - Notes


  1. Lecture #1 — Cloud Overview
  2. Lecture #2 — Microservices-Based Applications
  3. Extra to Lecture #2 — Microservices Performance
  4. Lecture #3 — Elasticity and Scalability
  5. Lecture #4 — Stateless Programming and Function/Lambda Computing Model
  6. Lecture #5 — Storing Complex Data in DHTs
  7. Lecture #6 — Accessing Collections from Modern Programming Languages
  8. Extra — Design Steps for Cloud Applications Using Patterns
  9. Lecture #7 — The Geoscale Cloud
  10. Lecture #8 — Gossip Protocols
  11. Lecture #9 — Blockchain for IoT
  12. Lecture #10 — Smart Contracts with Multiple Organizations
  13. Lecture #11 — Privacy in Cloud Computing
  14. Lecture #12 — MapReduce
  15. Lecture #13 — Social Networks Graphs

LECTURES & KEY TAKEAWAYS


Lecture #1 — Cloud Overview

Key takeaways

  • Cloud = výpočty prebiehajú „niekde inde“, nie na PC/mobile.
  • Cloud má tri vrstvy chápania: fyzickú, logickú, konceptuálnu.
  • Moderný cloud vznikol z potreby škálovať masívne služby; Amazon riešil overload a škálovanie „v reálnom čase“.
  • Základ dnešného cloudu: microservices, message bus/queue, elastic pools, georeplication.
  • Cloud služby sa odlišujú organizačne: public, private, hybrid; funkčne: IaaS, PaaS, SaaS.

Kľúčové pojmy

  • Elasticita — automatické pridávanie/odoberanie inštancií podľa záťaže.
  • Tier one — programy generujúce web stránku pre používateľa.
  • Tier two — podporné služby pre tier one, napr. cache, data processing.
  • Digital twin — softvérový obraz fyzického IoT zariadenia v cloude.
  • Lock-in — závislosť zákazníka od konkrétneho API/služieb poskytovateľa.

Technológie/modely

  • MapReduce, Bigtable, Google File System.
  • Message Bus, microservices, elastic pools.
  • IaaS, PaaS, SaaS, XaaS.
  • Virtualization, Web Services, SOAP, REST.
  • Public/private/hybrid cloud.

Lecture #2 — Microservices-Based Applications

Key takeaways

  • Microservices vychádzajú z DDD a Bounded Context patternu.
  • Každý bounded context má vlastný model a databázu; microservice vlastní svoje dáta.
  • Logická architektúra sa nemusí 1:1 mapovať na fyzickú deployment architektúru.
  • Priame volanie client → microservice je vhodné iba pre malé aplikácie.
  • API Gateway rieši coupling, round trips, security a cross-cutting concerns.

Kľúčové pojmy

  • SOA — decompozícia aplikácie na služby, často cez HTTP/Docker, ale s centrálnym ESB.
  • Microservice — autonómna služba s vlastnou doménovou schopnosťou a dátami.
  • Bounded Context — hranica modelu v DDD s vlastným jazykom a databázou.
  • API Gateway — jednotný vstupný bod pred internými microservices.
  • Service Registry — databáza aktuálnych sieťových lokácií service instances.

Technológie/modely

  • Docker containers, HTTP services.
  • Enterprise Service Bus.
  • API Gateway / reverse proxy / layer 7 routing.
  • AMQP, XMPP, MQTT, RabbitMQ.
  • Azure Service Bus, AKS/Kubernetes.
  • Publish/subscribe, Event-driven architecture.
  • Health checks: liveness, readiness.

Extra to Lecture #2 — Microservices Performance

Key takeaways

  • Microservices zlepšujú škálovanie, ale komplikujú performance debugging.
  • Závislosti medzi službami spôsobujú kaskádové QoS violations.
  • Root cause performance problémov je ťažké izolovať.
  • Scheduler sleduje pooly služieb a App Server dynamicky pridáva/odoberá instances.
  • Pridanie instances do pomalej služby znižuje deadline violations.

Kľúčové pojmy

  • QoS violation — porušenie požadovanej kvality služby.
  • Performance debugging — hľadanie bottleneckov v závislostiach služieb.
  • Deadline violation — požiadavka nestihne časový limit.

Technológie/modely

  • Seer.
  • Microservice benchmark suite.
  • Cloud scheduler.
  • App Server autoscaling.

Lecture #3 — Elasticity and Scalability

Key takeaways

  • Elastic microservice pool musí zvládnuť rýchle pridanie/odobratie instances.
  • Monolitický veľký service/cluster má limit škálovania; riešenie je sharding.
  • Pri lock-based consistency rastie overhead pri veľkej konkurencii veľmi prudko.
  • Sharding rozbíja jednu databázu na mini-databázy podľa key.
  • Facebook cache ukazuje: cloud-scale škálovanie = hierarchy + replication + sharding + cache policy podľa workloadu.

Kľúčové pojmy

  • Shard — časť služby/databázy vlastnená jedným alebo viacerými servermi.
  • State machine replication — repliky vidia rovnaké updates v rovnakom poradí.
  • Hot spot — zdieľaný server/služba preťažená mnohými požiadavkami.
  • Elastic shuffle — preskupenie dát pri zmene počtu shardov.
  • Blob — Binary Large Object, napr. obrázok alebo video.

Technológie/modely

  • Sharded DHT.
  • MemCached, MongoDB, Cassandra, DynamoDB, DB Rocks.
  • Facebook blob cache.
  • Haystack.
  • LRU, S4LRU, RIPQ.
  • State machine replication.

Lecture #4 — Stateless Programming and Function/Lambda Computing Model

Key takeaways

  • First tier cloudu je stateless; persistentné dáta patria do globálneho FS, DB alebo key-value store.
  • Stateless služby sa ľahko škálujú: službu stačí spustiť veľakrát.
  • CAP hovorí, že systém vie mať iba 2 z 3: Consistency, Availability, Partition tolerance.
  • BASE používa slabšiu konzistenciu: Basic Availability, Soft State, Eventual Consistency.
  • Customization znamená pridať vlastný kód/event handler/lambda do existujúcej platformy.

Kľúčové pojmy

  • Stateless program — neukladá persistentné dáta lokálne na počítači, kde beží.
  • Soft state — dáta, ktoré sa dajú znovu vytvoriť; tvrdá verzia je inde.
  • CAP — Consistency, Availability, Partition tolerance; dostupné sú iba dve vlastnosti naraz.
  • BASE — Basic Availability, Soft State, Eventual Consistency.
  • Lambda/FaaS — malý kód spustený platformou pri evente.

Technológie/modely

  • Cookies, TCP connection, RPC/gRPC.
  • Message bus, message queue.
  • App Service.
  • Key-value store: put, get, watch.
  • Azure Functions/Lambda, trigger points, event triggers.
  • Docker containers, Flask, WSGI.
  • DLL extension, initialize(), stored procedures.

Lecture #5 — Storing Complex Data in DHTs

Key takeaways

  • DHT poskytuje jednoduché get/put/watch, ale doň sa dá mapovať aj komplexná štruktúra.
  • Objekt sa ukladá ako serializovaný byte vector; storage nerozumie jeho významu.
  • Veľké listy/grafy treba navrhnúť podľa access patternov, objektových veľkostí a sieťových nákladov.
  • Collocation zrýchľuje čítanie susedných dát, ale zhoršuje updates a konflikty.
  • Neexistuje jedno najlepšie mapovanie dát do DHT; závisí od aplikácie.

Kľúčové pojmy

  • DHT — Distributed Hash Table; key-value služba rozdelená na shards.
  • Serialization — prevod objektu na byte vector.
  • Deserialization — rekonštrukcia objektu z byte vectora.
  • Collocation — uloženie viacerých súvisiacich objektov do jedného chunku.
  • Versioned update — update kontrolovaný verziou namiesto lockov.

Technológie/modely

  • DHT get/put/watch.
  • SHA64/SHA128 hashing.
  • UUID, GUID.
  • Chord, Beehive.
  • NoSQL.
  • MapReduce.
  • CAP + BASE.

Lecture #6 — Accessing Collections from Modern Programming Languages

Key takeaways

  • SQL databázy poskytujú „one big repository“, ACID a transakcie, ale škálovanie limitujú lock conflicts, abort/rollback/retry.
  • Key-value DHT je „many pools of memory“ s O(1) accessom.
  • LINQ umožňuje SQL-like prácu s kolekciami, ale beží v klientovi a dáta si musí načítať.
  • NoSQL nad shardovanými dátami nemá plné ACID, locking ani globálne SQL semantics.
  • MapReduce rieši paralelné spracovanie shardovaných dát cez map, shuffle, reduce.

Kľúčové pojmy

  • ACID — transactional model databáz.
  • LINQ — Language Integrated Query pre SQL-like prácu s kolekciami.
  • Collection — programátorský koncept zoznamu key-value párov.
  • Iterator — objekt na prechod kolekciou: first, next, hasNext.
  • NoSQL — SQL-like model nad shardovanými dátami bez plnej transactional semantics.

Technológie/modely

  • SQL, relational tables.
  • CosmosDB, BLOB store, Databricks.
  • LINQ, Pandas, PyTorch, TensorFlow, Spark.
  • MapReduce: Map, Compute, Shuffle, Reduce.
  • DynamoDB, CosmosDB, Cassandra, DB Rocks, MemCacheDB.

Extra — Design Steps for Cloud Applications Using Patterns

Key takeaways

  • Návrh cloud aplikácie sa rieši cez: decomposition, workload, data/state, refinement, elasticity/resiliency.
  • Workload sa môže výrazne líšiť medzi komponentmi; škálovať všetko ako jeden celok je neefektívne.
  • State by nemal byť držaný komponentmi, ak sa tomu dá vyhnúť.
  • Komponenty by mali byť integrované cez messaging kvôli loose coupling.
  • Elasticitu a resiliency treba navrhovať podľa availability poskytovateľa a failure scenárov.

Kľúčové pojmy

  • Session state — stav interakcie klienta s aplikáciou.
  • Application state — dáta spracovávané aplikáciou.
  • Loose coupling — prepojenie komponentov cez messaging namiesto pevných závislostí.
  • Watchdog — mechanizmus na reakciu pri nízkej node-based availability.

Technológie/modely

  • Cloud Computing Patterns.
  • Messaging.
  • Multi-component image.
  • Provider-supplied storage/communication offerings.
  • Watchdog.

Lecture #7 — The Geoscale Cloud

Key takeaways

  • Global cloud potrebuje globálnu replikáciu dát, ale problémom je aj konzistencia.
  • Availability zones umožňujú servis/upgrades/failure tolerance bez vypnutia celého regiónu.
  • Pri georeplikácii nemožno jednoducho použiť priame TCP medzi datacentrami kvôli firewallom, NAT a VPC.
  • WAN latency má heavy-tailed správanie; Paxos trpí vysokými a asymetrickými latenciami.
  • Spanner používa TrueTime na globálne ordered transactions.

Kľúčové pojmy

  • Availability Zone — datacentrum v regióne, používané pre redundanciu.
  • Georeplication — replikácia dát medzi geograficky oddelenými lokalitami.
  • NAT box — prekladá externé a interné IP adresy/porty.
  • Quorum — väčšinová množina replík; quorá sa musia prekrývať.
  • TrueTime — Google globálna časová služba s intervalovou garanciou času.

Technológie/modely

  • AWS Regions, Edge Locations.
  • Azure Regions and Zones.
  • VPC / enterprise VLAN.
  • Zone-aware storage, Azure Service Bus Premium.
  • VPN Gateway, ExpressRoute, Application Gateway.
  • Paxos, Spanner, TrueTime.
  • 5G edge cloudlets, Azure IoT Edge.

Lecture #8 — Gossip Protocols

Key takeaways

  • Gossip je škálovateľný spôsob šírenia informácií v obrovských pooloch serverov.
  • Push-pull gossip má konštantnú záťaž na participant a šíri informácie v O(log n).
  • Gossip je robustný, ale nie vhodný pre urgentné udalosti bez akcelerácie.
  • Astrolabe používa gossip na monitoring a hierarchické sumarizovanie stavu.
  • Zlé kombinácie technológií môžu spôsobiť rozsiahle zlyhania, napr. S3 incident alebo multicast storms.

Kľúčové pojmy

  • Gossip — epidemické šírenie informácií medzi uzlami.
  • Push gossip — uzol aktívne posiela informáciu ďalším.
  • Push-pull gossip — uzly si vymieňajú digests a chýbajúce položky.
  • Bimodal multicast — UDP multicast + gossip na doplnenie chýbajúcich správ.
  • Astrolabe — gossip-based monitoring overlay.

Technológie/modely

  • Gossip, push-pull, epidemic protocol.
  • UDP multicast, IP multicast.
  • Bimodal multicast.
  • Astrolabe.
  • Amazon S3 metadata gossip.
  • Bloom filters.
  • Multicast storm.

Lecture #9 — Blockchain for IoT

Key takeaways

  • Blockchain je append-only, tamper-resistant ledger z blokov viazaných kryptografiou.
  • Silný use case: dôveryhodný zdieľaný log transakcií alebo audit trail.
  • Permissionless blockchain potrebuje odolnosť voči Byzantine participants.
  • Proof-of-work bráni DDoS, ale má vysoké náklady; proof-of-stake používa witnesses.
  • IoT blockchain je problematický: senzory majú limitované zdroje, konektivita je prerušovaná a auditor musí dôverovať zdrojovým dátam.

Kľúčové pojmy

  • Blockchain — rastúci zoznam blokov prepojených kryptografickými hashmi.
  • Merkle Tree — strom hashov pre efektívne podpisovanie/overovanie záznamov.
  • Proof-of-work — kryptografická puzzle práca pri pridávaní bloku.
  • Fork — rozvetvenie chainu pri paralelnom nájdení blokov.
  • CRDT — Conflict-Free Replicated Datatype; operácie sú associative, commutative, idempotent.

Technológie/modely

  • Bitcoin, Ethereum, HyperLedger.
  • SHA-256/SHA-512.
  • Merkle Tree.
  • Proof-of-work, proof-of-stake, witnesses.
  • Permissioned vs permissionless blockchain.
  • Azure IoT Hub, digital twin.
  • Vegvisir, DAG, support blockchain.
  • CRDTs.

Lecture #10 — Smart Contracts with Multiple Organizations

Key takeaways

  • Blockchain pre EHR dáva zmysel ako tamperproof audit trail, nie ako plnohodnotná databáza.
  • Hybrid cloud umožňuje presun enterprise/EHR systému do cloudu cez web-service requests.
  • Cloud výhody: hardware, management tools, amortized costs, vendor upgrades.
  • Riziká: dostupnosť siete/providerov, GDPR, bezpečnosť a súkromie.
  • Smart contracts s rollbackom a budúcimi závislosťami môžu vytvárať zložité semantické problémy.

Kľúčové pojmy

  • Hybrid cloud — kombinácia home systému a cloudu alebo viacerých cloud providerov.
  • EHR — electronic health records.
  • Audit trail — dôkazový záznam prístupov alebo presunov dát.
  • Smart contract — blockchain record s komplexnejšou logikou alebo podmienkami.
  • Rollback — spätné prepísanie posledných blokov chainu.

Technológie/modely

  • TLS/HTTPS.
  • Virtual Private Cloud.
  • Encryption, secret key splitting.
  • WAN mirroring, countersigned replicas.
  • Permissioned blockchain with true commit.
  • Stellar.
  • RAFT state machine replication.
  • Quorum/trust sets.

Lecture #11 — Privacy in Cloud Computing

Key takeaways

  • IoT potrebuje cloud-scale compute, ale cloud je problémový pre privacy.
  • Útoky môžu byť priame aj nepriame: traffic analysis, subversion, model inversion.
  • Pri neochotnom providerovi je ochrana privacy veľmi ťažká.
  • Možnosti ochrany: homomorphic computing, differential privacy, trusted hardware/enclaves, secure databases.
  • CryptDB ukazuje praktické SQL nad encrypted data, ale nie je dokonalý.

Kľúčové pojmy

  • Traffic analysis — únik cez pozorovanie kto s kým komunikuje a aké veľké dáta posiela.
  • Subversion attack — získanie tajných dát cez normálne interakcie a chyby systému.
  • Differential Privacy — trusted DB pridáva noise do agregovaných query výsledkov.
  • SGX enclave — secure context, kde provider nevidí decrypted data/code.
  • CryptDB — DBMS proxy umožňujúca spracovať väčšinu SQL queries nad encrypted data.

Technológie/modely

  • Fully Homomorphic Encryption.
  • Differential Privacy.
  • Intel SGX.
  • ORAM.
  • VPN, VPC, enterprise VLAN.
  • CryptDB.
  • RND, DET, HOM, SEARCH, JOIN, OPE encryption schemes.
  • Onion encryption.

Lecture #12 — MapReduce

Key takeaways

  • MapReduce rieši processing veľkých dát na veľkom počte commodity serverov.
  • Framework automatizuje parallelization, distribution, I/O scheduling, load balancing, fault tolerance.
  • Typický workflow: read → map → shuffle/sort → reduce → write.
  • Mappers/reducers sú typicky single-threaded a deterministic; failure sa rieši re-execution.
  • HDFS/GFS optimalizujú locality: spracovanie sa plánuje blízko dát.

Kľúčové pojmy

  • Mapper — číta a produkuje .
  • Reducer — agreguje hodnoty podľa key.
  • Shuffle and Sort — preskupenie mapper outputu podľa key.
  • Data locality — výpočet sa spustí pri dátach, aby sa znížil network bottleneck.
  • Rack awareness — ukladanie replík s ohľadom na racky kvôli výkonu a fault tolerance.

Technológie/modely

  • MapReduce.
  • Hadoop.
  • GFS, HDFS.
  • NameNode, DataNode.
  • Heartbeats.
  • Redundant execution.
  • Skipping bad records.

Lecture #13 — Social Networks Graphs

Key takeaways

  • Nie všetky big data sú jednoduché sharded collections; sociálne siete sú dynamické grafy.
  • Facebook TAO je distributed data store pre social graph.
  • TAO používa NoSQL model: vyzerá ako SQL, ale nie je full SQL a negarantuje ACID.
  • TAO cieli na scale efficiency, low read latency, timely writes a high read availability.
  • Edge/IoT môže vytvárať nové graph-like systémy, napr. autá, križovatky, chodci, proximity a trajectories.

Kľúčové pojmy

  • Social graph — graf používateľov, objektov a asociácií.
  • TAO — Facebook distributed data store pre social graph.
  • Object — node identifikovaný 64-bit ID a typom.
  • Association — edge identifikovaný ako .
  • Association list — zoradený zoznam asociácií, často podľa času.

Technológie/modely

  • TAO.
  • Memcache + MySQL.
  • Object & Association API.
  • Leader cache, follower cache.
  • Write-through caching.
  • Asynchronous DB replication.
  • Read failover.
  • Edge computing / 5G graph-like applications.