seminar report - managing the cloud with open source tools

29
Managing the Cloud with Open Source Tools A seminar report submitted in partial fulfilment of the requirements for the award of the degree of Bachelor of Technology in Computer Science and Engineering (University of Calicut) by Nakul 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 - 679573 2011-12

Upload: nakul-ezhuthupally

Post on 11-May-2015

2.129 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Seminar Report - Managing the Cloud with Open Source Tools

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

Page 2: Seminar Report - Managing the Cloud with Open Source Tools

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

Page 3: Seminar Report - Managing the Cloud with Open Source Tools

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.

Page 4: Seminar Report - Managing the Cloud with Open Source 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

Page 5: Seminar Report - Managing the Cloud with Open Source Tools

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

Page 6: Seminar Report - Managing the Cloud with Open Source Tools

vi

6 Conclusions 20

Bibliography 21

Page 7: Seminar Report - Managing the Cloud with Open Source Tools

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

Page 8: Seminar Report - Managing the Cloud with Open Source Tools

viii

Figures

Figure

2.1 Cloud Computing Layers . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Cloud Computing Deployment Models . . . . . . . . . . . . . . . . 6

Page 9: Seminar Report - Managing the Cloud with Open Source Tools

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.

Page 10: Seminar Report - Managing the Cloud with Open Source Tools

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

Page 11: Seminar Report - Managing the Cloud with Open Source Tools

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.

Page 12: Seminar Report - Managing the Cloud with Open Source Tools

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.

Page 13: Seminar Report - Managing the Cloud with Open Source Tools

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

Page 14: Seminar Report - Managing the Cloud with Open Source Tools

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.

Page 15: Seminar Report - Managing the Cloud with Open Source Tools

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-

Page 16: Seminar Report - Managing the Cloud with Open Source Tools

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.

Page 17: Seminar Report - Managing the Cloud with Open Source Tools

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

Page 18: Seminar Report - Managing the Cloud with Open Source Tools

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

Page 19: Seminar Report - Managing the Cloud with Open Source Tools

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.

Page 20: Seminar Report - Managing the Cloud with Open Source Tools

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.

Page 21: Seminar Report - Managing the Cloud with Open Source Tools

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:-

Page 22: Seminar Report - Managing the Cloud with Open Source Tools

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

Page 23: Seminar Report - Managing the Cloud with Open Source Tools

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

Page 24: Seminar Report - Managing the Cloud with Open Source Tools

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

Page 25: Seminar Report - Managing the Cloud with Open Source Tools

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.

Page 26: Seminar Report - Managing the Cloud with Open Source Tools

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

Page 27: Seminar Report - Managing the Cloud with Open Source Tools

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.

Page 28: Seminar Report - Managing the Cloud with Open Source Tools

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.

Page 29: Seminar Report - Managing the Cloud with Open Source Tools

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