Cluster-, cloud-computing and grid-computing are forms of distributed & local computing. What do these approaches share in common and what are the differences & similarities?
You are exactly correct. Cluster computing is the base of all distributed computing paradigm, it aggregates the resources locally and shares the load. Grid computing is the extended version of cluster, in which resources are provisioned through internet. Cloud is on top of all, it provides more or less same functionalities as the above two, but provides in the form of services and bills the same ( utility). virtualization is the common concept utilized by all the paradigms, but implementational method varies accordingly.
Several types of distributed computing systems are now common. Cluster
computing describes a distributed system in which many independent computers
work closely together to provide computation or services comparable to a much larger machine. The cost of these individual machines, plus the high-speed network to connect them, can be less than a higher-priced supercomputer, but with higher reliability and lower maintenance costs. Such distributed systems are used to provide high-availability—because it is more likely that at least one member of the cluster will be able to answer a request, even if other cluster members break down or are unavailable—and load-balancing—because the workload can be shifted automatically from members of the cluster that have too much to do to those that may have too little. Grid computing refers to distributed systems that are more loosely coupled than clusters but that still work together to accomplish large tasks. Grid computing can involve specialized software to make it easier to distribute data and algorithms to the machines participating in a grid..... Both of these systems are often installed on computers that are used for other purposes, such as PCs at work or at home, that can then volunteer computing power to the grid when the machine is not otherwise being used. .... Cloud computing, whereby huge pools of shared computers on the network can be allocated for use by clients as needed, is the latest trend in distributed systems. Much as the spread of metropolitan electrical grids in the early twentieth century eliminated the need for individual factories and businesses to maintain their own generators, the Internet is making it possible for entities to entrust their data and computations to “the Cloud,” which in this case refers to the enormous computing resources already available on the network. ... Cloud computing services provide reasonable guarantees of reliability and scalability, but also raise concerns about privacy and security in a world where we may no longer know who owns and operates the computers that we use.
j. Brookshear, Computer Science, On Overview,11 edit, 2011
I think it is a misconception to think in a Grid as a collection of Clusters that collaborate to solve a single problem. A Grid can not aggregate clusters to form a super-cluster. The Grid will try to find a Cluster for you with the power you need, but if such resource doesn't exist, it can not put two or three Clusters to work together.
· Cloud computing provides on-demand access to shared pool of configurable computing resources( networks, servers, storages, application, services) that can be easily provisioned with little management effort and ensures that there is always a backup of the backup. Server Virtualization is an enabler force of Cloud Technology.
· Cloud computing is a large scale distributed computing paradigm in which a pool of abstracted, virtualized, dynamically scalable, managed computing power, storage, platforms and services are provided on demand to external customers over the Internet.
· In simple cloud computing is using internet to access someone else’s software running on someone else’s hardware in someone else’s data center in rent basis.
· Examples of Cloud Services: Microsoft Office 365 and Google Drive
Cloud Deployment Models
· Public Cloud
· Private Cloud
· Hybrid Clouds
· Community Clouds
Cloud Service Models
· Infrastructure as a Service(IaaS)
· Platform as a Service(PaaS)
· Software as a Service(SaaS)
Characteristics of Cloud
· Service Orientation
· Virtualization
· Resource Pooling
· Rapid Elasticity
· On-Demand-Service
· Measured-Service
· Broad-Network Access
Drawbacks of Cloud
· Continuous High Speed Internet Connectivity is required
· Data Stored is not Secured.
Software as a Service(SaaS)
In this model, consumer accesses the software applications provided by cloud provider online using thin client interface such as web browser. The consumer is not aware of underlying cloud infrastructure( network, servers, OS, storage and application settings). Example: Gmail, Office 365 etc.
Platform as A Service( PaaS)
This model can be implemented in following different ways
· Hosting platform is provided by cloud provider to consumer on demand basis to host consumer applications. The consumer has access to hosting configuration. Example:
· Integrated Development environment provided by cloud provider is accessed by developer online to develop and test software applications. Developer is freed from having complex hardware and software required to develop and test software applications. Example: Google App Engine, Hadoop
Infrastructure as A Service( IaaS)
In this model, various computing infrastructure for e.g. Operating System, Storage, Processing Capability, Network Configuration, Firewall Configuration etc are provided by cloud provider to consumer on demand so that consumer can run their software apps on it. E.g. vCloud, Amazon BC2
Private Cloud: Cloud infrastructure is exclusively used by an organization. It is operated by an organization itself or third part and exists on premise or off premise
Public Cloud: It is owned by an organization that sells cloud services and can be accessed by the general public online
Community Cloud: It is shared by many organizations that has shared concerns( mission, policy, security requirements, compliance consideration etc).
Hybrid Cloud: It is composed of two or more clouds( public, private, community) that are bound together by standard to ensure portability.
Terms Used in Cloud
· Cloud Provider: Organization that provides cloud services
· Cloud Subscriber: Customer of Cloud
· Client: Software Application that accesses cloud services online.
Cluster, Grid and Cloud Computing
Cluster Computing
it is essentially smashing up many machines to make a really big & powerful one to provide computation or services comparable to a much larger machine. The cost of these individual machines, plus the high-speed network to connect them, can be less than a higher-priced supercomputer, but with higher reliability and lower maintenance costs. Such distributed systems are used to provide high-availability—because it is more likely that at least one member of the cluster will be able to answer a request, even if other cluster members break down or are unavailable—and load-balancing—because the workload can be shifted automatically from members of the cluster that have too much to do to those that may have too little. Clusters are primarily used for providing Server Availability service i.e. if one member of server cluster is down other member is automatically activated.
Grid Computing( an extended version of Cluster Computing)
In Grid Computing, We apply resources of many computers to solve complex scientific and mathematical problem that requires a great number of CPU processing cycles. Grid can encompass many administrative domain and is very wide scale.
Grid is formed by aggregating a wide variety of geographically distributed resources including supercomputers, storage systems, data sources, and specialized devices owned by different organizations for solving large-scale resource intensive problems in science, engineering, and commerce
Grid Computing
Cluster Computing
It is heterogeneous in nature.
The computers that are part of a grid can run different operating systems and have different hardware
It is homogeneous in nature. Cluster computers all have the same hardware and OS.
Commodity + High End Computers form Grid
Commodity Computers Form Cluster.
Grid are inherently distributed by its nature over a LAN, MAN or WAN.
the computers in the cluster are normally contained in a single location or complex.
every node is autonomous i.e. it has its own resource manager and behaves like an independent entity.
the whole system (all nodes) behave like a single system view and resources are managed by centralized resource manager.
Loosely Coupled System
Tightly Coupled System.
It does not provide single system image
It provides single system image.
Used to solve complex problem
Used in simple applications for e.g. database service, web service etc.
Cloud Computing: It is on top of all and provides functionality in terms of service.
Grid computing system is a widely distributed resource for a common goal. It is Brother of Cloud Computing and Sister of Supercomputer. We can think the grid is a distributed system connected to a single network. This types of computing work with the large volume of files. Basically, it is a cluster types system. So people call it cluster computing.
Grid computer tends to be more geographically disperse and heterogeneous by nature. Grid network also has various types. A single grid is like dedicated connection but a common grid perform multiple tasks.
The size of the grid is large. So grid computing is like supercomputing. It consists of many network, computer, and middleware. Grid computer is dedicated to some specific function of the large volume of data. In the grid process, each task divided into a various process. All the process starts execution simultaneously on a different computer. As a result, very few seconds needs to execute and enjoy the flavor of supercomputing.