Introduction to Distributed Computing And Cloud computing
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.
Need for Distributed Computing
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.
What is Distributed Computing?
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):
- The World Wide Web (WWW)
- Social media giants like Facebook
- Hadoop’s Distributed File System (HDFS)
- Cloud Network Systems (which are the specialized form of Distributed Computing Systems)
- Google Bots, Google Web Server, Google Indexing Server
Subscribe to our youtube channel to get new updates..!
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.
Benefits of Distributed Computing:
There are many advantages and benefits of Distributed Computing, but we will the most important ones here:
- They provide better performance ration when compared with a Centralized computer because adding an additional microprocessor is much more economical than adding additional mainframes.
- They have more computational power than a Centralized system. They provide incremental growth so that Organizations the computational power can be increased as and when the business needs demand.
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.
What is Cloud computing?
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:
- YouTube, the host of millions of videos
- Picasa or Flickr that hosts millions and millions of pictures
- Google Drive or Dropbox that hosts millions of documents, spreadsheets and etc
Benefits of Cloud computing:
There are many advantages and benefits of Cloud Computing, but we will the most important ones here:
- Cloud computing globalizes workforce at a cost that is economical to Organizations, making the internet connectivity the best resource to connect via Organization’s Cloud offerings
- Organizations can leverage on their Cloud offerings to share knowledge between employees instead of the traditional or orthodox usage of emails and file sharing
Cloud Computing vs. Distributed Computing
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 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.