Distributed System, Distributed Computing and Cloud Computing
Let’s understand these terms with a scenario — we have image processing applications running on one computer and worked well for limited requests. when volume increased it started showing performance issues. To avoid the performance issue, we have added more RAM to the computer -basically performed vertical scaling. One day system crashed due to workload! To avoid this issue, we have added a few more computers/CPUs to share the workload and increase the performance — performed the Horizontal scaling.
To extend Horizontal scaling — What if we have a robust and fault-tolerance environment where compute will be distributed — So we need of “Distributed computing”. Since to compute, we need computer systems/machines — hence need of “Distributed System”
Distributed Computing: The horizontal scale of compute ability to solve the single large problem in a distributed system environment
Type of Distributing computing :
- Master and Slave Distributed Computing :
a. One node/machine will act as Master and rest node/machines will act as slaves in Cluster
b. A slave node cannot talk to each other. — No communication between slave nodes
c. The only master to slave and slave to master communication
d. Master will maintain the all address of data and data will be stored on different Slave machines.
e. Single point of failure — Master node - Peer to Peer:
a. All machines in the cluster will act as friends
b. All machines in the cluster will communicate with each other.
Distributed System -A group of independent computers with below key features.
- Components of computers connect and coordinate with each other using common communication protocol — message-driven pattern
- Work for Common goal –( Ex image processing, Finance calculation, order management )
Cloud Computing- Underline concept is the same as a distributed system. It is to provide the IT-related capabilities as services lover internet. Ex Infrastructure as service, Platform as servers, Software as services
So Distributed Computing — Distribute the work on different machines in Cluster.
For Example World wide web, Facebook,
Cloud Computing — Provide readymade IT relates services over the internet.
Ex: AWS, MS Azure, Oracle Cloud, Youtube