seminar report - managing the cloud with open source tools
TRANSCRIPT
Managing the Cloud with Open
Source Tools
A seminar reportsubmitted in partial fulfilment of
the requirements for the award of the degree of
Bachelor of Technologyin
Computer Science and Engineering(University of Calicut)
byNakul E Sibiraj
Department of Computer Science & Engineering
MES College of Engineering, Kuttippuram(ISO 9001-2000 Certified Institution, Affiliated to University of Calicut)
Thrikkanapuram PO, Malappuram Dt, Kerala - 6795732011-12
Certificate
This is to certify that the seminar report entitled “Managing the cloud with
open source tools” is a bonafide record of the work done by Nakul E Sibiraj
(Roll no: 08103138) under our supervision and guidance. The report has been sub-
mitted to the Department of Computer Science and Engineering of MES
College of Engineering in partial fulfilment of the award of the degree of Bach-
elor of Technology in Computer Science and Engineering.
Dr. Abdul Haleem P.PProfessor and HeadDept.of Computer Science and EngineeringMES College of Engineering
Ms. Binu JohnSeminar GuideAssistant ProfessorDept.of Computer Science and EngineeringMES College of Engineering
iii
Abstract
Cloud computing is a promising paradigm designed to harness the power of
networks of computers and communications in a more cost effective way. Clouds
provide elastic capacity to serve a wide and constantly expanding range of infor-
mation processing needs, including government, military, business and education.
The cloud computing paradigm is maturing rapidly and is being considered for
adoption in government and business platforms. Open source systems refer to
software systems whose source code is available, allowing for immediate incorpo-
ration of improvements and adaptations of the system by its users. This paper
reports on an evaluation of open source management tools for cloud computing.
Cloud computing is not a magical solution, planning and management of resources
and the cloud in itself is pivotal. In this report, we compare and evaluate a number
of open source tools used in the industry to manage and automate the cloud. We
evaluate provisioning tools, orchestration tools, configuration tools and monitoring
tools.
iv
Acknowledgements
I take this opportunity to convey my deep and sincere thanks to our
Principal, Dr. V. H. Abdul Salam and Head of the Department, Dr. Abdul
Haleem P.P, for providing all facilities for my seminar presentation.
I express my heartiest thanks to my guide, Ms. Binu John, Asst. Professor,
dept. of CSE for her timely guidance and help.
I also extend my deep gratitude to my seminar coordinators Mr. Arun
Anoop M, Asst Prof, dept. of CSE, Mr. Aneesh M Haneef, Asst Prof, dept. of
CSE and Ms. Jabin A, Asst. Prof, dept. of CSE for their valuable help and
support in presenting the seminar.
I express my sincere gratitude to all the staff of Computer Science and
Engineering Department and my beloved family members who helped me with
their timely suggestions and support.
I also express my sincere thanks to all my friends who helped me through-
out the successful completion of the work.
Nakul E Sibiraj
v
Contents
Chapter
1 Introduction 1
2 What is Cloud Computing? 2
2.1 Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Deployment Models . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Open Source Philosophy and Impact 7
3.1 What is Open Source? . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Why Open Source? . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4 Open Source and Cloud Computing 9
4.1 State of Open Source Adoption in Cloud Computing . . . . . . . . 10
5 Open Source Cloud Management Tools 12
5.1 Importance of Cloud Management Tools . . . . . . . . . . . . . . . 12
5.2 Cloud Management Disciplines . . . . . . . . . . . . . . . . . . . . 13
5.2.1 Provisioning Tools . . . . . . . . . . . . . . . . . . . . . . . 13
5.2.2 Configuration Management Tools . . . . . . . . . . . . . . . 15
5.2.3 Automation/Orchestration Tools . . . . . . . . . . . . . . . 16
5.2.4 Monitoring Tools . . . . . . . . . . . . . . . . . . . . . . . . 18
vi
6 Conclusions 20
Bibliography 21
vii
Tables
Table
5.1 Comparison of Provisioning Tools . . . . . . . . . . . . . . . . . . . 13
5.2 Comparison of Configuration Tools . . . . . . . . . . . . . . . . . . 15
5.3 Comparison of Automation Tools . . . . . . . . . . . . . . . . . . . 17
5.4 Comparison of Monitoring Tools . . . . . . . . . . . . . . . . . . . . 18
viii
Figures
Figure
2.1 Cloud Computing Layers . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Cloud Computing Deployment Models . . . . . . . . . . . . . . . . 6
Chapter 1
Introduction
Cloud computing is the delivery of computing as a service rather than a prod-
uct, whereby shared resources, software, and information are provided to comput-
ers and other devices as a utility (like the electricity grid) over a network (typically
the Internet).
Cloud computing is an emerging computing technology that is rapidly con-
solidating itself as the next big step in the development and deployment of an
increasing number of distributed applications.
Open source refers to any software system whose source code is made avail-
able for use or modification by third-party developers. Thus, unlike centralized,
proprietary software development models, open source offers practical accessibility
to the source code, allowing for immediate and concurrent incorporation of dif-
ferent approaches, and eventually, the branching of the system into customized
variants.
Merging these two trends leads to a new breed of tools: Open source cloud
computing tools (OSCCT). These tools provide a free, customizable infrastructure
to deploy clouds for any type of application domain.
Cloud computing is not a management solution, it has to be managed well to
yield success. We take a look at the various open source tools available to manage
the cloud in the various management disciplines of the cloud.
Chapter 2
What is Cloud Computing?
Cloud computing is a marketing term for technologies that provide compu-
tation, software, data access, and storage services that do not require end-user
knowledge of the physical location and configuration of the system that delivers
the services. A parallel to this concept can be drawn with the electricity grid,
wherein end-users consume power without needing to understand the component
devices or infrastructure required to provide the service.
Cloud computing describes a new supplement, consumption, and delivery
model for IT services based on Internet protocols, and it typically involves provi-
sioning of dynamically scalable and often virtualised resources. It is a by-product
and consequence of the ease-of-access to remote computing sites provided by the
Internet. This may take the form of web-based tools or applications that users can
access and use through a web browser as if the programs were installed locally on
their own computers.
Cloud computing providers deliver applications via the internet, which are
accessed from web browsers and desktop and mobile apps, while the business soft-
ware and data are stored on servers at a remote location.
Cloud computing is built upon the broader concept of infrastructure conver-
gence (or converged infrastructure) and shared services. This type of data center
environment allows enterprises to get their applications up and running faster,
with easier manageability and less maintenance, and enables IT to more rapidly
3
adjust IT resources (such as servers, storage, and networking) to meet fluctuating
and unpredictable business demand.
Most cloud computing infrastructures consist of services delivered through
shared data-centers and appearing as a single point of access for consumer’s com-
puting needs. Commercial offerings may be required to meet service-level agree-
ments (SLAs), but specific terms are less often negotiated by smaller companies.
2.1 Characteristics
Here are some of the characteristics of cloud computing that urges businesses
and enterprises to adopt cloud computing.
• Application Programming Interface (API) provides accessibility to
software the same way the user interface facilitates interaction between
humans and computers.
• Cost is claimed to be reduced and in a public cloud delivery model, capital
expenditure is converted to operational expenditure. This is purported to
lower barriers to entry, as infrastructure is typically provided by a third-
party and does not need to be purchased for one-time or infrequent inten-
sive computing tasks. Pricing on a utility computing basis is fine-grained
with usage-based options and fewer IT skills are required for implementa-
tion.
• Device and location independence enable users to access systems us-
ing a web browser regardless of their location or what device they are using
(e.g., PC, mobile phone). As infrastructure is off-site (typically provided
by a third-party) and accessed via the Internet, users can connect from
anywhere.
4
• Multi-tenancy enables sharing of resources and costs across a large pool
of users thus allowing for:
∗ Centralisation of infrastructure in locations with lower costs (such
as real estate, electricity, etc.)
∗ Peak-load capacity increases (users need not engineer for highest
possible load-levels)
∗ Utilisation and efficiency improvements for systems that are often
only 10 to 20% utilised.
• Reliability is improved if multiple redundant sites are used, which makes
well-designed cloud computing suitable for business continuity and disaster
recovery.
• Scalability and Elasticity via dynamic (”on-demand”) provisioning of
resources on a fine-grained, self-service basis near real-time, without users
having to engineer for peak loads.
• Maintenance of cloud computing applications is easier, because they do
not need to be installed on each user’s computer.
2.2 Layers
Once an internet protocol connection is established among several computers,
it is possible to share services within any one of the following layers.
5
Figure 2.1: Cloud Computing Layers
Client: A cloud client consists of computer hardware and/or computer soft-
ware that relies on cloud computing for application delivery and that is in essence
useless without it. Examples include some computers, phones and other devices,
operating systems, and browsers.
Application: Cloud application services or ”Software as a Service (SaaS)”
deliver software as a service over the Internet, eliminating the need to install and
run the application on the customer’s own computers and simplifying maintenance
and support.
Platform: Cloud platform services, also known as platform as a service
(PaaS), deliver a computing platform and/or solution stack as a service, often
consuming cloud infrastructure and sustaining cloud applications. It facilitates
deployment of applications without the cost and complexity of buying and man-
aging the underlying hardware and software layers.
Infrastructure: Cloud infrastructure services, also known as ”infrastruc-
ture as a service” (IaaS), deliver computer infrastructure typically a platform
virtualisation environment as a service, along with raw (block) storage and net-
working. Rather than purchasing servers, software, data-center space or network
equipment, clients instead buy those resources as a fully outsourced service.
Server: The servers layer consists of computer hardware and/or computer
software products that are specifically designed for the delivery of cloud services,
including multi-core processors, cloud-specific operating systems and combined
6
offerings.
2.3 Deployment Models
Figure 2.2: Cloud Computing Deployment Models
Public cloud is one based on the standard cloud computing model, in which
a service provider makes resources, such as applications and storage, available to
the general public over the Internet. Public cloud services may be free or offered
on a pay-per-usage model.
Private cloud is infrastructure operated solely for a single organization,
whether managed internally or by a third-party and hosted internally or exter-
nally. They have attracted criticism because users ”still have to buy, build, and
manage them” and thus do not benefit from lower up-front capital costs and less
hands-on management, essentially ”[lacking] the economic model that makes cloud
computing such an intriguing concept”
Hybrid cloud is a composition of two or more clouds (private, community,
or public) that remain unique entities but are bound together, offering the benefits
of multiple deployment models. It can also be defined as multiple cloud systems
that are connected in a way that allows programs and data to be moved easily
from one deployment system to another.
Chapter 3
Open Source Philosophy and Impact
3.1 What is Open Source?
Open source software is usually developed as a public collaboration and is of-
ten made freely available. Open source is indeed a certification mark owned by the
open source initiative (OSI). It is a software that is intended to be freely shared,
modified, and redistributed by others who may use the open source trademark,
provided that the distribution terms conform to the OSI’s open source definition.
The main elements in this definition are:
(1) The software must be redistributed without restriction.
(2) The source code must be made available.
(3) The license can require improved versions of the software to carry a differ-
ent name or version from the original software.
3.2 Why Open Source?
Here is a list of some of the aspects of open source that may represent a
competitive advantage in the software market especially cloud computing.
• The continuous and broad peer-review enabled by publicly available source
code supports software reliability and security efforts through the identifi-
8
cation and elimination of defects that might otherwise go unrecognized by
a more limited core development team.
• The unrestricted ability to modify software source code enables the de-
partment to respond more rapidly to changing situations, missions, and
future threats.
• Reliance on a particular software developer or vendor due to proprietary
restrictions may be reduced by the use of OSS, which can be operated and
maintained by multiple vendors, thus reducing barriers to entry and exit.
• Since OSS typically does not have a per-seat licensing cost, it can provide
a cost advantage in situations where many copies of the software may be
required, and can mitigate risk of cost growth due to licensing in situations
where the total number of users may not be known in advance.
Chapter 4
Open Source and Cloud Computing
Open source software (OSS) is a common thread permeating cloud comput-
ing. It is being used to build the cloud (such as the Linux foundation for Google,
salesforce.com and Amazon cloud services); it is being built on top of cloud services
(for example, Eucalyptus); and proprietary software used to deliver cloud services
is increasingly being moved into open source (including Facebook open platform
and Hadoop).
The relationship that is being forged between OSS and cloud computing is
not a matter of coincidence; it is a matter of symbiosis. Massive data centers built
on low-cost commodity hardware and virtualized operating environments provide
the technical foundations for global class cloud-based services.
Cloud computing and open source share a common connection when a layer
of software can be abstracted, they both act as agents to fundamentally alter tra-
ditional economic assumptions. Cloud computing does this through lower service
costs, greater resource sharing, greater economies of scale, greater levels of archi-
tectural standardization and process optimization, and the ability to modify the
usage of those resources much more quickly than with traditional software. Open-
source software does this by eliminating the ability of any one provider to exploit
the terms and conditions of an end user license agreement linked to proprietary
code - a problem that increases, the more ubiquitous a product becomes.
In this way, cloud computing and open-source software are synergistically
10
bound in a virtuous circle. Cloud computing directly benefits from greater use of
OSS, because it eliminates critical dependencies that can impact service delivery.
And the more that cloud computing utilizes OSS, the more mature and diverse
the open-source stack will become. The more mature and diverse the stack, the
more cloud can expand.
Another important dynamic of open source software is that it is conducive
to service-based business models - a function of the fact that it is very difficult
to commercialize code with a fluid ownership structure. Therefore, unlike soft-
ware governed under an end user license agreement, open-source software enables
cloud providers to tie component Service-Level Agreements (SLAs) to their own
customer-facing SLAs, which allows for risk distribution.
4.1 State of Open Source Adoption in Cloud Computing
Open source adoption in the cloud computing environment though has not
reached the expected heights, is still highly relevant. It is observed that the adop-
tion of OSS varies with the specializations and layers of cloud computing.
In the software as a service layer, open source has put up a disappointing
performance. It was estimated every year that the next year SAAS will see more
open source vendors. But, all of the major SAAS vendors such as google use closed
source software. The more frustrating aspect to the open source community is that
most of these services run on open source platforms such as LAMP.
Things are a little better in the platform as a service layer with a lot more
involvement from the open source community and industry with services such as
AppScale and RedHat’s OpenShift project.
The layer in which you see maximum involvement from the open source
industry is the infrastructure as a service layer. The leader in the public IAAS
is Amazon’s EC2 which is not open source, but it is in close competition with
11
Rackspace’s open source project CloudStack.
And in the on-premise or private IAAS, we see total domination by open
source technologies with Eucalyptus leading and other open source vendors such
as Redhat, OpenNebula and Rackspace trailing close by.
Chapter 5
Open Source Cloud Management Tools
Now that we have made a case for both cloud computing and open source
we will list and evaluate the various disciplines, leading tools from each discipline
and after understanding the importance of rightful management and automation
of the cloud.
5.1 Importance of Cloud Management Tools
This is where life in the cloud can get very complicated. Its simple enough
to describe how to use some kind of cloud computing service, but you also have to
integrate it into the IT operations of the organization, and that isnt necessarily a
simple thing to do.
For example, because a cloud requires a self-service capability, it must be
designed to manage not just provisioning customer requests but also issues such
as workload management, security, metering, monitoring, and billing services.
Many managers understand that for cloud services to be safe and effective,
they must measure and monitor performance.
In fact, performance monitoring will become increasingly important as com-
panies rely more on third-party services. And, from all indications, a typical
company may use more than one cloud services provider. For example, a company
may use one cloud provider for a platform such as collaboration and a completely
different provider for compute services. They may use another provider for storage.
13
Using tools to automate these various tasks are important. Having to per-
form these tasks manually is a tedious task and takes away from the cloud char-
acteristics of speed, cost-efficiency and convenience.
5.2 Cloud Management Disciplines
Cloud management is primarily classified into four disciplines:-
(1) Provisioning
(2) Configuration Management
(3) Automation/Orchestration
(4) Monitoring
5.2.1 Provisioning Tools
In terms of networking, provisioning is the process of preparing and equip-
ping a network to allow it to provide (new) services to its users. In the cloud,
provisioning tools are mostly used for the installation of operating systems and
other software.
Language License TargetsCobbler Python GPL RedHat, OpenSUSE, Fedora,
Debian, UbuntuFAI Perl GPL DebianKickstart Python GPL Most Debian & Red Hat based
distrosViper Perl GPL Debian
Table 5.1: Comparison of Provisioning Tools
Let us take a deeper look at some of the leading open source provisioning
tools in detail:-
14
• Cobbler is a linux provisioning server that centralizes and simplifies con-
trol of services including DHCP, TFTP, and DNS for the purpose of per-
forming network-based operating system installations. It can be config-
ured for PXE, reinstallations, and virtualized guests using Xen, KVM or
VMware. Cobbler interacts with the koan program for re-installation and
virtualization support. koan and cobbler use libvirt to integrate with dif-
ferent virtualization software.
Cobbler builds on the kickstart mechanism and offers installation profiles
that can be applied to one or many machines. It also features integration
with yum to aid in machine installs.
Although cobbler primarily targets RPM-based installs via kickstart and
anaconda, it can be used to configure a PXE server to boot various non-
RPM boot images such as knoppix and other flavors of debian.
• FAI is a non-interactive system to install, customize and manage linux sys-
tems and software configurations on computers as well as virtual machines
and chroot environments, from small networks to large-scale infrastruc-
tures and clusters.
It’s a tool for unattended mass deployment of linux. You can take one or
more virgin PC’s, turn on the power, and after a few minutes, the systems
are installed, and completely configured to your exact needs, without any
interaction necessary.
• Kickstart installation method is used primarily (but not exclusively) by
the Red Hat Enterprise Linux operating system to automatically perform
unattended operating system installation and configuration. Redhat pub-
lishes cobbler as a tool to automate the kickstart configuration process.
• Viper is a provisioning tool released under the GPLv3 license and can
15
be used to install debian and some debian derived distributions. Viper is
coded entirely in perl.
5.2.2 Configuration Management Tools
Configuration management (CM) is a field of management that focuses on
establishing and maintaining consistency of a system or product’s performance and
its functional and physical attributes with its requirements, design, and operational
information throughout its life.
In the cloud, it is used mostly to set parameters for servers and start/stop
various services.
Year Started Language Licensebcfg2 2003 Python BSDCfengine 1993 C ApacheChef 2009 Ruby ApachePuppet 2004 Ruby GPL
Table 5.2: Comparison of Configuration Tools
Let us take a deeper look at some of the leading open source configuration
management tools used in the cloud.
• Bcfg2 is a configuration management tool developed in the mathematics
and computer science division of Argonne National Laboratory. Bcfg2 aids
in the infrastructure management lifecycle conguration analysis, service
deployment, and conguration auditing. It includes tools for visualizing
conguration information, as well as reporting tools that help administrators
understand conguration patterns in their environments.
• Cfengine is a popular open source configuration management system,
written by Mark Burgess. Its primary function is to provide automated
configuration and maintenance of large-scale computer systems, including
16
the unified management of servers, desktops, embedded networked devices,
mobile smartphones, and tablet computers.
• Chef is a configuration management tool written in ruby. It uses a pure-
ruby, domain-specific language (DSL) for writing system configuration ”re-
cipies”. Chef was written by opscode and is released as open source under
the Apache license 2.0.
• Puppet is a tool designed to manage the configuration of UNIX-like and
Microsoft Windows systems declaratively. The user describes system re-
sources and their state, either using puppet or ruby DSL (domain-specific
language). This information is stored in files called ”Puppet manifests”.
Puppet discovers the system information via a utility called facter, and
compiles the Puppet manifests into a system-specific catalog containing
resources and resource dependency, which are applied against the target
systems and any actions taken to remediate the system to the desired state
will be reported.
5.2.3 Automation/Orchestration Tools
Orchestration describes the automated arrangement, coordination, and man-
agement of complex computer systems, middleware, and services. It is basically
used in the cloud to automate tasks across systems.
Cloud service orchestration is the:-
• Composing of architecture, tools and processes by humans to deliver a
defined service
• Stitching of software and hardware components together to deliver a de-
fined service
17
• Connecting and automating of work flows when applicable to deliver a
defined service
Language License Support OrganizationAutomateIT Ruby GPL NoneCapistrano Ruby MIT NoneControl Tier Java Apache DTO SolutionsFunc Python GPL Fedora ProjectRunDeck Java Apache DTO Solutions
Table 5.3: Comparison of Automation Tools
Let us take a deeper look at some of the leading open source configuration
management tools used in the cloud.
• AutomateIT is an open source tool for automating the setup and main-
tenance of servers, applications and their dependencies. It provides a sur-
prisingly simple, yet powerful, way to manage files, packages, services,
networks, accounts, roles, templates and more.
• Capistrano is an open source tool for running scripts on multiple servers;
its main use is deploying web applications. It automates the process of
making a new version of an application available on one or more web
servers, including supporting tasks such as changing databases.
• Control Tier is an open source, cross-platform build and deployment
automation framework. ControlTier can help you to coordinate and scale
service management and administration activities across multiple nodes
and application tiers.
• Func is a two-way authenticated system developed under the Fedora project.
You can build your own applications on top of it, and easily expand func
by adding in additional modules, whether you want these to work through
the func command line or by means of some other application.
18
• RunDeck is cross-platform open source software that helps you automate
ad-hoc and routine procedures in data center or cloud environments. Run-
Deck allows you to run tasks on any number of nodes from a web-based or
command-line interface. RunDeck also includes other features that make
it easy to scale up your scripting efforts including: access control, work-
flow building, scheduling, logging, and integration with external sources
for node and option data.
5.2.4 Monitoring Tools
In terms of networking, monitoring describes the use of a system that con-
stantly monitors a computer network for slow or failing components and that
notifies the network administrator (via email, pager or other alarms) in case of
outages.
Monitoring tools are used in the cloud to record errors and health of the IT
infrastructure.
License Language Type of Monitoring Collection MethodsCacti GPL PHP Performance SNMP, syslogNagios GPL C/PHP Availability SNMP, TCP, ICMP,
IPMI, syslogZabbix GPL C/PHP Availability, Performance SNMP, TCP/ICMP/
IPMI, Synthetic Trans-actions
Zenoss GPL Python Availability, Performance,Event Management
SNMP, ICMP, SSH, sys-log, WMI
Table 5.4: Comparison of Monitoring Tools
Let us take a deeper look at some of the leading open source configuration
management tools used in the cloud.
• Cacti is an open source, web-based graphing tool designed as a frontend
19
to RRDtool’s data storage and graphing functionality. Cacti allows a user
to poll services at predetermined intervals and graph the resulting data. It
is generally used to graph time-series data of metrics such as CPU load and
network bandwidth utilization. A common usage is to monitor network
traffic by polling a network switch or router interface via SNMP.
• Nagios is a popular open source computer system and network monitoring
software application. It watches hosts and services, alerting users when
things go wrong and again when they get better.
• Zabbix is designed to monitor and track the status of various network
services, servers, and other network hardware.
• Zenoss is an open source application, server and network management
platform based on the Zope application server. Released under the GNU
General Public License (GPL) version 2, Zenoss Core provides a web in-
terface that allows system administrators to monitor availability, inven-
tory/configuration, performance and events.
Chapter 6
Conclusions
The leading technical research agency Gartner reports that by 2015, 20% of
the information technology based organizations would have completely adopted a
cloud computing solution, and 98% of enterprises use open source tools to manage
the cloud. Cloud computing and open source presents numerous opportunities to
each other.
Cloud computing is a promising paradigm designed to harness the power of
networks of computers and communications in a more cost effective way. We have
seen how the cloud computing hype is a reality and about the symbiosis between
open source and cloud computing. We also evaluated the top management tools
used in the cloud clearly establishing the open source dominance in that field.
Open source software for the most part of their existence has been disrupters,
be it the field of operating systems, databases or basic desktop and web program-
ming. But, cloud computing provides the open source industry to be an innovator
of the new rather than a disrupter of the old.
Bibliography
[1] Manuel Rodriguez-Martinez, Jaime Seguel, ”Open Source Cloud ComputingTools: A Case Study”, IEEE Paper
[2] Judith Hurwitz, Robin Bloor, Marcia Kaufman, and Dr. Fern Halper, ”CloudComputing for Dummies”
[3] Mark R. Hinkle, ”Crash Course in Open Source Cloud Computing” in Proc.Infosec, 2011
[4] Mark R. Hinkle, ”Build your Cloud: Simple, Cost Effective, Open Source” inProc. OSCON 2011
[5] Marten Mickos, ”Open Source and Cloud Computing: A Natural Fit or MortalEnemies?” in Proc. OSCON 2010
[6] Mark R. Hinkle, ”Open Source Tool Chains”, in Proc. OSCON 2010
[7] Simon Wardley, ”Cloud Computing: Why it Matters?” in Proc. OSCON 2009
[8] Wikipedia.org
[9] HowStuffWorks.com