Most of us use distributed systems in our work. Those systems are like a foreign galaxy with lots of components and moving parts. Alena Hall and Natallia Dzenisenka explore the set of algorithms behind distributed systems, including snapshot algorithms, traversal algorithms, election algorithms, and reliable broadcast—all used in real production products.
Alena and Natallia give you a clear understanding of how those systems work and the details of their internal operations so you have a white-box view on the distributed systems and can make better choices between trade-offs. Along the way, Alena and Natallia provide an example implementation of a distributed algorithm in F#—a great OSS and cross-platform language to use for prototyping and distributed systems programming—with all the underlying details.
Lena Hall is a senior software engineer and developer advocate at Microsoft working on Azure, where she focuses on large-scale distributed systems and modern architectures. Lena has more than 10 years of experience in software engineering with a focus on distributed cloud programming, real-time system design, highly scalable and performant systems, big data analysis, data science, functional programming, and machine learning. Previously, she was a senior software engineer at Microsoft Research. She’s an elected member of the F# Software Foundation’s board of trustees, co-organizes a conference called ML4ALL, and is often an invited member of program committees for conferences like Kafka Summit, Lambda World, and others. Lena holds a master’s degree in computer science.
Natallia Dzenisenka is an independent solutions architect focusing on data modeling, distributed operations and data pipelines, big data systems, and data science.
©2017, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org