Sie sind auf Seite 1von 6

A Pragmatic Amalgamation of Cloud Computing Visibility

and Services

Flavio Ishii
Computer Science Department
University of Saskatchewan
SK S7N 5C9, Canada
foi822@mail.usask.ca

ABSTRACT (SaaS), virtual machine instance management or Infrastruc-


In this research paper we look at how to harness Cloud Com- ture as a Service (IaaS) and development Platform as a Ser-
puting (CC) options pragmatically. CC has yet to mature vice (PaaS). These services became known as Cloud Com-
and gain mass acceptance by the IT industry, but all the puting Services (CCS). Many companies now provide in-
benefits it brings with all the options bundled by Cloud novative services built on top of the CCSs such as cloud
Computing Service Providers (CCSPs) we can be certain management and monitoring tools.
that it will remain the topic of discussion for years to come. The [2] paper mentioned three attractive reasons for de-
We base our decision process of deploying a cloud appli- veloping with CCS: short-term usage, low start-up cost, and
cation on the system properties, usage, resources available, infinite capacity on demand. Moving to or starting up in
and policies. We outline the CC options with the Cloud the cloud is considered a risky investment since it embraces
Computing Visibilities (CCVs) and the Cloud Computing a new architecture, costs, and business model. Many fac-
Service (CCS) development layer(s). We point out some tors need to be looked at and [2] formulated how profitable
key factors to trigger discussions among software teams to the cloud solution would be based on revenue and usage. It
pragmatically decide on their specific solutions. We have also provides hints as to improvements that may be coming
made an amalgamation of previous CC studies, a survey of in the near future to help gain the confidence of more CCS
the different CCSPs, and a look at CC management tools. users.
There are many skeptics of CCS usage, due to the high
profile it gets when malicious or unintentional service out-
Keywords ages occurs, but also due to data storage regulation policy
Cloud Computing, Hybrid Cloud, Architecture, Software issues and vendor lock-ins. These issues have been noted
Management. by CCSPs and attempt to resolve it by adding more server
farms in different geographic location options like Amazon
Web Service (AWS) Regions [3] for increased up-time, pro-
1. HISTORY AND INTRODUCTION viding a Hybrid Cloud (discussed in 2.2.3) solution to con-
Cloud Computing (CC) draws elements from different sys- form with strict policies, and using open solutions like Joyent
tems: Grid Computing, clusters working towards solving a Smart Platform for code portability. The unification and
task; Utility Computing, computing resources served as a standardization of CCSPs is a sensitive and active topic
metered service; and Autonomic Computing, self-managed among providers, and it could play a key role in easing the
systems [1]. Wikipedia defines CC as ”a new supplement, cloud architecture decision making process.
consumption and delivery model for IT services based on the A number of innovative business models are spearheading
Internet, and it typically involves the provision of dynam- the success of cloud implementations. The most successful
ically scalable and often virtualized resources as a service ones provide supportive type services to existing software as
over the Internet.” oppose to attempting to create a killer app. RightScale and
The high demand for Web-based software development 3scale are two such businesses that provide tools to manage
of the past decade has given the opportunity for large cor- cloud instances and cloud traffic policies, respectively. As
porations like Amazon and Google to offer their high-end more cloud-based solutions succeed and become the status
infrastructure to developers. These service providers among quo, it will help quiet the skeptics.
others offer their computer and network infrastructure as The technical report [4] offered an insightful method of
a utility service with application or Software as a Service breaking down application and cloud attributes to help map
them to one another. However, being that industry was their
target audience it focussed on cost effectiveness leaving out
some important topics such as code portability and cloud
service interoperability. It also took on the position that of
cloud visibility is irrelevant; suggesting that choosing one
provider with many options is more feasible since it can be
more cost effective. This view favored large enterprises as
opposed to small to medium sized businesses that can not
always afford to be tied in with a single vendor, especially if
management interfaces, and numerous options. Popular IaaS
providers include AWS EC2, Rackspace Cloud Hosting, and
GoGrid Cloud Hosting. The key advantage for deploying an
application on an IaaS, is the control over the implemen-
tation and the code portability; there is no vendor lock-in
if vendor-related issues arise. The key disadvantage, when
compared to the other CCS layers is the extra effort for cre-
ating and managing your infrastructure. Some CCSPs and
third parties attempt to solve this issue by offering simpler
interfaces.
Figure 1: CCS layers of abstraction.
2.1.2 PaaS Development Layer
The PaaS layer allows a developer to focus only on coding
vendor policies change.
an application given the development platform, which may
In this paper we adopt a pragmatic approach for deploy-
only restrict the developer to a programming language (i.e.
ing cloud applications by considering the system and cloud
Heroku, Stax, and Joyent Smart Platform) or it may restrict
attributes. Unlike previous work [4, 6] that focus on the
the developer to a specific framework (i.e. Google App En-
details of whether the application is meant for the cloud or
gine, Azure Platform, Appcelerator, Rhohub). Custom Web
not, we assume that the application attributes map appro-
2.0 and mobile application developers have embraced PaaS
priately to the cloud and that a cloud-based solution is cost
due to its flexibility and low-startup investment. Applica-
effective based on the formula derived in [2]. We take on
tions deployed on PaaS can also have the characteristic of
a project management role and look at resources available,
high and unpredictable usage spikes. The disadvantage for
resources that will become available, time to market, and
PaaS is that vendor lock-in becomes an issue with providers
legal and privacy policies. All these attributes can signif-
that have their own proprietary frameworks.
icantly alter the cloud deployment decisions and must be
looked at on a case by case basis. It is close to impossible to 2.1.3 SaaS Development Layer
find an ideal CC Architecture (CCA) and CCSPs, it must
be chosen pragmatically. We demonstrate this by breaking SaaS is considered the oldest CCS layer. There are some
down the CCA, outlining the Cloud Computing Visibility CCSPs that cross or merge the line between PaaS and SaaS,
(CCV) and CCSs, and later applying a decision process to a we therefore define SaaS as working in a specific domain;
fictional case. We hope the accumulated knowledge found in whereas PaaS is more flexible in these terms. When devel-
this research will equip software managers, developers, and oping on the SaaS layer either the software already exists
academic researchers with some guidelines to help choose an (i.e. Google Apps, Zoho Apps, SalesForce CRM) and we
adequate CC solution. build on to it using proprietary APIs, or there is a context
and a Domain Specific Language (DSL) for the application
being developed (i.e. Force.com, LongJump, Yahoo! Pipes).
2. CLOUD COMPUTING ARCHITECTURE Note that some providers fall under both cases. SaaS devel-
CCA can be broken down into its visibility and its de- opment tends to have fast deployment cycles but they are
velopment service layers. The following subsections explain tightly dependent on a provider and domain.
the advantages the CCS layers provide for the developer and
how they are typically used in different cloud visibility. We 2.2 Cloud Computing Visibility
start our discussion with the CCS layers to get a base un- CCV determines how system administrators, developers,
derstanding of what services are available and move on to and end-users access the CCS being provided. Figure 2
CCV to see how and where the layers are integrated in the shows the different CSV levels with the Conventional (non-
architecture. cloud) Infrastructure included for comparison sake. Each
level may contain the different CCS layers described in the
2.1 Cloud Computing Services previous sub-sections. The higher the CSV is placed on the
We cover the three main types of CCS: Infrastructure as a y-axis the more control, usage predictability, and stricter
Service (IaaS), Platform as a Service (PaaS), and Software company policies the CSV will have. The term ”System Con-
as a Service (SaaS). Figure 1 depicts the CCSs in a stack trol” is used to describe code portability, platform and data
of layers of abstraction for a developer, meaning that the structure flexibility, and system performance enhancement
higher the layer the more transparent its complexities are and monitoring capabilities. ”Predictable Usage” considers
involving less setup and maintenance work, but it also means the number of users, number of processes, and usage spikes.
the less control over the environment the developer has. We ”Policies” appraises legal policies and security for user or
discuss these services in terms of a developer’s and system company data privacy. The farther to the right the CCV is
administrator’s perspective as oppose to how an end-user located on the x-axis of the graph the more ”Resource in-
would experience it. vestment” will be involved in the start-up and production
costs such as: personnel with specific expertise, machine re-
2.1.1 IaaS Development Layer sources, property fees, and power consumption. Note that
Developers and administrators working on the IaaS layer the closer the CCV is to the intersection of both axis the
can create and manage server images, install any software more autonomous characteristics it will have.
and development platform in those images, and integrate
with different services offered by the same CCSP. The main 2.2.1 Public (Hosted) Clouds
differences among CCSPs are their pricing structures, cloud Public Cloud visibility is where all three CCS layers are
Figure 3: A simple flow chart of the decision making
process.

