Where Open Source Software Is Used 87
2. After working independently for several years, the WebWork and Struts
communities joined forces to create Struts 2. The 2.x framework is the best
choice for teams that value elegant solutions to difficult problems.
Web applications differ from conventional web sites in that web appli-
cations can create a dynamic response. Many web sites deliver only static
pages. A web application can interact with databases and business logic
engines to customize a response. Web applications based on JavaServer
Pages sometimes commingle database code, page design code, and control
flow code. In practice, unless these concerns are separated, larger applica-
tions may become difficult to maintain. One way to separate concerns in a
software application is to use a Model-View-Controller architecture, as
described previously. The Struts framework is designed to help developers
create web applications that utilize a MVC architecture. The Struts frame-
work provides three key components:
1. A request handler that is mapped to a standard URI.
19
2. A response handler that transfers control to another resource to
complete the response.
3. A tag library that helps developers create interactive form-based
applications with server pages.
The Struts frameworks architecture and tags are compliant with most
common applicable standards. Struts works well with conventional REST
20
applications and with newer technologies such as SOAP (Simple Object
Access Protocol) and AJAX.
3.8.4 Systems and Network Management Tier
Open source software has developed strong roots in the cloud community.
Much of the cloud operates in a mission-critical space, so there is often
great trepidation about whether investment in a commercial application
may be a better option. However, many developers have come to realize
that the “sweet spot” for open source is actually that mission-critical space.
Given the high reliability and maturity of many of the better-known open
19. A Uniform Resource Identifier (URI) is a string of characters used to identify or name a
resource on the Internet.
20. REpresentational State Transfer (REST) is a style of software architecture for distributed
hypermedia systems such as the World Wide Web.
Chap3.fm Page 87 Friday, May 22, 2009 11:25 AM
88 Cloud Computing
source solutions available, there are many reasons why implementers are
starting to give open source more than a passing glance when evaluating
options. Many of the commercial offerings available offer open source
solutions and make their money providing enhancements to the open
source, service and support, and other types of services that enhance cus-
tomer adoption of their product.
Open source is not with its detractors, however. Many experts still
advise caution when it comes to adopting open source solutions. They argue
that users of open source software can potentially risk encountering security
issues because the software internals are so widely known. Adoptors are
encouraged to research into which industrial-strength software is available
for their particular mission-critical environment and to compare potential
open source candidates. For mission-critical environments, especially within
the context of cloud computing, we see several major categories:
1. Administrative and management applications
2. Performance applications
3. Monitoring and security applications
4. Virtualization applications
In the next few paragraphs, we will discuss the salient features of each
of these categories and provide examples of the types of open source and
(sometimes) commercial applications used today. This will provide a good
starting point for understanding what implementation of cloud infrastruc-
ture entails from the perspective of the engineering team that is tasked with
putting a solution architecture together and making it work for a business.
Performance Monitoring and Management Applications
Performance monitoring is critical for businesses operating mission-criti-
cal or data-intensive IT infrastructure that provides access to users on-site,
from remote office locations, and from mobile devices. Many factors can
influence the performance of a network, such as the number of users
accessing it, the bandwidth capacity, use of coding platforms and proto-
cols, and attacks on its vulnerabilities. Performance monitoring tools are
used by organizations to ensure that their networks and the applications
delivered over them operate at the highest levels of performance
Chap3.fm Page 88 Friday, May 22, 2009 11:25 AM
Where Open Source Software Is Used 89
achievable. Monitoring performance is a proactive approach to mitigating
risk and limiting potential damage.
The purpose of administrative and management applications is to facil-
itate systems personnel in administering large numbers of hosts and services
running simultaneously. The monitoring software watches over hosts and
services, alerting administrators when conditions are detected operating
outside defined parameters. Common tasks performed by this type of soft-
ware include monitoring network services (SMTP, POP3, HTTP, NNTP,
PING, etc.) and host resources (processor load, disk usage, etc.). Many
packages support the use of plug-ins that allow users to easily develop their
own service checks or add functionality from third-party developers (this is
especially common in the open source development arena). The ability to
define a hierarchy of network host parent–child node relationships is desir-
able because it allows detection of and distinction between hosts that are
down and those that are unreachable.
An important feature that nearly all such products support is contact
notification whenever a service or host problem is detected and/or is
resolved. Such notification usually occurs using email, a pager, or Instant
Messaging (IM). When a problem occurs that needs to be resolved, some
packages offer the ability to define event handlers to be executed when ser-
vice or host events are detected, which then initiate proactive problem reso-
lution. Some of the many other commonly available features of
administrative and management applications include automatic log file
rotation and support for implementing redundant monitoring hosts. Most
packages interact with administrative staff using a web interface (which gen-
erally can be accessed remotely) for viewing current network status, notifica-
tion and problem history, log file, etc.
Now that we understand the types of application used for administer-
ing cloud infrastructure, let’s take a look at a couple of examples.
openQRM
openQRM is a comprehensive, flexible, open source infrastructure manage-
ment solution. Supporting a highly modular architecture, openQRM
focuses on automatic, rapid, appliance-based deployment. It is used for
monitoring high-availability cloud computing infrastructure, especially
when deployment is implementing multiple virtualization technologies.
openQRM is a unified management console for IT infrastructure, and it
provides a well-defined API that can be used to integrate third-party tools as
plug-ins. This feature provides companies with a highly scalable system that
Chap3.fm Page 89 Friday, May 22, 2009 11:25 AM
90 Cloud Computing
supports any size business with high-availability requirements running mul-
tiple operating systems on various platforms.
Key features of openQRM include complete separation of the physical
devices and virtual machines from the software (or virtualized server-
images/instances. With openQRM, hardware is seen as a computing
resource that can be easily replaced without reconfiguring hardware. Sup-
port for different virtualization technologies such as VMware, Xen, KVM,
and Linux-VServer vms can be managed transparently via openQRM. It
can support P2V (physical to virtual), V2P (virtual to physical), and V2V
(virtual to virtual) migration efforts. Because of this flexibility, not only can
servers be migrated from physical to virtual environments or virtual to phys-
ical environments easily, they can be easily migrated from virtual environ-
ment A to virtual environment B.
The commercial product Nagios is one of the best available. Nagios
also performs system, network, and application monitoring. openQRM
supports fully automatic Nagios configuration to monitor all systems and
services using a completely automatic configuration module that maps the
entire network. When administrators deploy a new bank of servers, it is
quite easy to configure them for Nagios using openQRM.
High-availability is another strong feature that OpenQRM supports. It
follows a many-to-one fail-over model. This means that multiple high-avail-
ability servers can operate using a single standby system. It is a simple mat-
ter to bring up a virtual machine as a standby. In case of problems, the high-
availability devices will fail-over from their physical environment to a virtual
environment or from one virtual to another virtual environment. To facili-
tate this, ready-made server images are available from the image shelf plug-
in. openQRM provides out-of-the-box images for Debian, Ubuntu, Cen-
tOS, and openSuse via a web interface. OpenQRM supports integrated
storage management;there is a single place for backup/restore on the storage
server, so its cloning/snapshot features can be reused at any time to create
“hot backups” for servers without a service interruption.
Zenoss
Zenoss (also called Zenoss Core), another open source application, is a
server and network management platform based on the Zope application
server. It is released under the GNU General Public License (GPL) version
2. Zenoss Core provides a web interface that allows system administrators to
monitor availability, inventory/configuration, performance, and events. It is
the most popular IT management project on SourceForge.Net.
21
According
Chap3.fm Page 90 Friday, May 22, 2009 11:25 AM
Where Open Source Software Is Used 91
to the Zenoss web site,
22
Zenoss software has been downloaded over
750,000 times and deployed in over 18,000 organizations in over 175 coun-
tries. Zenoss Core provides nearly all of the same capabilities mentioned
above for openQRM. Additionally, Zenoss offers the Zenoss Configuration
Management Database (CMDB).
The CMDB houses a unified model of the entire IT environment and
provides the basis for the Zenoss “model-driven” IT monitoring approach.
The first commercial open source CMDB on the market, Zenoss CMDB
features include modeling the entire environment—networks, servers, soft-
ware, and applications. Zenoss provides inventory management, change
tracking services, and availability monitoring, so users can have a real-time
of view of availability throughout the IT infrastructure. This feature pro-
vides IT staff with information they need to quickly identify problems and
potential outage locations. Zenoss has the ability to map IT elements and
cross-platform information into a normalized data structure and to create
logical and physical groupings that relate to business systems, locations, and
responsible parties. Data is populated using a combination of processes such
as auto-discovery, the web services API and XML import/export, and man-
ual input. Zenoss also allows administrators to create configuration policies
that specify required configuration items.
Performance monitoring with Zenoss provides high-speed collection,
historical graphing, and real-time threshold analysis for any available met-
ric in the IT environment. Event monitoring and management provides
the ability to aggregate log and event information from various sources,
including availability monitoring, performance monitoring, syslog sources,
SNMP trap sources, and the Windows Event log. IT staff can create event
processing rules through a graphical user interface (GUI) with automatic
event classification and prioritization. Alerting and reporting is also an
integral part of Zenoss solutions. Customized alert messages are sent via
paging or emails. Zenoss also includes basic and advanced escalation rules
to avoid alarm fatigue.
23
Finally, the browser-based Zenoss Dashboard is
easily customized to provide personal views based on geographies, systems,
business applications, or other options to suit the needs of the end users. A
web portal ensures secure web-based access using role-based permissions.
21. Sourceforge.net is the largest repository for open source software.
22. http://www.zenoss.com/product/network-monitoring, retrieved 09 Feb 2009.
23. Like the little boy who cried wolf, too many alarms can desensitize one to the value of an
alarm.
Chap3.fm Page 91 Friday, May 22, 2009 11:25 AM
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.143.5.217