Mastering the Maze: Navigating Complexity in Distributed Systems | Aleksei Popov | Conf42 SRE 2024

Read the abstract ➤ https://www.conf42.com/Site_Reliability_Engineering_SRE_2024_Aleksei_Popov_maze_complexity_distributed_systems Other sessions at this event ➤ https://www.conf42.com/sre2024 Support our mission ➤ https://www.conf42.com/support Join Discord ➤ https://discord.gg/DnyHgrC7jC Chapters 0:00 intro 0:26 preamble 0:33 agenda 0:49 what is a distributed system? 1:41 what is complexity? 2:24 monolithic architecture 2:56 disadvantages 3:54 microservices architecture 4:42 what do distributed systems give us? 6:58 challenges, quality attributes 9:05 what are main troubles? 11:28 unreliable networks 12:44 strategy: timeout 13:13 strategy: retry 14:01 strategy: idempotency 14:51 strategy: circuit breaker 15:42 concurrency and lost writes 16:22 strategy: snapshot isolation 18:49 strategy: compare and set 20:03 strategy: lease 20:51 dual write problem 22:25 strategy: transactional outbox 23:08 strategy: log tailing 23:29 unreliable clocks 25:16 availability and consistency 25:41 high availability 25:55 failure 26:24 consistency types 26:44 linearizability 27:23 strategy: distributed consensus algorithm, e.g. raft 29:16 more complexities 30:03 eventual consistency 30:56 strategy: read from leader 31:19 process pauses 32:00 strategy: fencing 34:01 observability 34:24 strategy: distributed tracing 35:40 strategy: orchestration over choreography 36:36 evolvability and cybernetics principles 37:32 systems thinking 38:30 feedback loops 39:13 adaptability and learning 39:46 goal-oriented design 40:40 big ball of mud 41:30 hierarchy 42:04 fallacy: all microservices are the same 42:22 strategy: service types 45:30 sre principles 48:24 infrastructure as code 49:11 chaos engineering and testing: jepsen tests 50:39 simplicity and measuring complexity 51:58 thank you for attending!