
- •Cloud Computing
- •Foreword
- •Preface
- •Introduction
- •Expected Audience
- •Book Overview
- •Part 1: Cloud Base
- •Part 2: Cloud Seeding
- •Part 3: Cloud Breaks
- •Part 4: Cloud Feedback
- •Contents
- •1.1 Introduction
- •1.1.1 Cloud Services and Enabling Technologies
- •1.2 Virtualization Technology
- •1.2.1 Virtual Machines
- •1.2.2 Virtualization Platforms
- •1.2.3 Virtual Infrastructure Management
- •1.2.4 Cloud Infrastructure Manager
- •1.3 The MapReduce System
- •1.3.1 Hadoop MapReduce Overview
- •1.4 Web Services
- •1.4.1 RPC (Remote Procedure Call)
- •1.4.2 SOA (Service-Oriented Architecture)
- •1.4.3 REST (Representative State Transfer)
- •1.4.4 Mashup
- •1.4.5 Web Services in Practice
- •1.5 Conclusions
- •References
- •2.1 Introduction
- •2.2 Background and Related Work
- •2.3 Taxonomy of Cloud Computing
- •2.3.1 Cloud Architecture
- •2.3.1.1 Services and Modes of Cloud Computing
- •Software-as-a-Service (SaaS)
- •Platform-as-a-Service (PaaS)
- •Hardware-as-a-Service (HaaS)
- •Infrastructure-as-a-Service (IaaS)
- •2.3.2 Virtualization Management
- •2.3.3 Core Services
- •2.3.3.1 Discovery and Replication
- •2.3.3.2 Load Balancing
- •2.3.3.3 Resource Management
- •2.3.4 Data Governance
- •2.3.4.1 Interoperability
- •2.3.4.2 Data Migration
- •2.3.5 Management Services
- •2.3.5.1 Deployment and Configuration
- •2.3.5.2 Monitoring and Reporting
- •2.3.5.3 Service-Level Agreements (SLAs) Management
- •2.3.5.4 Metering and Billing
- •2.3.5.5 Provisioning
- •2.3.6 Security
- •2.3.6.1 Encryption/Decryption
- •2.3.6.2 Privacy and Federated Identity
- •2.3.6.3 Authorization and Authentication
- •2.3.7 Fault Tolerance
- •2.4 Classification and Comparison between Cloud Computing Ecosystems
- •2.5 Findings
- •2.5.2 Cloud Computing PaaS and SaaS Provider
- •2.5.3 Open Source Based Cloud Computing Services
- •2.6 Comments on Issues and Opportunities
- •2.7 Conclusions
- •References
- •3.1 Introduction
- •3.2 Scientific Workflows and e-Science
- •3.2.1 Scientific Workflows
- •3.2.2 Scientific Workflow Management Systems
- •3.2.3 Important Aspects of In Silico Experiments
- •3.3 A Taxonomy for Cloud Computing
- •3.3.1 Business Model
- •3.3.2 Privacy
- •3.3.3 Pricing
- •3.3.4 Architecture
- •3.3.5 Technology Infrastructure
- •3.3.6 Access
- •3.3.7 Standards
- •3.3.8 Orientation
- •3.5 Taxonomies for Cloud Computing
- •3.6 Conclusions and Final Remarks
- •References
- •4.1 Introduction
- •4.2 Cloud and Grid: A Comparison
- •4.2.1 A Retrospective View
- •4.2.2 Comparison from the Viewpoint of System
- •4.2.3 Comparison from the Viewpoint of Users
- •4.2.4 A Summary
- •4.3 Examining Cloud Computing from the CSCW Perspective
- •4.3.1 CSCW Findings
- •4.3.2 The Anatomy of Cloud Computing
- •4.3.2.1 Security and Privacy
- •4.3.2.2 Data and/or Vendor Lock-In
- •4.3.2.3 Service Availability/Reliability
- •4.4 Conclusions
- •References
- •5.1 Overview – Cloud Standards – What and Why?
- •5.2 Deep Dive: Interoperability Standards
- •5.2.1 Purpose, Expectations and Challenges
- •5.2.2 Initiatives – Focus, Sponsors and Status
- •5.2.3 Market Adoption
- •5.2.4 Gaps/Areas of Improvement
- •5.3 Deep Dive: Security Standards
- •5.3.1 Purpose, Expectations and Challenges
- •5.3.2 Initiatives – Focus, Sponsors and Status
- •5.3.3 Market Adoption
- •5.3.4 Gaps/Areas of Improvement
- •5.4 Deep Dive: Portability Standards
- •5.4.1 Purpose, Expectations and Challenges
- •5.4.2 Initiatives – Focus, Sponsors and Status
- •5.4.3 Market Adoption
- •5.4.4 Gaps/Areas of Improvement
- •5.5.1 Purpose, Expectations and Challenges
- •5.5.2 Initiatives – Focus, Sponsors and Status
- •5.5.3 Market Adoption
- •5.5.4 Gaps/Areas of Improvement
- •5.6 Deep Dive: Other Key Standards
- •5.6.1 Initiatives – Focus, Sponsors and Status
- •5.7 Closing Notes
- •References
- •6.1 Introduction and Motivation
- •6.2 Cloud@Home Overview
- •6.2.1 Issues, Challenges, and Open Problems
- •6.2.2 Basic Architecture
- •6.2.2.1 Software Environment
- •6.2.2.2 Software Infrastructure
- •6.2.2.3 Software Kernel
- •6.2.2.4 Firmware/Hardware
- •6.2.3 Application Scenarios
- •6.3 Cloud@Home Core Structure
- •6.3.1 Management Subsystem
- •6.3.2 Resource Subsystem
- •6.4 Conclusions
- •References
- •7.1 Introduction
- •7.2 MapReduce
- •7.3 P2P-MapReduce
- •7.3.1 Architecture
- •7.3.2 Implementation
- •7.3.2.1 Basic Mechanisms
- •Resource Discovery
- •Network Maintenance
- •Job Submission and Failure Recovery
- •7.3.2.2 State Diagram and Software Modules
- •7.3.3 Evaluation
- •7.4 Conclusions
- •References
- •8.1 Introduction
- •8.2 The Cloud Evolution
- •8.3 Improved Network Support for Cloud Computing
- •8.3.1 Why the Internet is Not Enough?
- •8.3.2 Transparent Optical Networks for Cloud Applications: The Dedicated Bandwidth Paradigm
- •8.4 Architecture and Implementation Details
- •8.4.1 Traffic Management and Control Plane Facilities
- •8.4.2 Service Plane and Interfaces
- •8.4.2.1 Providing Network Services to Cloud-Computing Infrastructures
- •8.4.2.2 The Cloud Operating System–Network Interface
- •8.5.1 The Prototype Details
- •8.5.1.1 The Underlying Network Infrastructure
- •8.5.1.2 The Prototype Cloud Network Control Logic and its Services
- •8.5.2 Performance Evaluation and Results Discussion
- •8.6 Related Work
- •8.7 Conclusions
- •References
- •9.1 Introduction
- •9.2 Overview of YML
- •9.3 Design and Implementation of YML-PC
- •9.3.1 Concept Stack of Cloud Platform
- •9.3.2 Design of YML-PC
- •9.3.3 Core Design and Implementation of YML-PC
- •9.4 Primary Experiments on YML-PC
- •9.4.1 YML-PC Can Be Scaled Up Very Easily
- •9.4.2 Data Persistence in YML-PC
- •9.4.3 Schedule Mechanism in YML-PC
- •9.5 Conclusion and Future Work
- •References
- •10.1 Introduction
- •10.2 Related Work
- •10.2.1 General View of Cloud Computing frameworks
- •10.2.2 Cloud Computing Middleware
- •10.3 Deploying Applications in the Cloud
- •10.3.1 Benchmarking the Cloud
- •10.3.2 The ProActive GCM Deployment
- •10.3.3 Technical Solutions for Deployment over Heterogeneous Infrastructures
- •10.3.3.1 Virtual Private Network (VPN)
- •10.3.3.2 Amazon Virtual Private Cloud (VPC)
- •10.3.3.3 Message Forwarding and Tunneling
- •10.3.4 Conclusion and Motivation for Mixing
- •10.4 Moving HPC Applications from Grids to Clouds
- •10.4.1 HPC on Heterogeneous Multi-Domain Platforms
- •10.4.2 The Hierarchical SPMD Concept and Multi-level Partitioning of Numerical Meshes
- •10.4.3 The GCM/ProActive-Based Lightweight Framework
- •10.4.4 Performance Evaluation
- •10.5 Dynamic Mixing of Clusters, Grids, and Clouds
- •10.5.1 The ProActive Resource Manager
- •10.5.2 Cloud Bursting: Managing Spike Demand
- •10.5.3 Cloud Seeding: Dealing with Heterogeneous Hardware and Private Data
- •10.6 Conclusion
- •References
- •11.1 Introduction
- •11.2 Background
- •11.2.1 ASKALON
- •11.2.2 Cloud Computing
- •11.3 Resource Management Architecture
- •11.3.1 Cloud Management
- •11.3.2 Image Catalog
- •11.3.3 Security
- •11.4 Evaluation
- •11.5 Related Work
- •11.6 Conclusions and Future Work
- •References
- •12.1 Introduction
- •12.2 Layered Peer-to-Peer Cloud Provisioning Architecture
- •12.4.1 Distributed Hash Tables
- •12.4.2 Designing Complex Services over DHTs
- •12.5 Cloud Peer Software Fabric: Design and Implementation
- •12.5.1 Overlay Construction
- •12.5.2 Multidimensional Query Indexing
- •12.5.3 Multidimensional Query Routing
- •12.6 Experiments and Evaluation
- •12.6.1 Cloud Peer Details
- •12.6.3 Test Application
- •12.6.4 Deployment of Test Services on Amazon EC2 Platform
- •12.7 Results and Discussions
- •12.8 Conclusions and Path Forward
- •References
- •13.1 Introduction
- •13.2 High-Throughput Science with the Nimrod Tools
- •13.2.1 The Nimrod Tool Family
- •13.2.2 Nimrod and the Grid
- •13.2.3 Scheduling in Nimrod
- •13.3 Extensions to Support Amazon’s Elastic Compute Cloud
- •13.3.1 The Nimrod Architecture
- •13.3.2 The EC2 Actuator
- •13.3.3 Additions to the Schedulers
- •13.4.1 Introduction and Background
- •13.4.2 Computational Requirements
- •13.4.3 The Experiment
- •13.4.4 Computational and Economic Results
- •13.4.5 Scientific Results
- •13.5 Conclusions
- •References
- •14.1 Using the Cloud
- •14.1.1 Overview
- •14.1.2 Background
- •14.1.3 Requirements and Obligations
- •14.1.3.1 Regional Laws
- •14.1.3.2 Industry Regulations
- •14.2 Cloud Compliance
- •14.2.1 Information Security Organization
- •14.2.2 Data Classification
- •14.2.2.1 Classifying Data and Systems
- •14.2.2.2 Specific Type of Data of Concern
- •14.2.2.3 Labeling
- •14.2.3 Access Control and Connectivity
- •14.2.3.1 Authentication and Authorization
- •14.2.3.2 Accounting and Auditing
- •14.2.3.3 Encrypting Data in Motion
- •14.2.3.4 Encrypting Data at Rest
- •14.2.4 Risk Assessments
- •14.2.4.1 Threat and Risk Assessments
- •14.2.4.2 Business Impact Assessments
- •14.2.4.3 Privacy Impact Assessments
- •14.2.5 Due Diligence and Provider Contract Requirements
- •14.2.5.1 ISO Certification
- •14.2.5.2 SAS 70 Type II
- •14.2.5.3 PCI PA DSS or Service Provider
- •14.2.5.4 Portability and Interoperability
- •14.2.5.5 Right to Audit
- •14.2.5.6 Service Level Agreements
- •14.2.6 Other Considerations
- •14.2.6.1 Disaster Recovery/Business Continuity
- •14.2.6.2 Governance Structure
- •14.2.6.3 Incident Response Plan
- •14.3 Conclusion
- •Bibliography
- •15.1.1 Location of Cloud Data and Applicable Laws
- •15.1.2 Data Concerns Within a European Context
- •15.1.3 Government Data
- •15.1.4 Trust
- •15.1.5 Interoperability and Standardization in Cloud Computing
- •15.1.6 Open Grid Forum’s (OGF) Production Grid Interoperability Working Group (PGI-WG) Charter
- •15.1.7.1 What will OCCI Provide?
- •15.1.7.2 Cloud Data Management Interface (CDMI)
- •15.1.7.3 How it Works
- •15.1.8 SDOs and their Involvement with Clouds
- •15.1.10 A Microsoft Cloud Interoperability Scenario
- •15.1.11 Opportunities for Public Authorities
- •15.1.12 Future Market Drivers and Challenges
- •15.1.13 Priorities Moving Forward
- •15.2 Conclusions
- •References
- •16.1 Introduction
- •16.2 Cloud Computing (‘The Cloud’)
- •16.3 Understanding Risks to Cloud Computing
- •16.3.1 Privacy Issues
- •16.3.2 Data Ownership and Content Disclosure Issues
- •16.3.3 Data Confidentiality
- •16.3.4 Data Location
- •16.3.5 Control Issues
- •16.3.6 Regulatory and Legislative Compliance
- •16.3.7 Forensic Evidence Issues
- •16.3.8 Auditing Issues
- •16.3.9 Business Continuity and Disaster Recovery Issues
- •16.3.10 Trust Issues
- •16.3.11 Security Policy Issues
- •16.3.12 Emerging Threats to Cloud Computing
- •16.4 Cloud Security Relationship Framework
- •16.4.1 Security Requirements in the Clouds
- •16.5 Conclusion
- •References
- •17.1 Introduction
- •17.1.1 What Is Security?
- •17.2 ISO 27002 Gap Analyses
- •17.2.1 Asset Management
- •17.2.2 Communications and Operations Management
- •17.2.4 Information Security Incident Management
- •17.2.5 Compliance
- •17.3 Security Recommendations
- •17.4 Case Studies
- •17.4.1 Private Cloud: Fortune 100 Company
- •17.4.2 Public Cloud: Amazon.com
- •17.5 Summary and Conclusion
- •References
- •18.1 Introduction
- •18.2 Decoupling Policy from Applications
- •18.2.1 Overlap of Concerns Between the PEP and PDP
- •18.2.2 Patterns for Binding PEPs to Services
- •18.2.3 Agents
- •18.2.4 Intermediaries
- •18.3 PEP Deployment Patterns in the Cloud
- •18.3.1 Software-as-a-Service Deployment
- •18.3.2 Platform-as-a-Service Deployment
- •18.3.3 Infrastructure-as-a-Service Deployment
- •18.3.4 Alternative Approaches to IaaS Policy Enforcement
- •18.3.5 Basic Web Application Security
- •18.3.6 VPN-Based Solutions
- •18.4 Challenges to Deploying PEPs in the Cloud
- •18.4.1 Performance Challenges in the Cloud
- •18.4.2 Strategies for Fault Tolerance
- •18.4.3 Strategies for Scalability
- •18.4.4 Clustering
- •18.4.5 Acceleration Strategies
- •18.4.5.1 Accelerating Message Processing
- •18.4.5.2 Acceleration of Cryptographic Operations
- •18.4.6 Transport Content Coding
- •18.4.7 Security Challenges in the Cloud
- •18.4.9 Binding PEPs and Applications
- •18.4.9.1 Intermediary Isolation
- •18.4.9.2 The Protected Application Stack
- •18.4.10 Authentication and Authorization
- •18.4.11 Clock Synchronization
- •18.4.12 Management Challenges in the Cloud
- •18.4.13 Audit, Logging, and Metrics
- •18.4.14 Repositories
- •18.4.15 Provisioning and Distribution
- •18.4.16 Policy Synchronization and Views
- •18.5 Conclusion
- •References
- •19.1 Introduction and Background
- •19.2 A Media Service Cloud for Traditional Broadcasting
- •19.2.1 Gridcast the PRISM Cloud 0.12
- •19.3 An On-demand Digital Media Cloud
- •19.4 PRISM Cloud Implementation
- •19.4.1 Cloud Resources
- •19.4.2 Cloud Service Deployment and Management
- •19.5 The PRISM Deployment
- •19.6 Summary
- •19.7 Content Note
- •References
- •20.1 Cloud Computing Reference Model
- •20.2 Cloud Economics
- •20.2.1 Economic Context
- •20.2.2 Economic Benefits
- •20.2.3 Economic Costs
- •20.2.5 The Economics of Green Clouds
- •20.3 Quality of Experience in the Cloud
- •20.4 Monetization Models in the Cloud
- •20.5 Charging in the Cloud
- •20.5.1 Existing Models of Charging
- •20.5.1.1 On-Demand IaaS Instances
- •20.5.1.2 Reserved IaaS Instances
- •20.5.1.3 PaaS Charging
- •20.5.1.4 Cloud Vendor Pricing Model
- •20.5.1.5 Interprovider Charging
- •20.6 Taxation in the Cloud
- •References
- •21.1 Introduction
- •21.2 Background
- •21.3 Experiment
- •21.3.1 Target Application: Value at Risk
- •21.3.2 Target Systems
- •21.3.2.1 Condor
- •21.3.2.2 Amazon EC2
- •21.3.2.3 Eucalyptus
- •21.3.3 Results
- •21.3.4 Job Completion
- •21.3.5 Cost
- •21.4 Conclusions and Future Work
- •References
- •Index
182 |
S. Ostermann et al. |
11.2.2 Cloud Computing
The term Cloud computing is being increasingly used for provisioning various services through the Internet, which are billed like utilities.
From a scientific point of view, the most popular interpretation of Cloud computing is Infrastructure as a Service (IaaS), which provides generic means for hosting and provisioning access to raw computing infrastructure and its operating software. IaaS are typically provided by data centers renting modern hardware facilities to customers that only pay for what they use, which frees them from the burden of hardware maintenance and deprecation. IaaS is characterized by the concept of resource virtualization, which allows customers to deploy and run their own guest operating system on top of the virtualization software (e.g. [7]) offered by the provider. Virtualization in IaaS is also a key step toward distributed, automatic, and scalable deployment, installation, and maintenance of software.
To deploy a guest operating system showing to the user another abstract and higher-level emulated platform, the user creates a virtual machine image, in short image. In order to use a Cloud resource, the user needs to copy and boot an image on top, called virtual machine instance, in short instance. After an instance has been started on a Cloud resource [12], we say that the resource has been provisioned and can be used. If a resource is no longer necessary, it must be released such that the user no longer pays for its use.
Commercial Cloud providers typically offer customers a selection of resource classes or instance types with different characteristics including CPU type, number of cores, memory, hard disk, and I/O performance.
11.3 Resource Management Architecture
To enable the ASKALON Grid environment use Cloud resources from different providers, we extended the resource management service to three new components: Cloud management (see Section 3.1), image catalog (see Section 3.2), and security mechanisms (see Section 3.3).
Whenever the high-performance Grid resources are exhausted, the ASKALON scheduler has the option of supplementing them with additional ones leased from Cloud providers to complete the workflow faster. A limit for the maximum number of leased resources that are requested is set for each cloud in their credential properties. This limit helps to save money and stay within the resource limits given by the cloud provider. EC2 allows the users to request up to 20 instances on a normal account, while bigger resource requests require contacting Amazon. Our Eucalyptus-based private cloud (dps.cloud) offers 12 cores and any further requests can not be served, so the limit for resource requests was set to 12. When a deployment request for a new Cloud resource arrives from the scheduler, the resource manager arranges its provisioning by performing the following steps (see Fig.11.2):

