Server-Side programming has a promising future in the software industry but “Grid Computing” and “Cloud Computing” are the terms that get confused and mixed up a lot. Although they’re somewhat similar in theory, they’re also very different and not interchangeable. Let’s understand this concept better in this blog.
Cloud computing is the one that most of us are familiar with. This is where you get access to the resources of an independent 3rd party over the internet. Also within the “cloud computing” family, are what’s known as “Software as a Service” or SaaS applications. Some common examples include: VOIP phones, Online backup, Video games with online play capability etc.
Some common grid computing examples include: SETI @ Home, Peer-to-Peer file sharing etc. Grid computing also has special applications within the enterprise space. For example, a company may decide to virtualize their database system so that the application could be hosted across multiple redundant data centers.
With the help of cloud computing, your company gets cost-savings and convenience. With grid computing, your company gets power and flexibility.
Cloud computing vs Grid Computing
Exploring the differences between the two popular resource sharing systems.
Cloud computing lets users employ resources from any web-connected device.
Cloud computing allows users to share resources, utilize software, and access personal files from any computer that has Internet access. It derives largely from the Unix paradigm of having multiple elements.
There are four types of cloud computing:
1. Public: Resources are offered over the Web to the general public on a self-service basis.
2. Community: Resources are shared between different organizations from a specific community.
3. Private: Operates for a single organization.
4. Hybrid: Composition of two or more clouds (private, public, community) which remain unique from one another but are bound together to offer the benefits of multiple deployment models.
There are also three main services that cloud computing can provide:
1. Infrastructure-as-a-Service (IaaS): Provides a virtual server to start, stop, access, and configure online storage. This, in turn, allows a company to pay for only as much capacity as needed.
2. Platform-as-a-Service (PaaS): Hosts a set of software and product development tools on an online infrastructure, to allow developers the ability to create applications on a platform.
3. Software-as-a-Service (SaaS): Provides the user with various infrastructure and product needs.
The technology behind cloud computing
There are two sections to cloud computing: the front end and the back end. The front end is the user’s computer (or computer network) and the interface software. The back end consists of the various computers, servers, and data storage systems that create a “cloud” of computing services.
Grid computing sometimes referred to as “distributed” computing, is the combination of computer resources from more than one administrative domain for the purpose of reaching a common goal. It taps into the unused process cycles of computers within a network to solve tasks that are otherwise too intense for a stand-alone machine to handle.
Resources that can be drawn upon include processing power, memory, and data storage. When a task is assigned, it gets broken down to different sub-tasks, which are then divided up and sent out to different machines within the network. As the tasks are completed, the results get sent back to the controlling unit, which then collates them to form a cohesive output.