Cloud computing and grid computing are often mistaken for one another, but the fact is that they’re nowhere close to the same thing. This article explains both systems, and how they differ from one another.
Cloud computing: What is it?
Cloud computing lets users employ resources from any web-connected device. (Credit: tlie.org)
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, each one exceptional at one particular task, as opposed to a larger element whose performance isn’t as efficient.
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. (Early adopters mainly use this for supplemental, non-mission-critical needs, but some are beginning to speculate that this service could eventually replace entire parts of a datacenter.)
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. On the customer side, it means no upfront investment in servers or software licensing; on the provider side, with just one app to maintain, costs are lower than conventional hosting.
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.
The architecture involves multiple components communicating with each other over a loose coupling mechanism, typically a messaging queue/middleware. This central server administers the system, monitors traffic, client demands, and makes sure that everything runs smoothly.
Advantages
Saves money : There’s less hardware costs and because of its ease of use, cloud computing requires less IT support, too.
High performance : Applications are easily monitored because they don’t need to be installed on each user’s computer. This means that performance remains consistent.
Easy to use : Applications get up and running much faster than in the past. They also require less maintenance.
Disadvantages
Needs extra space : Like computers, cloud computing systems occasionally break down, so it’s important to copy information and store it on other devices.
Security and privacy : Hackers will, unfortunately, always exist. Improved authentication techniques and authorization formats will forever be a constant need.
Outlook
Significant innovations in distributed computing, along with improved access to high-speed Internet and a weak economy, have accelerated interest in cost-effective cloud computing over recent years.
Grid computing: What is it?
A grid computing system allows users to maximize untapped resources within their network. (Credit: soptoshi.com)
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. How does it do this? 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 divvied 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.
Grid computing is generally used to solve large-scale scientific or mathematical problems the type that requires a huge number of computer processing cycles or access to large amounts of data. They’ve been used commercially for applications like drug discovery, economic forecasting, seismic analysis, back office data processing, etc.
The size of a grid computing system varies: it can be small, wherein it’s confined to an internal network of computer workstations that run on the same operating system. It can also be as large and complex as internetworked systems that have multiple operating systems. These are generally public collaborations that stretch across many companies and networks (often referred to as peer-to-peer computing.)
Technology behind grid computing
Computers within a grid system can be either hardwired together or run on open systems that connect with each other via the web. They can also run on the same operating system (homogenous system) or on different operating systems (heterogeneous system).
Networks are constructed with the aid of general-purpose grid software libraries (“middleware”) that allow computers the ability to run a process or series of applications across an entire network of machines. Without it, communication across the system would be impossible.
There’s also at least one machine, referred to as the “control node,” which prioritizes and schedules tasks across the entire network. It determines what resources each task will be allowed to access and monitors the system to make sure that everything doesn’t become overloaded.
Advantages
Saves money : Computers can be purchased separately as commodity hardware, but when combined, provide a business with all of the functionality of a supercomputer, without having to pay high costs for the device’s special hardware and software.
Increases efficiency : Available resources are maximized and the fact that users are able to run parallel operations saves time, too.
Solves problems : Grid computing systems provide businesses with a quick, low-power avenue to complicated solutions.
Disadvantages
Requires unique software: Programming typically has to be unique to the project for which the grid computing system is being used.
Computers can drop off : This is due to the fact that there’s limited control over all of the hardware.
Not everyone runs at the same speed : Not all processors and local storage areas have high-speed connections.
Outlook
Standardized protocols and tools still need to be agreed upon. As a result, the concept is still being perfected. Many agree, though, that the potential for grid computing systems is limitless.
Cloud computing vs. grid computing
As you can see, there aren’t many “exclusive” differences between cloud computing and grid computing. After all, both are used to maximize resources, have elements that interact with each other, and are meant to provide the user with a simplified presentation of services. It’s easy to get them confused.
To understand what makes them unique, we need to look at the way in which tasks are computed within their particular environment. With the grid, a user assigns one large task that gets divided into several smaller portions and implemented on different machines to maximize all available resources. The cloud, on the other hand, is meant for the user to enjoy a host of readily available web-based services (without having to invest in any underlying architecture). These services can then be combined (whether it’s web browsing, word processing, etc.) to provide the user with a homogenous, optimized experience.
Conclusion
Cloud computing and grid computing both have a similar goal — to provide a user-friendly computing system that offers all the benefits of more complicated computer processes. Having a fundamental understanding on the difference between the two will help the user choose the system best suited for his or her needs. ■
Learn more at Avago
Learn more about Electronic Products Magazine