What’s Inside the Cloud?
An Architectural Map of the Cloud Landscape
Alexander Lenk, Markus Klems, Jens Nimis, Stefan Tai
FZI Karlsruhe
Haid-und-Neustr. 10-14,
76131 Karlsruhe, Germany
{alenk, klems, nimis, tai}@fzi.de
Thomas Sandholm
Hewlett-Packard Laboratories
1501 Page Mill Road,
Palo Alto, CA 94304
thomas.e.sandholm@hp.com
Abstract
We propose an integrated Cloud computing stack archi-
tecture to serve as a reference point for future mash-ups and
comparative studies. We also show how the existing Cloud
landscape maps into this architecture and identify an infras-
tructure gap that we plan to address in future work.
1. Introduction
Cloud computing is emerging as a model in support of
“everything-as-a-service” (XaaS) [8]. Virtualized physical
resources, virtualized infrastructu re, as well as virtua lized
middleware platforms and business applications are being
provided and consumed as services in the Cloud. Engi-
neering software systems that use “everything-as-a-service”
and which in turn may be provided as Cloud services them-
selves, however, requires a good understanding of the nu-
merous emerging Cloud computing technologies as well as
of already available services solutions offered in the open
Cloud market.
1.1. Objective
How do the various Cloud technologies and offerings
ranging from open source frameworks like Hadoop MapRe-
duce to commercial services from Amazon and Google re-
late to each other? How do we compare and understand
these Cloud technologies and services from a technology,
software architectural, and from a business perspective?
1.2. Approach
As a first step towards answering these questions, we
propose a generic Cloud computing stack that classifies
Cloud technologies and services into different layers. We
explain each layer through examples and d emonstrate how
this model helps in explaining the overall Cloud computing
landscape. We further illustrate the use of the stack in mod-
eling a Cloud computing ecosystem of various providers.
The Cloud computing stack aims at facilitating commu-
nication about different Cloud technologies and services,
including placing more complex offerings such as Google
App Engine on the Cloud computing landscape, and at sup-
porting the design of software systems that wish to use and
compose existing Cloud technologies and services.
The different technologies and tools were categorized
in our stack based on the highest-level interface offered to
its users. We also recognize that some tools allow a wide
range of lower-level plug points, but we focus on repre-
senting the primary use of the technology, which is most
likely to happen on the highest level. Our architectural
stack provides guidance about how to combine, and inter-
change technologies. For example, a developer at The New
York Times [27] needed to transform a large number of doc-
uments and was able to obtain machines to run on from
a virtual machine provisioning system (Amazon EC2 [4])
and parallelize the processing using a parallel programming
framework (Hadoop MapReduce [30]). Others could learn
from his example but may wish to replace either the ma-
chine provisioning system or the programming framework
to meet their needs. Our categorization of existing technolo-
gies does not aim at being complete, which is impossible in
the currently rapid evolution o f the Cloud landscape, but
rather serves as a reference point or snapshot to guide fu-
ture developments. The tools we mention are for the same
reason limited to the most popular or well known.
2. Reference Stack
Distributed computing technologies targeted at enter-
prise systems integration in the 90’s such as the Open
Group’s DCE [29], and the Object Management Groups
CLOUD’09, May 23, 2009, Vancouver, Canada
978-1-4244-3713-9/09/$25.00 © 2009 IEEE ICSE’09 Workshop23