11 Resource Management for Hybrid Grid and Cloud Computing |
183 |
|
|
ments |
|
for |
deployRequest |
|
|
|
Activity |
|
# |
|
|
Type |
|
|
|
Resource Manager |
||
|
GridARM |
|
GLARE |
|
|
6 |
Register |
7 |
|
1 |
Instance |
Register software |
||
|
|
|
for Instance |
|
|
|
|
|
|
|
|
|
Cloud |
|
8 |
Security |
Check available clouds |
||
|
|
|||
|
|
|
with deployment |
Replyavailablewith newlydeployments
2 |
3 |
Cloud |
Image |
Management |
Catalogue |
|
4 |
Start Instance 5
EC2
EC2 API
Eucalyptus Nimbus
Fig. 11.2 The cloud-enhanced resource management architecture
1.Retrieves a signed request for a certain number of activity deployments needed to complete the workflow.
2.The security component checks the credential of the request, and which Clouds are available for the requesting user (see Section 3.3).
3.The image catalog component retrieves the predefined registered images for the accessible Clouds (see Section 3.2).
4.The images are checked to see whether they include the requested activity deployment or if they have the capability to auto-deploy.
5.The instances are started using the Cloud management component, and the image boot process is monitored until a (SSH) control connection is possible to the new instance. If the instance does not contain the requested activity deployment, an optional auto-deployment process using GLARE takes place.
6.A new entry is created in GridARM with all information required by the new instance, such as identifier, IP address, and number of CPUs.
7.All the activity deployments contained in the booted image are registered in GLARE.
8.The resource manager replies to the scheduler with the new deployments for the
requested activity types.

