Distributed Computing or Cloud computing? Reading this Distributed Computing vs Cloud computing article will definitely give you a clear vision of what is best.
Computers and Computer network technologies have seen drastic improvements over the last couple of decades. With the advent of the Internet, computers and its networking has proven to show marvelous advancements like the topic of the day – Distributed Computing and Cloud Computing. The phrases Distributed Systems and Cloud Computing Systems refer to different things slightly, but the concept underlying for both of them is just the same. For a better understanding of the concepts for both of them, it is very much necessary to have good knowledge about the Distributed Systems and also knowledge on how they differ from the Centralized Computing Systems.
You might be seeing the usage of Cloud Computing service either directly or indirectly in most of the Organizations today. For instance, when we are using any of the services provided by Google or Amazon, we are directly accessing the resources that are being stored in the cloud environments of Google or Amazon. Twitter is another example, where our tweets are stored on a Twitter cloud. Processing the data faster and the networking of Computers can be understood as the need for the emergence of these novel computing technologies.
[Related Blog: What Is AWS?]
According to the book “Distributed Systems-Principles and Paradigm”, the phrase Distributed Computing can be defined as a Collection of independent computers that appear to its users as a Single Coherent system. And by this definition, Distributed Computing can be defined as the use of Distributed Systems to resolve a problem into multiple chunks, where each of the chunks of a task is computed by an individual computer of a Distributed System.
A Distributed Systems contains more than one computer which communicates with others through an interconnected network. All the computers that are interconnected via the network, work towards achieving the common goal using all their own resources. On the contrary, different users of a computer having different requirements and according to these, the distributed systems will tackle these with the coordination of shared resources helping communicate with other nodes. Hence the individual tasks of these are achieved in such a manner.
In the case of individual computer failures, the toleration mechanisms are in place to handle such scenarios. However the cardinality, topology and the structure of the system are unknown factors beforehand, hence everything tends to become dynamic. Following are the examples best known to everyone (Distributed Computing):
Let us consider Google’s Web Server as an example in understanding Distributed Systems, when a user submits a search query to Google then Google Web Server as a Single system handles this request. What happens in the background is a Distributed Computing technology implementation by Google, where several servers come together to address the distribution of data into different geographical locations to provide the search results in split seconds.
Want to become a Certified AWS Solution Architect? Visit here to Learn AWS Online Certification Course
IBM’s mainframes have been around ages in this technological computation space and form a set of examples for the Centralized Computing Systems. One Central computer holds all the cards in controlling all the peripheral and computes the complex computations and hence the name, Centralized Computing. Having said that, it was a costly affair and ineffective when it had to process huge volumes of transactional data and for concurrent usage of tons of online users. From these drawbacks came the advent of Cloud and Distributed computing to exploit the parallel processing technology commercially.
There are many advantages and benefits of Distributed Computing, but we will the most important ones here:
Today it is all about performance and if you don’t perform well, then you are out of the competition. Remember the days when Google used to provide its Social Media services by name Orkut, Facebook took over that space because Google couldn’t scale in competition with Facebook. Applications running should be having a close to zero downtime and irrespective of the geographical locations of the users, the service should be up 24/7, 365 days a year. Mainframes in such a situation, can’t really scale upon reaching a limit. This has then paved way for the advent of Cloud computing technology that enables business processes to perform business-critical functionalities on relatively larger datasets with utmost ease.
Cloud Computing can be best understood as a style of computing where massively scalable and flexible IT capabilities for the services are provided and delivered using Internet technology. The services that we discuss here may be any of the following – infrastructure, platform, applications, storage space and etc. Users will be paying for using these services based on the usage incurred, which will refrain them from building their own infrastructure for any of the services that they require.
Cloud computing enables users to consume the services/resources as a utility (just like Electricity), rather than building and maintaining the computing infrastructure in-house. It usually refers to providing services using the Internet as the medium. The services can range from business software accessible via internet or Computing resources. Following are the examples of Cloud computing that we can think of:
[Related Article: What Is Cloud Computing?]
There are many advantages and benefits of Cloud Computing, but we will the most important ones here:
With the understanding that we have about these two concepts, namely Cloud Computing and the Distributed Computing let us now try to differentiate these two and understand the pros and cons of each of these technologies.
|The goal of Distributed Computing is to provide a collaborative resource sharing by users. It strives to provide administrative scalability, size scalability, and geographical scalability.||The goal of Cloud Computing is delivering services in an on-demand environment achieving increased scalability, transparency, security, monitoring and management.|
|Distributed Computing is classified into 3 types:
||Cloud Computing is classified into 4 different types of Cloud offerings:
|In Distributed Computing, a task is distributed amongst available computers for computational functions using Remote Method Invocation (RMI) or Remote Procedure Calls (RPC).||In Cloud Computing, the on-demand network model is used to provide the necessary access to the shared pool of configurable computing resources|
In this Distributed Computing vs Cloud computing article, we have seen what is Distributed Computing and also Cloud Computing. We have understood these concepts individually and then took on to a differentiation between these kinds of computing to understand the pros and cons of each of these Computing technologies.
Distributed Cloud Computing has become the buzz-phrase of IT with vendors and analysts agreeing to the fact that distributed cloud technology is gaining traction in the minds of customers and service providers. Distributed Cloud Computing services are on the verge of helping companies to be more responsive to market conditions while restraining IT costs.
Soujanya is a Senior Writer at Mindmajix with tons of content creation experience in the areas of cloud computing, BI, Perl Scripting. She also creates content on Salesforce, Microstrategy, and Cobit. Connect with her via LinkedIn and Twitter.