We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Devoxx Greece 2024 - Busy Architect's Guide to Distributed Systems by Ted Neward
Join Ted Neward's in-depth guide to building robust and scalable distributed systems, covering key concepts such as durable state, transient state, architectural styles, and more, with expert insights and practical advice.
- 
    A distributed system is any program that can be run on more than one computer. 
- 
    There are various technical fallacies of distributed computing, including “nothing but a bunch of networking”. 
- 
    The concept of durable state is important in distributed systems, as it is the state that we really care about. 
- 
    We need to think about transient state, which is the state that can change quickly. 
- 
    RESTful APIs are still widely used but have limitations. 
- 
    JSON is a simple, elegant data format but has limitations. 
- 
    There are various architectural styles that can be used in distributed systems, including client-server and peer-to-peer. 
- 
    The network can fail, and we need to be prepared for this. 
- 
    Distributed systems can be single-hop (e.g., a single network) or multi-hop (e.g., multiple networks). 
- 
    The shape of the state in a distributed system can be difficult to understand and manage. 
- 
    We need to think about how to manage state in a distributed system, including using buffering, caching, and other techniques. 
- 
    There are various ways to build a distributed system, each with its own trade-offs. 
- 
    The 12-factor app is an example of a successful distributed system. 
- 
    The concept of “black box” and “white box” testing can be useful in testing distributed systems. 
- 
    There are various ways to manage errors and exceptions in a distributed system. 
- 
    The importance of testing in a distributed system.