184 |
S. Ostermann et al. |
11.3.1Cloud Management
In terms of functionality, the Cloud-enabled resource manager extends the Grid resource manager with two new runtime functions: the request for new deployments for a specific activity type and the release of a resource after its use ended. The Cloud management component is responsible for provisioning, releasing, and checking the status of an instance.
Figure 11.3 shows a generic instance state transition diagram, which we constructed by analyzing the instance states in different Cloud implementations [12,13]. Upon a request for additional resources, the Cloud management component selects the resources (instance types) with the best price/performance1 ratio, matching the request to which it transfers an image containing the required activity deployments, or enabled with auto-deployment functionality (state starting). In the running state, the image is booted, while in the accessible state, the instance is ready to be used. In the resizing phase, the underlying hardware is reconfigured, for example by adding more cores or memory, while in the restarting phase, the image is rebooted, for example, upon a kernel change. The release of an image upon shut down is signaled by the terminated state. The failed state indicates any error that automatically releases the resource.
Upon a resource release, the instance and all the deployments registered are removed from GridARM and GLARE. However, if there are pending requests for an existing instance containing the required deployments, the resource manager can optimize the provisioning by reusing the same instance for the next user if they share the same Cloud credential (or if other trust mechanisms allow it).
Resizing Restarting
Running |
Accessible |
Shutting |
|
down |
|||
|
|
Requested
Starting |
Failed |
Terminated |
Fig. 11.3 Cloud instance state transition diagram
1 Using the Linpack benchmark results for the different Cloud instance types, as shown in Table 11.6.

