Скачиваний:
50
Добавлен:
20.06.2019
Размер:
50.48 Mб
Скачать

3  Towards a Taxonomy for Cloud Computing from an e-Science Perspective

55

heterogeneity. A cloud must support the aggregation of heterogeneous hardware and software resources, as it happens with scientific experiments. The concept of virtualization [2] is also a key aspect for clouds.

Through virtualization, many users may benefit from the same infrastructure using independent instances. Virtualization enables the first security [10] level in the clouds, since it allows the isolation of environments. In clouds, each user has unique access to its individual virtualized environment. Resource sharing is provided by clouds, since each resource is represented as a single artifact, giving the impression of a single dedicated resource. Scalability is mainly defined by increasing the number of working nodes. By definition, clouds offer the automatic resizing of virtualized hardware resources. Monitoring refers to the ability of watching the current status of virtual machines or services provided.

Each one of those architectural characteristics is standardized by specific standards (which are in another class of the taxonomy). Besides that, some architectural characteristics are important to scientific experiments, such as scalability and monitoring to control the execution.

3.3.5  Technology Infrastructure

The technological infrastructure subtaxonomy (Fig. 3.7) is responsible to classify a cloud environment according to the computational power provided by cloud environments. Particularly in commercial clouds, scientists have no access to the kind of technology that is used to implement it. In fact, in commercial cloud environments implementation details are hidden from the end-user (scientist). On the other hand, in academic or private clouds it is possible to obtain this information. This information may be quite useful in e-Science because many experiments need a powerful computational environment to run and if the cloud environment is not able to provide powerful resources, it will not be able to support these experiments. But, it is complicated to scientists to choose between those environments (clusters, blades, or grids) to run experiments, since they may not be computer experts. This way, we need to classify the environments using another classification.

Fig. 3.6Architecture subtaxonomy

Fig. 3.7Technology infrastructure subtaxonomy

56

D. de Oliveira et al.

This subtaxonomy provides a generic classification of cloud environments according to the support provided for high-performance computing (HPC). Since many experiments need HPC environments to run, cloud environments need to be classified according to these aspects. This way, cloud environments may be classified into HPC support and non-HPC support. HPC support cloud environments are those where multicore programming is allowed, and non-HPC support are those in which this kind of mechanism is not provided, for example.

3.3.6  Access

This subtaxonomy (Fig. 3.8) classifies cloud environments according to its access types. In most cases, we may find four types of accesses: web browsers, thin clients, mobile clients, and API. Browsers are the most common access way for cloud services. Many applications and infrastructures are accessible only on web browsers. It is intuitive since almost every computer has at least one browser installed and may access cloud services. Thin clients and mobile are types of access to clouds out of a desktop within handhelds or mobile phones. It has become popular to access services through phones instead of desktops. And finally, API is a fundamental way for accessing clouds.

API is a fundamental artifact for access through programming languages such as Java, Python, or C. By using an API, more complex applications may use cloud infrastructure in a native form. Since the scientific experiments modeled as scientific workflows are enacted using SWfMSs, one important need to connect SWfMSs to clouds is using an API because an API can be easily invoked by programmable components and most of the scientists follow this tendency.

3.3.7  Standards

This subtaxonomy (Fig. 3.9) presents some categories and standards found on literature for cloud computing. The Extensible Messaging and Presence Protocol (XMPP) [33] is an open technology for real-time communication, which powers a wide range of applications. Hyper Text Transfer Protocol (HTTP) is the most known standard for communication and it is intuitive to use it on the cloud, since it is used on basic web applications. OAuth [19] is a security protocol to publish and interact with protected data. In addition, it is an open protocol to allow secure

Fig. 3.8Access subtaxonomy

3  Towards a Taxonomy for Cloud Computing from an e-Science Perspective

57

Fig. 3.9Standards subtaxonomy

Fig. 3.10Orientation subtaxonomy

API authorization in a simple and standard way. On the other hand, OpenID [21] is an open, decentralized standard for user authentication and access control, allowing users to log onto many services with the same digital identity, as adopted on grids. In addition, we may find SAML [17], which is a major player in cloudbased systems. Atom Publishing Protocol [3] (or simply Atom) is a content licensing protocol based on HTTP for creating and updating web resources. RSS [23] must be included as a syndication standard as well. Even RSS is not a recommended standard but a de facto standard. As highlighted on the scientific experiments requirements, security is a key aspect and virtualization improves security. Virtualization is a key aspect of cloud computing and needs some standards. The OVF [22] is being considered as one of the de facto standards for virtualization. OVF enables flexible and secure distribution of software and data, facilitating the mobility of virtual machines. As happens in many web systems, data is usually represented and transferred using XML (and many more XML-based languages such as SAML [17], XACML [32], and JSON [11]). JSON is a lightweight datainterchange format.

3.3.8  Orientation

One important aspect of cloud computing for e-Science is the orientation (taxonomy represented in Fig. 3.10). Usually, the orientation changes as the type of service changes. For instance, when an application is provided on the cloud, we may consider it task-centric, because it is oriented to the task that will be executed. In other words, you need to transfer control to the application owners instead of

58

D. de Oliveira et al.

having­ control of it. However, when the infrastructure is provided as a service, the user has control of the process. The programs, applications, and data are chosen by the user. Thus, the cloud may be user-centric.

3.4  Classifying Cloud Computing Environments

Using the Taxonomy

In this section, we present a summarized survey of the main existing cloud computing environments according to the proposed taxonomy. Table 3.1 shows the selected cloud computing environments with their categorization based on the taxonomy. These cloud computing environments are the most commonly found in scientific literature [9, 14, 15, 24].

In Table 3.1, we may observe that none of the analyzed environments provides all functionalities and characteristics presented in the proposed taxonomy. Scientists will have to analyze their needs and verify in the classification the environment that is the most suitable. For example, suppose that scientific experiments require HPC support, API, and privacy as its main requirements. In a first analysis, scientists would choose between Nimbus and Eucalyptus. However, if a database service is also an important issue to be considered, they might trade between the available environments.

Table 3.1Classification of cloud computing environments

 

Cloud computing environments

 

 

 

 

 

 

 

 

 

Categories

Amazon EC2a

Microsoft Azureb

Nimbusc

Eucalyptusd

IBM cloude

Pricing

Real time

Real time

Freef

Free

Freeg

Business

IaaS, DaaS

PaaS, DaaSh

IaaS

IaaS

IaaS, DaaS

model

 

 

 

 

 

Orientation

User-centric

Task-centric

User-centric

User-centric

User-centric

Access

API, Browser

API, Browser

API

API

Browser

Privacy

Public

Public

Private

Private

Public

Virtualization

OVF

OVF

OVF

OVF

OVF

Monitoring

Yes

N/Ai

N/Ai

N/Ai

N/Ai

Technology

HPC support

Non-HPC support

HPC support

HPC support

HPC support

a http://aws.amazon.com/ec2/ b  http://www.microsoft.com/windowsazure/ c www.nimbusproject.org/nimbus_cloud d http://open.eucalyptus.com/ e http://www.ibm.com/ibm/cloud/

f Subject to acceptance g  Free for tests

h Microsoft Azure is composed by Windows Azure, Microsoft SWL Azure, and Windows Azure platform AppFabric

i Information not available

Соседние файлы в папке CLOUD COMPUTING