Abstract
The Cloud and Grid computation systems are different computation services or platforms that can help in different tasks. Cloud computing started in late 1990s. It is the form of TCP/IP (Transmission Control Protocol/Internet Protocol) based on advanced development and integration of computer technologies such as huge memory, fast microprocessor, reliable system architecture, and high-speed network. Cloud computing are helpful in solving Internet-level computation problems, which are somewhat different from those of Grid computing. On the other hand, Grids started working in the mid 1990s to compute the large-scale problems with the help of network based resource-sharing commodity machines. Such types of problems were only solved by supercomputers and large dedicated services, but those computing resources and services were expensive and hard to get at that time. Grid computing can be described as a form of distributed computing that is related to the coordination of computers, and sharing their applications, data, and storage or network resources across geographically and dynamically dispersed organization.
The Cloud and Grid computation systems are found to have some similar features such as multitasking, and service negotiation, i.e. SLA based. However, there are some differences between the two technologies. They are efficient in performing different specialized tasks as, for example, Grid computing has low level of user friendliness, whereas Cloud computing has high level of user friendliness.
Cloud computing is the form of TCP/IP (Transmission Control Protocol/Internet Protocol) based on advanced development and integration of computer technologies such as huge memory, fast microprocessor, reliable system architecture, and high-speed network. Without the utilization of standard inter-connect protocols and strong assemblage of data center technologies, cloud computing would not come in our lives (Varia, 2008). It helps in providing convenient, ubiquitous, and on-demand access to the network that is attached to a shared pool of configurable computing resources such as applications, storage, networks, and services. These resources can be quickly released and provisioned with reduced management efforts and services.
Cloud computing are helpful in solving Internet-level computation problems, which are somewhat different from those of Grid computing. Clouds are considered as the large pool of computing and/or storage resources accessible through standard protocols via an abstract interface. Clouds can be developed on top of many existing protocols including Web services (such as SOAP, WSDL), and some advanced Web 2.0 technologies including RSS, REST, AJAX, etc. Clouds can be implemented over already established Grid technologies. Cloud computing architecture has four different layers composed of Fabric, Platform, Unified resource, and Application Layers. The fabric layer has hardware level resources such as computing and storage resources. The platform layer has a collection of specialized tools and services providing the basis for unified resource. The unified resource layer has resources that can be encapsulated or abstracted by virtualization for provision of resources in an integrated fashion such as a database system, or a virtual computer or cluster. The application layer has different applications that would be operated in the Clouds (Carolan et al., 2009).
One of the major users of cloud computing is the U.S National institute of Standards and Technology (NIST). NIST has separated cloud computing into deployment models and service models (Jha, Merzky, & Fox, 2009). A deployment model tells about the purpose of the cloud and the nature of the location of the cloud. NIST has specified the four deployment models as follows (Mell, & Grance, 2009):
- Public cloud that is available for public and large industrial use, and is owned by an organization, which is specialized in selling cloud services.
- Private cloud is that type of cloud computing that is exclusively in the use of an organization. This can be managed by a third party or even that organization itself.
- Community cloud is that type of cloud computing in which the cloud is organized to help in common functioning. It can be present within an organization or it may join several organizations having similar mission, strategies, and policies. It can also be managed by the organizations themselves or by a third party.
- Hybrid cloud is that type of cloud that is the combination of many cloud computing services such as public, private, and community. In this type of computing, every type of cloud computing maintains its integrity and unique identity, but works in coordination with the other forms of computing. It may offer proprietary or standardized access to the data in the cloud.
In the same way, Service models can come in three major groups:
- Infrastructure as a Service (IaaS) is the first group in which there is the delivery of huge computing resources such as the storage, network, and capacity of processing with the help of software, hardware, and related tools and equipments.
- Platform as a Service (PaaS) model is the second group that deals with infrastructures, and helps in providing a set of application program interface to cloud applications. It offers an advanced level of integrated environment for the development, testing, and deployment of custom applications (Foster, Zhao, Raicu, & Lu, 2008). It can be considered as the connecting point between the hardware and different applications.
- Software as a Service (SaaS) constitutes the third group which is used to replace the applications for computers (Foster, Zhao, Raicu, & Lu, 2008). SaaS removes the need for installing and operating the software on the computer as it delivers specialized software for remote access by consumers (AlHakami, Aldabbas, & Alwada’n, 2012). It can also help in reducing the overall cost in buying the software.
Some providers can give services at more than one level.
On the other hand, Grids started working in the mid 1990s to compute the large-scale problems with the help of network based resource-sharing commodity machines. Such types of problems were only solved by supercomputers and large dedicated services, but those computing resources and services were expensive and hard to get at that time. So, the experts started working on computing and networking resources that were handled by geographically distributed institutions having heterogeneous and dynamic nature.
Grids work on the integration of existing resources with their operating systems, hardware, security infrastructure, and local resource management, in order to develop “Virtual Organizations”. These Virtual Organizations work as if different distributed resources come from the same organization. Grids have some standard protocols, and many toolkits and services are developed on the basis of these protocols. In case of Grid computation, security and interoperability are considered as main concerns as the resources come from different administrative domains having both local and global resource usage policies, different configurations and platforms for software and hardware, and different capacity and availability. Grids provide services and protocols at five different layers as shown in the Grid protocol architecture. These layers are composed of Application, Rescue, Collective, Fabric, and Connectivity layers. At the fabric level, Grids give access to various resources such as computation, network and storage resources, etc (Pardeshi, Patil, & Dhumale, 2013).
Grid computing can be described as a form of distributed computing that is related to the coordination of computers, and sharing their applications, data, and storage or network resources across geographically and dynamically dispersed organization. It has been developed in order to deal with complicated computational problems of organizations. It is used to provide access to computer based services and resources ranging from CPU cycles to data servers in the same way as real world utilities. This brought the concept of Virtual Organizations that could help in accessing all resources as though they have been provided by a single organization. Two important points in grids are the Open Grid Service Architecture (OGSA) and the Globus Toolkit (Jha, Merzky, & Fox, 2009). The Globus Toolkit is used to provide a vertically integrated treatment of application, net work, and middleware (Foster, & Kesselman, 1997). Grid computing has many important features:
- The large scale, which shows that a grid can deal with many resources that can reach up to millions.
- The geographical distribution, which shows that the resources of grid could be present at several remote and distinct places.
- Heterogeneity, which shows that the grid has both hardware as well as software resources ranging from sensors to data and programs.
- Resource sharing, which shows that the resources are from several organizations that are permitting other organizations or users to get access to these resources.
- Multiple administrations, which show that every organization can have different administrative and security policies through which their resources can easily be used or accessed.
- Resource coordination, which shows that resources within a grid have been arranged in a coordinated fashion for aggregated and integrated computation.
- Transparent access, which shows that the grid must be considered as a solitary virtual computer.
- Dependable access, which shows that a grid confirms the provision of services under standard requirements of Quality of Service (QoS). This dependable service is important as it can help users in getting surety about the sustained high-levels of performance (Pardeshi, Patil, & Dhumale, 2013).
- Consistent access, which shows that a grid has all the standard services and protocols at the required scalability while covering the heterogeneity of various resources.
- Pervasive access, which shows that the grid has to give access to provided resources by adapting a dynamic and active environment, where resource failure commonly takes place. This does not show that the resources are available everywhere, but it shows the maximum performance from the available resources.
Cloud computing and Grid computing have been compared in the following table:
References
AlHakami, H., Aldabbas, H., & Alwada’n, T. (2012). Comparison between cloud and grid computing: review paper. Software Technology Research Laboratory (STRL), De Montfort University.
Carolan, J., Gaede, S., Baty, J., Brunette, G., Licht, A., Remmell, J., & Weise, J. (2009). Introduction to cloud computing architecture. White Paper, 1st edn. Sun Micro Systems Inc.
Foster, I., & Kesselman, C. (1997). Globus: A metacomputing infrastructure toolkit. International Journal of High Performance Computing Applications, 11(2), 115-128.
Foster, I., Zhao, Y., Raicu, I., & Lu, S. (2008, November). Cloud computing and grid computing 360-degree compared. In Grid Computing Environments Workshop, 2008. GCE'08 (pp. 1-10). IEEE.
Jha, S., Merzky, A., & Fox, G. (2009). Using clouds to provide grids with higher levels of abstraction and explicit support for usage modes. Concurrency and Computation: Practice and Experience, 21(8), 1087-1108.
Mell, P., & Grance, T. (2009). The NIST definition of cloud computing. National Institute of Standards and Technology, 53(6), 50.
Pardeshi, S. N., Patil, C., & Dhumale, S. (2013). Grid Computing Architecture and Benefits. International Journal of Scientific and Research Publications, 781.
Varia, J. (2008). Cloud architectures. White Paper of Amazon, jineshvaria. s3. amazonaws. com/public/cloudarchitectures-varia. pdf, 16.