11 Resource Management for Hybrid Grid and Cloud Computing |
185 |
Table 11.1 Characteristics of the resource classes offered by four selected clouds as of December 2009
|
|
Cores |
RAM |
Arch. |
|
Disk |
Cost |
|
Cloud |
Name |
(ECUs) |
[GB] |
[bit] |
I/O Perf. |
[GB] |
[$/h] |
|
|
|
|
|
|
|
|
|
|
Amazon EC2 |
m1.small |
1 |
(1) |
1.7 |
32 |
Medium |
160 |
0.085 |
|
m1.large |
2 |
(4) |
7.5 |
64 |
High |
850 |
0.34 |
|
m1.xlarge |
4 |
(8) |
15.0 |
64 |
High |
1,690 |
0.68 |
|
c1.medium |
2 |
(5) |
1.7 |
32 |
Medium |
350 |
0.17 |
|
c1.xlarge |
8 |
(20) |
7.0 |
64 |
High |
1,690 |
0.68 |
|
m2.2xlarge |
4 |
(13) |
34.2 |
64 |
High |
850 |
1.2 |
|
m2.4xlarge |
8 |
(26) |
68.4 |
64 |
High |
1,690 |
2.4 |
GoGrid |
GG.small |
1 |
|
1.0 |
32 |
– |
60 |
0.19 |
|
GG.large |
1 |
|
1.0 |
64 |
– |
60 |
0.19 |
|
GG.xlarge |
3 |
|
4.0 |
64 |
– |
240 |
0.76 |
ElasticHosts[14] |
EH.small |
1 |
|
1.0 |
32 |
– |
30 |
£0.042 |
|
EH.large |
1 |
|
4.0 |
64 |
– |
30 |
£0.09 |
Mosso[15] |
Mosso.small |
4 |
|
1.0 |
64 |
– |
40 |
0.06 |
|
Mosso.large |
4 |
|
4.0 |
64 |
– |
160 |
0.24 |
The Cloud manager also maintains a registry of the available resource classes (or instance types) offered by different Cloud providers containing the number of cores, the amount of memory and hard disk, I/O performance, and cost per unit of computation. For example, Table 11.1 contains the resource class information offered by four Cloud providers, which need to be entered by the resource manager admin in the Cloud management registry due to the lack of a corresponding API.
Today, different commercial and academic Clouds provide different interfaces to their services, as no official standard has yet been defined. We are using, in the Cloud management component, the Amazon API [16] defined by EC2, which is also implemented by Eucalyptus [6] and Nimbus (previously known as Globus Workspaces [17]) and used for building “academic Clouds.” To support more Clouds, plug-ins to other interfaces or use of metacloud software [18] is required. Table 11.2 shows an overview of Cloud providers that are currently offering API access to provision and release their resources, and which could therefore be integrated into an automatic resource management system. This overview also shows the difference in the available hardware configurations of the selected providers. There is also a wide range of Cloud providers that do not offer an API to control the instances and therefore are not listed.
11.3.2 Image Catalog
Each Cloud infrastructure provides a different set of images offered by the provider or defined by the users, which need to be organized in order to be of use. For example, the Amazon EC2 API provides built-in functionality to retrieve the list of