Distributed Systems
Table of Contents
A Distributed System is a system of several Computing process, Thread and Scheduler, running on different computers, communicating with each other through the network, and are sharing a state or are working together to achieve a common goal.
Designing Distributed Systems is not easy. Engineers who can design, architect and build such systems are in high demand.
Where can we find Distributed Systems?
Everywhere.
- Search for something online
- Watch a movie on demand
- Shop online
- Order a ride share service through our mobile phone
All of these distributed systems are hidden from us by the webpage or an app.
Why Distributed Systems?
Companies run highly scalable, massively distributed systems all around the globe in order to:
- Handle massive amount of internet traffic and transactions - Handle millions of users
- Securely store billions of our photos, videos, and other data - Handle Petabytes of data
- Provide impeccable user experience and high performance 24/7 all around the globe - Provide consistent user experience
The Cloud and Distributed Systems
- Even the simplest web site is running on a distributed system.
- Cloud (AWS, Azure, GCP…) is a distributed system designed for companies and software developers.
The virtues of a Distributed System
- We are not aware of the complexities of the system. It just works.
- Feels like a single machine - dedicated specifically for us.