• No results found

Grid and Cloud Computing Examples

1 Introduction

2.1 Large-Scale Distributed Computing

2.1.3 Grid and Cloud Computing Examples

From the concept of cloud computing, it has been a strongly market-oriented initiative in the industry and the private sector. This has motivated many leading private companies (Amazon, Google, IBM, Microsoft, etc) to develop and offer cloud-based computing solutions. Simultaneously, cloud computing is being also developed within scientific research projects and commercial sides [28, 42]. Major vendors have invested in the area of global cloud promotion, while comparably, research organizations based on their funding principles and interest, contribute to cloud technologies in an indirect way.

2.1.3.1 Commercial Examples

A number of middleware and platforms emerge in the last few years. It involves multiple level services in heterogeneous distributed systems. Commercial cloud solutions augment dramatically and promote organization shift from company-owned assets to per­

use service-based models. Some cloud product has presented in the real world, such as Amazon Web Service (AWS) [6], Eucalyptus [12], FlexiScale [43], Joyent [44], Azure [45], Engine Yard [46], Heroku [47], Force.com , RightScale [48], Netsuite [49], Google Apps [5], Abicloud [50], etc.

• Amazon Web Services

AWS is a set of cloud services that enable organizations to deploy applications and services on an on-demand basis and commodity prices [6]. The Amazon EC2 enables cloud users to create launch, and managed server instances in data centers using API as needed. As stated in Amazon’s own website, “EC2 is a web service that provides resizable compute capacity in the cloud. It is designed to make web scale computing easier for developers”. EC2 instances are virtual machines which are running on top of the Xen virtualization engine [40]. After creating and starting an instance, users can upload software and make changes to it. When changes are finished, an identical copy can then be launched at any time. End-users have nearly full control of the entire software stack on the EC2 instances.

• Google AppEngine

Google AppEngine is a platform for developing and hosting conventional web applications in Google managed data centers [5]. It is a cloud computing technology providing free service, up to a certain level of used resources. In addition, AppEngine applications should be request response, providing automatic scaling and high availability.

Some framework is running on the Google App Engine, including Django [51], CherryPy [52]. Django is an open source web application framework which follows the model- view-controller architecture pattern. CherryPy is an object-oriented web application framework which is designed for rapid development of web applications by wrapping the HTTP protocol. Google handles deploying code to a cluster, monitoring, failover, and launching application instances as necessary. For example, AppEngine is not suited for general computing.

• Abicloud

Abicloud is an open source cloud computing platform for building and managing public and private clouds based on heterogeneous environments [50]. In this platform, a rich Web interface design to make easy the system management tasks. The Abicloud users can deploy a new service by dragging and dropping the number of virtual machines, storage and memory. It allows deploying instances of general purpose virtual machines such as VirtualBox [53], VMware [54] and Xen [40]. Therefore allow the platform to scale up or down as needed. This platform is modular because it attempts to improve system scalability.

• Nimbus

Nimbus is an open source toolkit that provides an “infrastmcture-as-a-service” cloud computing solution [55]. The objective of this infrastructure is not only emphasis on the needs of scientific applications, but also many non-scientific use cases can be supported as well. It allows a client to lease remote resources by deploying VMs on those resources and configuring them to build a desired environment by the user. Nimbus Cloud Storage provides the pay-as-you-go business model and function of scalability. It allows consumer to reduce operational costs and eliminate the job management, giving them the freedom to focus on their business.

Chapter 2. Background and Literature Review

• Microsoft’s Azure

Microsoft’s Windows Azure service is an application platform providing service, accommodation and administration tools to clients in the cloud environment [45]. It is an operating system for cloud applications to be hosted and run at Microsoft datacenters. It provides developers ability to do storage and computing services, and also the management of web applications on the Internet through data center. Windows Azure is a flexible platform for supporting multiple languages and could be integrate with the existing environment. It also supports standards and protocols, including SOAP [20], REST [56], XML [57] and PHP [58]. Azure will provide a set of scalability features of operating on demand services. Therefore, it is possible to obtain and allocate additional processors if the scalability of an application requires it. All Azure services and applications built using them run on top of Windows.

2.1.3.2 Research Examples

Besides company initiatives, a number of academic examples have been developed to address the challenges including stable testbed, standardization and open source reference implementation. These academic research project are XtreemOS, OpenNebula, FutureGrid, elasticLM, gCube, ManuCloud, RESERVOIR, SLA@SOI, Contrail, ECEE, NEON, VMware, Tycoon, DIET, BEinGRID, etc.

• RESERVOIR

RESERVOIR (REsources and SERvices Virtualisation withOut barrleRs) is a Cloud computing research project partly funded by the European Commission as an Integrated project under the Seventh Framework Programmer (FP7) sponsorship program [59].

According to the project description, their goal is “to support the emergence of service- oriented computing as a new computing paradigm. In this paradigm, services are software components exposed through network-accessible, platform and language independent interfaces, which enable the composition of complex distributed applications out of loosely coupled components.” It is an architecture that allows cloud service providers to dynamically partner with each other to create a seemingly infinite pool of IT resources.

This framework extends the advantages of virtualization and embeds autonomous management into the infrastructure. It is also aims to create a foundation for next- generation enterprise-grade cloud computing.

• OpenNebula

OpenNebula is an open source manager of virtual infrastructure, able to easily build cloud infrastructure of three types: private, public and hybrid clouds [60]. OpenNebula has been designed to offer flexible architecture, interface and components that could be integrated into any data center. It was designed to be integrated into any network and storage solution. This tool supports Xen [40], KVM (Kernel-based Virtual Machine) [61]and VMware [54] and access to Amazon EC2s [6]. OpenNebula manages the storage, networking and virtualization technologies to enable the establishment of dynamic multi­

level services (groups of interconnected virtual machines) on the distributed infrastructure, combining both data center resources and remote cloud resources according to allocation policies.