When we talk about any of the modern technology, it is always made from the combination of one or more computational power. This is quite the function of distributed computing. A distributed cloud is, we say a combination of all other different types of cloud computing.
For example, scientists develop a supercomputer which is the combination of different small-scale computers, coming together and forming a high functioning single computer. Thus more technically, we say the distributed cloud is the collection of different independent computers that are interconnected through the network.
Architecture Of A Distributed Cloud
Let’s look at the architecture of a distributed cloud. A distributed cloud utilizes some of the idle resources from the network that are not currently utilized. But what does it mean and how it works? Let’s understand with the help of a diagram.
Here you can see a whole cloud network. A simple cloud network may have only one server that does mostly all the functions. But we take multiple servers for understanding distributed computing. There are many types of servers in a cloud network, but for simplicity, let’s say we take server 1 and server 2. These main servers interconnect to some database servers through a secure network. We take the end-points as the users which are using the cloud services.
In the previous articles, we have discussed in detail all the different types of services provided by the cloud. They are mainly SaaS (Software as a service), IaaS (Infrastructure as a service), and PaaS (Platform as a Service). You can read briefly about it Here.
In the functioning of a cloud, a user sends some request or query to the cloud. The cloud uses this query to give any of the services. When the cloud performs requests, the data append from the database servers. Then the information we get send to the user. Here Request is denoted as R and response is denoted as S.
But where does this distributed cloud comes into the picture? Well when we have taken multiple servers, it becomes a distributed cloud. Generally, a single server we use in simple cloud architecture. Here multiple cloud servers are taken to form a distributing cloud architecture. Here you can see the portion of servers in distributed cloud computing.
What a distributed system is not?
One can argue that the systems running on his/her personal computer are distributed systems. But it is not. The applications run on the same computer connects through a centralized approach. In that, both the applications share the same hardware and software requirements. They use the same CPU and RAM to perform their tasks. Hence they are not the distributing system.
Moreover, if some user or client connects to a server through the same computer then it is not distributi approach. Even if multiple clients connect but through the same server then also it is not distributing cloud.
For the distributing approach, we use multiple data storages or say RAMs or say servers. Together different servers connect and connect clients of different regions. This is the distributed approach.
Difference Between Centralized approach and distributed approach
This is a more simple way of making connections of clients with the server. Here only one server is taken and multiple clients can connect to the same server.
While in the distributed way of approach, more clients connect the same via different servers. Hence this is a more complex but efficient way than the centralized approach. As you can see, there are multiple servers are connected through any medium. They form a distributed network which is very helpful in load balancing and a faster way of retrieving relevant information.
Characteristics Of A Distributed Cloud
No shared clock
This is an important approach for a distributed system to be functioning properly. The clock we are talking about is the logical clock that we get by synchronization. Every single machine has its own fixed clock time. And thus single system or a centralized system must have a shared clock time to keep up all things together. But in a distributed system, different servers have different clock times and they work independently, although increasing their functioning power.
No shared Memory
As we discussed earlier, the system which is sharing the same hardware components or RAM is considered centralized, not distributed. Every server which we use in the distributed cloud has its independent memory to function multiple tasks simultaneously.
Along with the different clock times and different memory, a task must remain concurrent with all of it. At last, we obtained is the fetched information that we required using a faster and distributed approach through different relevant servers.
Distributed systems are dynamic system as it allows a computer to join or leave a node. A node is a part of the system where multiple nodes come together to form a distributed network. Hence a node can be anything, a server or a memory or any system that connects different computers.
Distributing systems are generally overlaid networks in which they lie upon an underlying network. It is just a network upon a different network like a Peer-to-Peer network. Some examples are BitTorrent and blockchain.
Types of Distributed Systems
Here we can scale the type of a distributed cloud system based on coupling and the scale of the system. There are mainly two types of it i.e.
Cluster computing is homogeneous and is quite managed centralized. This uses high performance with minimum downtime, perfect for a small number of clients.
On the other hand, grid computing is heterogeneous and widespread globally and its management is decentralizing. This covers a large number of clients that use the service from anywhere using different servers.
Pros of Distributed Cloud Computing.
The advantages of distributed cloud systems are reliability, scalability, fault tolerance, and performance.
Reliability refers to the connection between nodes and clients, that is possible with the distributed cloud system. Scalability is the main reason to use distributed systems. As with the help of it, a single platform uses in different parts of the world by the different or same users. Fault tolerance is the ability of a system when if some part of the system goes down, all other systems can still function properly and independently. To achieve proper user satisfaction and meet all their query, a distributed system is necessary. This may include data replication, data availability and faster data fetch.
Cons of Distributed Cloud Computing
As the number of servers and clients increases, the number of computations increases. Hence it requires more computing power than the centralized way.
Another point is that resource allocation has to be efficient enough. So that every new memory allocation and its information should pass through all the servers that are in the same network.
The users are demanding more and more storage and that is also one of the problems of distributed cloud to maintain all clients. Hence the maintenance is not that easy.
The security issue is a huge challenge in distributed systems. Millions of users use the system with their own unique identity and that must be kept secure on the server. Also, the servers have their own identity and to protect privacy, many different protocols have to be implemented which is quite a complex task.
Where is distributed cloud?
When we talk about distributed cloud, we can see it everywhere nowadays. For example, google search engine is a big distributing cloud where thousands of servers together handle billions of data. This is undoubtedly impossible to handle through a simple centralized approach.
Other famous examples are all the amazon platforms, blockchains, big streaming platforms like Hotstar or Netflix, online banking, money transferring applications and websites, online gaming, and many more.
This client-server model is so efficient that this list of examples just goes on forever. Without the distributed cloud, these platforms wouldn’t even run properly even for a small number of users.
Hence distributed cloud is all over and without it we cannot get all cloud resources or platforms that easily.