Figure 2: Cloud Computing Visibility Levels. managing a system with multiple provider implementations
very difficult. Different APIs would need to be learned and
if changes occurred the system needs to deal with it through
commonly used. Applications in this visibility may deploy re-factoring or costly re-implementations. Until a proper
their own services for other applications to consume or con- Cloud Interoperability standard has been set, new services
sume exist may continue to emerge offering such interoperability man-
ing services from external sources. This visibility also con- agement for a lofty price.
tains the most CCS products available due to its accessibility Much work is required to establish an open cloud inter-
atttributes. When deploying to the Public Cloud the appli- operability standard, which is currently being spearheaded
cation’s time to develop, resources or cost, and custom scope by Open Grid Forum [9]. To show how Hybrid Clouds can
will play a key role in deciding which CCSP and CCS layer provide scalability, a simple scenario can be drawn up where
to choose. appropriate tasks are pushed to the Public Cloud in order
to offset the over loaded Private Cloud. Another scenario
2.2.2 Private Cloud could make use of a Virtual Private Network when offered
The only difference between a Private and a Public Cloud by the Public Cloud provider to handle sensitive and mis-
is that its services are only offered within a private virtual sion critical data. If company policies allow for the data
network setting. A Private Cloud can be hosted by a CCSP to be hosted in such an environment then the Public Cloud
like AWS Virtual Private Connection (VPC) and Rackspace can basically mirror the Private Cloud functionalities. Oth-
Private Hosting or they can be located internally, in the erwise only appropriate or safe tasks can be pushed to the
same premise as the organization utilizing it, for reasons of Public Cloud, to offset the workload from the Private Cloud.
performance and legal policies.
An internal Private Cloud is deployed with recent tools 3. PROBLEM AND METHODOLOGY
such as Eucalyptus [5] an open source IaaS or Aneka [6] a The remaining of this paper will focus on answering the
.NET PaaS. Such tools grant the ability to harness the re- following question: Given the system’s attributes, usage
sources within a network in similar ways that commercial properties, business and management concerns, and data
IaaS and PaaS providers accomplish it. Eucalyptus was in- privacy policies how should a software team cope with the ar-
troduced for the academic research arena and it has been chitectural decisions of implementing a cloud solution? We
adopted by the industry to create their own internal pri- illustrate the main decision process in Figure 3, starting with
vate clouds. Aneka is similarly deployed as a PaaS but it the assumption that the application components discussed
is market oriented with its built-in pricing and accounting in this section map nicely with the cloud, so that focus is
features. only placed on the cloud-based solution.
Ideally a solution already exists in a Public Cloud as a
2.2.3 Hybrid Cloud service that can be re-used or built on to. If the Public
A Hybrid Cloud is much like an extended Private Cloud Cloud can be selected as an option, the next step is to dis-
into the public domain [7], although it can remain com- cuss what CCS layer of abstraction to use (IaaS, PaaS, or
pletely private. Hybrid Clouds are the most complex cloud SaaS). Once the service layer has been chosen a CCSP is
solutions due to data consistency concerns across the vir- decided on. Each provider has their own payment model,
tual resources, security protocols involved, and management services, management tools and APIs, and if they are not
complexity. Cloud management tools like RightScale, Joyent using another’s infrastructure then they are using their own
Cloud Control, and AWS VPC become very useful in main- server farms. Another decision to consider is how interoper-
taining all the types of clouds involved and their server im- ability between the chosen public providers can be done to
ages. However, these tools are not very affordable for small cut down on development and management costs.
to medium sized companies, the only current alternative is System usage and requirements pose a lot of constraints,
to manage it manually. As pointed out in the [8] paper, resulting in the need to control many aspects of the infras-
the lack of standards between Cloud Provider APIs makes tructure and choosing a service that is less autonomous.
The MRP system is the core or heartbeat of the company,
without it nothing is produced nor sold. An online presence
is not advantageous for its core functionality due to potential
issues with the host or local ISP network. This component
manages the ever growing manufacturing process, resource
logs, and inventory management in a redundant and efficient
manner. System users: Floor Production Managers, Opera-
tors, and Administrative Professionals in the same physical
location as the Internal Private Cloud. Requirements: High
availability, redundancy, and performance so that services
provided to the manufacturing plant are not disrupted and
the operation is not halted. Portable and modular code so
that new technologies or new machines can be easily ported
and changed. Single-tenant machine infrastructure for bet-
ter stability and performance. Potential cloud-based tools:
Eucalyptus IaaS, Aneka PaaS
Figure 4: Implementation of the Cloud System Ex- 4.2 Milestone 2: Parallel Computing of Re-
ample.
ports (Hybrid Cloud Solution)
Periodic reports tend to be resource hogs due to the sheer
There is a trade off as between satisfying a system’s require- amount of data it needs to process and the time it takes
ments versus how autonomous the system can be, with more to execute on a single machine. If reports are securely out-
autonomous leaning toward Public Clouds as pointed out in sourced to a Public IaaS provider via a secured network
the discussion for Figure 2 in Section 2.2. Hence, if the appli- connection it can be economically sound as pointed out in
cation is not suited for the Public Cloud then the next step the examples given by [2]. The hosted Private Cloud can
is to look at whether a Hybrid Cloud solution is feasible. create as many instances required to receive the compressed
One of the likely cases for this option is if mission critical or data and process the result in parallel. As long as upload-
sensitive data handling application modules can be deployed ing the data fits the economies of scale then it is a fitting
in the Private Cloud and other less sensitive modules can be solution. System users: Professional Administrators, Man-
deployed in Public Cloud. The other likely case is if a Pub- agers, Accountants in the same physical location as the In-
lic Cloud provider can work in parallel with and provide a ternal Private Cloud. Requirements: Secured dedicated line
secure virtual network to connect with the Private Cloud, if from hosted Private Cloud IaaS to internal Private Cloud
there are no strict policies on data handling. IaaS. Web services running on the hosted Private Cloud IaaS
Lastly, if the Hybrid Cloud option is not feasible the sys- to accept requests only from the internal Private Cloud’s
tem is deployed strictly in a Private Cloud. This is the IP. The encryption and decryption is an additional security
result of strict policies, reliability, performance, and acces- measure as it is unsure what type of security standards are
sibility requirements forcing the entire system and data to met on different cloud providers. The hybrid management
reside within the physical premise of the organization. The tool is optional but it is good to have in case complexity rises.
necessary personnel, machine, and networking resources will Potential cloud-based tools: Any Public IaaS provider with
need to be procured to support this solution. a hybrid management tool (i.e. AWS VPC, RightScale) as
an option.

