Distributed computing and cloud computing somewhat refers to different things. However, the concept between these two is almost similar. Distributed computing is described in which the components of a software system are shared among multiple computers to improve their efficiency and performance x1. Meanwhile, cloud computing is the delivery of on-demand computing resources of everything from applications to data centers over the internet on a pay-for-use basis x2. However, due to their similar underlying concept, both of them carries some similar characteristics.
Similarities between Distributed Computing and Cloud Computing
Both are scalable.
Both feature fault tolerance.
Both has resource sharing feature.
Both are cost saving.
Both have their own transparency.
Both the distributed computing and cloud computing is scalable. Scalability is the capability of the system to sustain larger loads by either making hardware stronger or adding additional nodes x4. Distributed computing able to handle the addition of users and resources without suffering a notable loss of performance or increment in administrative complexity whether in size, geography or administration. A scalable distributed computing network consists of different types of nodes where each of them executing software components independently. When a node which is executing a task leaves the system in sudden, other nodes communicate among each others to by passing message to determine which node will be responsible in continuing the execution of task. The node is then selected by the system to resume the execution of that particular task.
Cloud computing is considered as scalable by managing a pool of computing resources in a highly economical and efficient way through the usage of the Internet without the need for any long term expenses and IT knowledge on the client’s side. This is due to its ability to rapidly respond to meet new demands either in size or volume. It is also ready to handle the flooding of demand, increased productivity, trends, necessary changes and even presence or introduction of new competitors.
Both distributed computing and cloud computing feature fault tolerance. Fault tolerance is the feature that allows the system to operate properly if there is any partial failure occurred. In distributed computing, the techniques for fault tolerance are the hardware redundancy and software redundancy methods xx. The hardware redundancy method requires the extra hardware components in the system. Meanwhile, in the software redundancy method, programs are involved to deal with faults. Effective fault tolerance mechanism helps in the detection of faults and recovers from it if possible. Fault is normally dealt through replication, which is normally used for most of the fault tolerance method to prevent system failure.
In cloud computing, it uses the concept of redundancy for its fault tolerance. Multiple resources are assigned to execute a single task through redundancy xy. Primary backup and task replication are the techniques based on redundancy. A backup resource is provided in primary-backup technique. Task is assigned to be executed on the primary resource. If primary resource fails, task will be transferred to the backup resource. Same task is assigned to several resources which execute the task in parallel through task replication technique.
Both distributed computing and cloud computing share their resource within their own system. Resource sharing in distributed computing allows the resources to be shared in a resilient manner. It enable the system to fully utilize any available resource found the system. It also allows all its servers to perform their main duties. Resource is managed by resource manager, a software module that manages resource of particular type in distributed system. Resource managers is responsible in controlling access, offer a naming scheme and controls concurrency in distributed computing. Resource sharing in distributed computing introduced the reduction of cost for hardware resources and sharing of information among the hardware x7.
Meanwhile, in cloud computing, it shares computing resource among users, applications and computing system. Its flexible resource sharing enable the system to fully utilize the statistical multiplexing. Storage sharing, which known as virtualization also one of the features in cloud computing. virtualization allow the creation of a virtual version of a device or resource where the framework divides the resource into multiple execution environment. Storage virtualization is the combination of several network storage devices into a single storage unit. Moreover, memory is shared around the cloud. Server virtualization allows the partitioning of a server into smaller virtual server, which is commonly used in renowned technology in cloud.
Both the distributed computing and the cloud computing are cost-saving, but in their own way. Distributed computing meant to be cost saving as it is much cheaper to get more computer system than focusing on single system by upgrading the hardware. Cloud computing is considerable cost savings for the company’s IT cost. By moving businesses to cloud computing, user can save considerable capital costs through the reduction in spending on equipment, infrastructure and software x3. It allows user to rent extra processing power over the Internet without having to use pricey machines as servers. User can reduce both capital and operating costs by using the resources offered by cloud service provider rather than spending huge amount of money on hardware, software or licensing and renewal fees,. Most cloud service providers included the expenses of system upgrades, latest hardware and software. Besides, by moving to cloud user able to prevent unnecessary recruitment of IT staff and also saving on the electrical energy consumption for running private data center. As the Cloud platform is utility based, user only required to pay to the service provider when necessary. Thus, with a subscription-based cost structure, cloud services require a lower initial investment and typically much lower overall costs than ‘on-premise’ models. Capabilities such as massive scalability, reliability, high performance and specifiable configurability can be found in cloud computing at a lower cost.
Both distributed computing and cloud computing features transparency. In distributed computing, its transparency is described as the hiding of its background processes of different components from the user, so that the system is viewed as a whole instead of a collection of independent components. There are a few types of transparency in distributed computing, which are access transparency, location transparency, concurrency transparency, replication transparency, failure transparency, migration transparency, performance transparency and scaling transparency x5. Access transparency leads to clients unaware of the distributed of the files among system. Location transparency allows uniform file namespace to be viewed by clients. Through concurrency transparency, users and application can access shared data without affecting each others’. Client generally unaware of the replication of data at two or more sites. Replication is needed in distributed computing for more reliability through replication transparency. Failure transparency enables the hiding of faults, allowing user and application programs to finish their tasks despite facing hardware or software failure during task execution. Movement of information or processes within system is hidden from the user without affecting the all the operations that are running. Performance transparency allows the system to be reconstructed to enhance the performance of the system as the load differs. Scaling transparency allow system to expand without affecting the application algorithms.
While in cloud computing, it features transparency too. Cloud transparency is meant for strengthening information disclosure and enhances users’ trust in using cloud services x6. Data location in cloud computing is invisible to user where the user would not able to know exactly where their data is hosted. Encryption in data segregation in cloud computing separate user’s data among each other allowing the privacy or the data of user being intruded upon by other users. Complexity of IT infrastructure management is hidden from its user through cloud computing.