4. A CLOUD APPLICATION EXAMPLE 4.3 Milestone 3: Website and CRM Integra-


We discuss three milestones for our fictional cloud-based tion (SaaS Integration)
solution, shown in Figure 4. Each milestone outlining the A sales website and Customer Relations Management (CRM)
need for a different CCV and/or CCS. The business case is tool implemented in a Public Cloud are a must for any
an up and coming toy manufacturer that needs to manage its team of sale representatives. The integration of these tools
inventory and forecast manufacturing resource needs based maps customers to potential or committed sales, maps sales
on sales and marketing campaigns. This application is dis- to manufacturing demands, and maps sales to an invoic-
cussed as an example of how we can develop a cloud solution ing and financial systems (not included in this example).
that can take advantage of the CCVs discussed in Section Web services need to be implemented on the Internal Pri-
2.2, while maintaining the flexibility for future requirements vate Cloud to allow sales order creations, inventory checks,
and new technology integrations. The general system spec- and any other needs that may arise in the future. System
ification starts off with a Manufacturing Resource Planning users: Sales representatives, Project Managers, Professional
(MRP) software that feeds data to a data storage service Administrators, Accountants, and Operations Managers ac-
within an internal Private Cloud. The second milestone il- cessing the system from the Public Cloud. Requirements:
lustrates how a Hybrid Cloud solution can deal with intense Sale representatives need constant online access to a system
processing needs of generating reports. The last milestone with permissive policies, quick time-to market deployments,
discusses the sales and CRM modules implemented in a Pub- and unpredictable usage spikes in order to reach as many
lic Cloud. Web users as possible. Potential cloud-based tools: Website
and CRM deployments are very popular and are offered in
4.1 Milestone 1: MRP System (Private Cloud many different flavors by many SaaS and PaaS providers.
Solution) Off the shelf solution by SaaS providers like SalesForce.com,
Zoho, or HighRise. Web frameworks by PaaS providers En- According to [13] everyday things like travel checks and su-
gine Yard, Google App Engine, or Engine Yard. permarket runs are in demand, this type of mobile usage
has a really large market and considerable growth potential
being such common tasks.
5. CLOUD COMPUTING IMPLEMENTATION Emerging platforms and languages that are more cloud-
CONSIDERATIONS friendly can have a great impact on how developers adopt
Cloud-based applications should be built to maximize the the cloud. The rise of server-side JavaScript may play a
current and future potential of the cloud. A detailed discus- significant role in the future of cloud-based platforms, since
sion on the cloud architecture implementation is not covered JavaScript is a language familiar to all Web developers re-
in the above example, but it is important to mention a few gardless of what server-side languages they use. Joyent’s
considerations: code portability and modularity, scalability, Smart Platform, currently in Beta, is one such contender
data security, availability, and legal policies. that provides developers a JavaScript framework to build
A cloud solution with portable and modular code will ease APIs and databases without the need to do any server-side
the replacement of modules with newer technologies and configuration. Smart Platform is a server-side JavaScript
the migrating of the system from one provider to another. PaaS, which means any Web developer with no server-side
Portability provides the flexibility to migrate software com- programming and maintenance experience can now create
ponents or the entire software from one provider to another. full blown Web applications with portable code. Domain
Modularization helps to clearly define the boundaries of the specific languages like SalesForce’s Apex and Yahoo! Pipes
system’s functionalities, easing the process of software mod- are slowly emerging in the cloud domain. A good question
ifications. Cloud architectures are horizontally scalable in for a future study would be how DSL can impact CC not
nature. Parallel computing and RESTful [10] models are only as a development tool but as a cloud management tool.
also horizontally scalable in nature making them good can-
didates for cloud-based solutions. These options provide the 7. CONCLUSION
means for an extremely scalable system, especially useful in The CC arena is in its infancy with a large area for im-
the case of Public Cloud services with unpredictable usage provement and growth. This research paper provides a prag-
spikes. matic look at how a cloud-based application is deployed, out-
Data security can be properly deployed on public clouds lining key considerations to accommodate current attributes
via two-way encryption, single-tenant hardware, and secured and future enhancements of CC. Our discussion points re-
private networks. What is of more significance than secu- volving the CCV and CCS help provide a clear decision path
rity in public clouds is the availability and legal policies in for the abundance of options decision makers are faced with.
regarding data storage and handling. When these concerns The decision process also involves much discussion by the
become issues they lead to legal consequences, production software team because of its inter-disciplinary nature.
halting, and financial lost. For these reasons we look at We can derive from our discussions and graphs that cloud
these attributes when choosing between the CCV levels. applications handling mission-critical data tend to use a
more complex architecture involving Hybrid and/or Private
6. FUTURE CLOUD DEPLOYMENT CON- Clouds. We can also state that applications requiring online
availability and standard functionalities are prone to be de-
SIDERATIONS veloped on a Public Cloud PaaS or SaaS to lower start-up
Cloud-based applications like the example give in this pa- and maintenance costs. The common implementation rec-
per need to consider many changes that will still emerge in ommendations among all cloud applications are code porta-
the CC arena. One way or another the application’s main- bility and modularity to ease future changes, due to the un-
tenance and costs will be impacted by CCS interoperability, formed state of the art. Application deployment decisions
better cloud management tools, upgraded telecommunica- will be cut down as cloud interoperability and new technolo-
tion infrastructures, upcoming thin and mobile client capa- gies emerge.
bilities, and more sophisticated PaaS for higher level devel-
opment. We outline these factors below. 8. REFERENCES
The rise of CCS interoperability will bring more econom-
ical and flexible cloud management tools. The [8] study [1] Wikipedia. Cloud computing.
points to cloud standardization initiatives by the Distributed ”http://en.wikipedia.org/wiki/Cloud Computing”,
Management Task Force’s Open Cloud Standards Incubator December 2009.
[11], Open Cloud Computing Interface Working Group [12], [2] Michael Armbrust, Armando Fox, Rean Griffith,
and Cloud Data Management Interface [9]. This initiative Anthony D. Joseph, Randy Katz, Andy Konwinski,
will bring capabilities like cloning services across multiple Gunho Lee, David Patterson, Ariel Rabkin, Ion
CCSPs and geographical locations that are autonomously Stoica, and Matei Zaharia. Above the clouds: A
routed to the client based on context awareness. berkeley view of cloud computing. Technical report,
Telecommunication infrastructure upgrades will push the UC Berkeley Reliable Adaptive Distributed Systems
demand for real-time platforms and services that require Laboratory, February 2009.
higher bandwidth such as video and audio. As more people [3] Amazon web services. ”http://aws.amazon.com/”, Jan
sign up for mobile internet we will begin to see more appli- 2010.
cations that can make use of cloud architectures with real [4] Darryl Chantry. Mapping applications to the cloud.
time data. CCS consumption by mobile clients is on the Technical report, The Architecture Journal, 2009.
rise with Palm’s WebOS and Rhomobile’s Rhosync making [5] Daniel Nurmi, Rich Wolski, Chris Grzegorczyk,
use of cloud-based synchronization schemes among others. Graziano Obertelli, Sunil Soman, Lamia Youseff, and
Dmitrii Zagorodnov. The eucalyptus open-source
cloud-computing system. In 9th IEEE/ACM Intl
Symposium on Cluster Computing and the Grid, 2009.
[6] Christian Vecchiola, Xingchen Chu, and Rajkumar
Buyya. Aneka: A software platform for .net-based
cloud computing. Technical Report
GRIDS-TR-2009-4, University of Melbourne,
Australia, May 2009.
[7] James Staten. How to build a hybrid cloud computing
strategy.
”http://www.cio.com/article/493492/How to Build a Hybrid Cloud Computing Strategy”,
May 2009.
[8] Guilherme Sperb Machado, David Hausheer, and
Burkhard Stiller. Considerations on the
interoperability of and between cloud computing
standards. Communication Systems Group CSG,
Department of Informatics IFI, University of Zürich,
2009.
[9] OGF. Open grid forum. ”http://www.ogf.org/”, 1
2010.
[10] Roberto Lucchi, Michel Millot, and Christian Elfers.
Resource oriented architecture and rest. Technical
report, European Commission Joint Research Centre
Institute for Environment and Sustainability, con
terra, 2008.
[11] DMTF. Open cloud standards incubator.
”http://www.dmtf.org/about/cloud-incubator”,
February 2010.
[12] OGF. Open cloud computing interface.
”http://www.occi-wg.org/”, 1 2010.
[13] Essential. Branded services will make smartphones.
“http://www.essentialresearch.co.uk/blog/2010/01/branded-
services-will-make-smart-phones/”, February
2010.

Das könnte Ihnen auch gefallen