HP Virtual Server Environment Reference Architecture: Shared ...

piteousnessbutterSoftware and s/w Development

Jul 14, 2012 (5 years and 5 months ago)

239 views

HP Virtual Server Environment Reference Architecture:
Shared Infrastructure for Application Servers
High Level Concepts
Introduction................................................................................................................................2
Executive Summary......................................................................................................................3
J2EE application server frameworks................................................................................................4
Web Tier...............................................................................................................................4
Application Tier.......................................................................................................................5
Database Tier.........................................................................................................................9
Business Benefits.......................................................................................................................10
Summary.................................................................................................................................10
Appendix A – Glossary..............................................................................................................11
Executive Summary
The vital role of centralized IT to reduce costs and increase efficiency within a business drives the
need for consolidation and increasingly shared IT resources and services across the enterprise. The
concepts of shared IT resources are not new. However, traditionally corporations have invested in
maintaining dedicated application servers for each line of business (LOB). In a shared IT model, IT
acts as a corporate-wide service provider, hosting applications and managing servers on behalf of
multiple lines of business. Consolidating application and infrastructure environments within a
corporation can yield a number of benefits, such as:
 Cost Efficiency
o Reduction in both hardware and software costs through better server
utilization as well as through centralized infrastructure management
o Reduction in labor costs associated with reconfiguration, maintenance, and
performance tuning
 Increased Agility and Service Quality
o Allows LOB resources to focus on process improvements and business
objectives rather than building and supporting infrastructure
o Provides the tools necessary to measure and manage toward specific service
level objective (SLO)
o Reduces training costs by promoting sharing of processes, tools and best
practices among the various lines of business in the extended organization
The virtualization technologies referenced are provided by HP, and are integral to the frameworks
that will be discussed. Virtualization technologies offered by the HP Virtual Server Environment
provide excellent flexibility and efficiency of hardware utilization. The HP-UX Work Load Manager
(WLM), one of the intelligent policy engines within HP VSE, enhances this solution by enabling
resources to be shared and secure resource domains to be automatically resized based on business
policies or application performance. The net result is an environment that allows customers to take
advantage of consolidation and virtualization techniques to improve server utilization,reduce
operating system management costs,while still maintaining or improving on the security that can be
achieved in a standalone, scale out environment.
This paper provides several high level concepts for the architecture of J2EE application servers. The
intended audience is solution and datacenter architects, performance experts, and IT management
looking for ways to reduce costs and increase application effectiveness. The final chosen framework
for any project will depend upon a number of factors including the goals of the application, the
resources available to design, test, and deploy the application in production, the expected lifetime of
the application, leverage from other application deployment projects, and other situational
considerations. These frameworks illustrate some typical choice points in the architecture of a J2EE
application and illustrate how to combine the elements of a J2EE solution with virtualization
technology to achieve deployment goals faster and more economically.
J2EE application server frameworks
J2EE applications are typically multi-tier applications, where each tier resides on a different host
system. A host system could be an actual physical system or a virtual system created with
virtualization software running on a shared system. J2EE applications typically include a client tier
where the user’s web browser provides the presentation mechanism. The bulk of the application is
deployed in the infrastructure of the datacenter in three tiers – the web tier, application tier, and
database tier. While the focus of this paper is the application tier, each of these tiers is briefly
described in the following sections. Pointers to additional information on these tiers are also
provided.
Figure 2: Multi-Tier J2EE Application
Web Tier
The purpose of the J2EE web tier is to implement the presentation logic of multi-tier applications. The
web tier is typically constructed of Java servlets and JavaServer Pages (JSPs) serving static HTML or
generating HTML dynamically in response to a client request. The presentation logic may call upon
additional business logic deployed in the application tier to complete an incoming service request.
The presentation logic of the web tier may be deployed in a variety of ways according to the
requirements of the application. In many cases, user requests originate from clients that are outside
the corporate firewall. To provide authentication of incoming requests, the first component of the
web tier may be implemented on standalone systems running an HTTP web server such as Apache
HTTP Server or Microsoft Internet Information Services (IIS). This standalone web server will also be
running a proxy that forwards authenticated requests through the corporate firewall to a protected
server for further processing by JSPs and servlets.
Application Tier
The J2EE application tier hosts the business logic of the application. In a typical J2EE environment,
this business logic is implemented in Enterprise JavaBeans (EJBs). The EJBs of the application are
loaded dynamically and run within the EJB container provided by the application server. As needed,
the business logic may access data in the database tier through a mechanism like Java Database
Connectivity (JDBC).
For some applications, a single isolated application environment is the host for both the servlets and
JSPs of the presentation logic and the EJBs or other implementations of the business logic. In other
situations, the architecture and goals of the application require deployment of the presentation logic
onto a separate host, or in a separate isolated application environment from the business logic.
The solution architect faces many choices when designing the architecture of the application tier. Key
considerations include:
 The importance of controlling the service level objectives of any application or group
of applications on the application tier in order to differentiate or control service at
any given time or for any given group of users.
 The need to share limited system resources among several applications and the
associated need to protect each application in a shared environment from the other
applications on that same environment, realizing that when many applications share
a single instantiation of a Java Virtual Machine (JVM)/application server, a critical
fault on the part of any one of those applications could bring down the entire
deployment.
 The needs of the applications for specific system or middleware resources and
software stacks and how those needs might change over time. Do any of these
applications require specific versions of operating system services and will those
needs persist for the foreseeable future?
With these questions in mind, the solution architect has a continuum of potential solutions. While it’s
impossible to provide an exhaustive list of choices or a straight forward decision flow diagram, it is
possible to identify and discuss some of the basic alternatives, as shown in Figure 3.
Figure 3: Alternative frameworks for the application server tier
Beneath each instantiation of an application server in the frameworks of Figure 3,a JVM supports the
application environment. The framework on the far left in Figure 3(a) is the simplest -- one
application server supporting the needs of a multiple number of applications, all on a single operating
system. This framework may perfectly fit the needs of the situation, but it should be noted that such a
framework provides no isolation at the Java level between applications and therefore might not be
ideal when these applications serve different lines of business or have specific service level objectives.
To achieve application isolation at the Java level, each application or group of related applications
could be hosted in independent application server instantiations on the system as shown in Figure
3(b). While applications are isolated from each other, this approach does not provide resource
allocation and might be quite expensive since this approach suggests a large host computer system
and application server licenses are usually based on the number of processors present in the host
system.
Figures 3(c) and 3(d) show the addition of system resource management for each application server
instantiation by running each application server in its own soft partition, such as virtual machines (VM)
or HP Virtual Partitions (vPAR). Figure 3(c) shows the use of HP vPAR. HP vPAR is a soft partitioning
scheme that subdivides a larger physical server into multiple independent smaller servers, each of
which is fully capable of running a distinct operating system. HP’s vPAR are highly efficient with
negligible overhead and provide strong resiliency and flexible dynamic resources sharing. Figure
3(d) shows the HP Integrity Virtual Machine. The HP Integrity Virtual Machine provides soft
partitioning that includes sub-CPU granularity, shared I/O devices, security isolation, and dynamic
resource allocation. For any VM implementation, the solution architect should verify that the I/O and
CPU requirements of the total workload consisting of the application server and its associated
applications are within the recommended parameters of the virtual machine under consideration.
Both of these soft partitioning approaches provide excellent control and isolation, and they provide
each application server instance with an environment that can be unique through to the operating
system within the partition.
If there are no OS-specific application requirements among applications, a framework that utilizes a
single OS instantiation along with secure resource partitions might be most appropriate, as illustrated
in Figure 3(e). This framework is an example of application stacking -- multiple applications running
on a common OS instance,typically in a shared service IT environment. HP’s VSE includes a suite of
HP-UX resource manager capabilities that allow increasingly sophisticated application stacking on HP-
UX. They are:
 Process Resource Manager (PRM)
 Workload Manager (WLM)
 Secure Resource Partitions (SRP)
 Processor Sets (pSets)
 Fair Share Scheduler (FSS)
Secure resource partitions allow multiple workloads to be hosted within a single operating system
while retaining both some resource and security isolation. Each secure resource partition is assigned
a subset of the system’s CPU, memory, and disk I/O resources. In addition, workloads running within
a secure resource partition can be completely isolated from a security standpoint to ensure that an
errant application has no effect on the others within the operating system instantiation. Examples of
two CPU allocation managers on HP-UX are the Fair Share Scheduler and Processor Sets. Resource
allocation between application environments in secure resource partitions can be successfully
managed with the HP-UX Workload Manager and Process Resource Manager. An individual WLM
workload group and its service level objectives can be configured for each application environment,
based on an assessment of memory and CPU capacity requirements, and SLOs can be structured to
meet minimum, maximum, and stretch thresholds for CPU requirements.
The deployment environment within each isolated application environment also plays a significant
role in achieving cost savings and operational efficiency. Today, many organizations are promoting
reusable, standardized, and repeatable, development and deployment frameworks. While the
adoption of such internal standards for component use, design, and deployment will vary, there are
again several categories of such standardization practices the application development or IT
organization can consider, as outlined in Figure 4.
Figure 4: Application building blocks
J2EE Environment Layer
The J2EE application server chosen for eventual deployment may provide administration services,
clustering across physical machines at the J2EE layer, and session state management. Many
application servers provide centralized application configuration capability for the extended J2EE
environment, so that changes such as a move of the database server can be done centrally. Many
also provide tools to manage thread priority,fault diagnosis and troubleshooting.
Monitoring and Reporting Layer
The HP software management suite can be used to provide monitoring and reporting capabilities,
including application alerts and event recording, historical usage reporting per application, service
level objective violations, and the ability to deploy application-specific monitoring requirements
through Application Response Measurement (ARM). In addition, several products report URL
availability and transactional level information.
Management and Control Layer
The management and control layer is a critical component for providing isolation of shared CPU
resources between applications. At the heart of this layer are components of the HP Virtual Server
Environment, a fully integrated software family for planning, management, and automation. HP VSE
manages all forms of partitioning, including secure resource partitions, which allows for application
stacking within the HP-UX environment. The key technology utilized is the HP-UX Workload Manager
software product, which provides CPU control and automatic resource allocation. HP-UX WLM is used
to partition physical CPUs into shares (1 CPU equals 100 shares) that are then configured as
available resources for each operating application. HP-UX WLM ensures service level objectives are
achieved in a shared environment with multiple applications.
As application demand for system resources increases towards the maximum, an application is still
not bound to limited resources as a stretch SLO can be defined to accommodate temporary peak
demands for available resources. Stretch SLOs are governed by unallocated ‘pool’ resources that are
in reserve to support out-of-band and unanticipated resource consumption. As application resource
consumption does not always operate in a predictable manner, ranges can be defined and adjusted
through observation and analysis of applications’ CPU consumption. This consumption data should be
captured within the monitoring layer to monitor and report platform and application resource
utilization.
When applications are consistently requesting non-allocated resources, governance can be
instrumented to regulate the frequency that HP-UX WLM checks and adjusts CPU entitlements. Through
the use of this VSE technology, application risk is compartmentalized and isolated. The result is that
service level objectives are maintained, and the environment can continue to evolve to match the
application needs as the requirements and SLOs evolve.
Physical Disk Layer
Disk space can be allocated through a Storage Area Network (SAN) with dedicated logical volumes
per application which are sized according to application need upfront. This allocation can provide
complete isolation of the disk space for one application from that of other applications on the system.
All application-specific files and logs reside in this space.
Database Tier
The database tier provides the database hosting environment that implements the data management
logic of the multi-tier application. Database isolation within a shared environment can be achieved
via separate user accounts, separate group IDs, separate ServiceGuard packages, and separate
binaries. Isolation of shared resources and assurance of service level objectives is achieved via HP-
UX Workload Manager. Configuration of WLM workload groups based on resource partitions can
provide resource isolation and resource flexibility.
Depending on customer requirements, other partitioning and virtualization technologies, such as HP
Secure Resource Partitions, Virtual Partitions, and virtual machines could be used to achieve resource
isolation or other desired properties, such as software-fault isolation, security isolation, or operating
system isolation, between database instances.
Refer to the VSE Reference Architecture for Shared Database Infrastructure white paper at
www.hp.com/go/vsera for additional information.
Business Benefits
Shared IT represents a transformative paradigm for organizing and managing IT infrastructure. The
benefits stem principally from standardization, simplification, centralization and economies of scale
and scope. The Shared Infrastructure for Application Servers is a set of frameworks that embody the
Shared IT model, and can be used to deliver new levels of cost efficiency, agility and quality of
service.
The utilization of consolidated hardware environments, along with the HP Virtual Server Environment
helping to manage the J2EE application environment, produce the benefits outlined here, for current
and future Shared IT infrastructure environments.
Summary
HP VSE Reference Architectures are designed to help you apply VSE in your IT solutions with ease
and efficiency.This white paper provided an overview of the VSE Reference Architecture for Shared
Application Infrastructure. For more information on the HP Virtual Server Environment and HP VSE
Reference Architectures, visit:
www.hp.com/go/vse
www.hp.com/go/vsera
www.hp.com/go/virtualization
www.hp.com/go/integrityvm
www.hp.com/go/java
Appendix A – Glossary

Enterprise Java Bean (EJB) – An enterprise java bean (EJB) is a server-side software component
that encapsulates the business logic or basic purpose of an application. The EJB specifications
provide for a component model for the construction of such applications. Beans contain the business
logic written in the form of reusable objects and utilize the services provided by the J2EE
specification, such as Java Database Connectivity (JDBC) and Java Remote Method Invocation (RMI).
HTTP(S) - Hypertext Transfer Protocol (HTTP) is the industry standard protocol for transferring Web
documents over the internet, and is specified by a Uniform Resource Locator (URL) beginning with
http://. Secure Hypertext Transfer Protocol (HTTPS) is the standard for transferring encrypted data
over the Internet, and is specified by a URL beginning with https://.
J2EE - The Java 2 Platform, Enterprise Edition (J2EE) is the Java software platform used to host
distributed, enterprise, multi-tier Java-based applications. A J2EE container, also called an
application server, relies on services from an underlying Java 2 Platform, Standard Edition (J2SE)
software platform. The Java 2 Platform, Standard Edition consists of the Java Virtual Machine (JVM)
and a set of libraries to assist in developing applications and accessing the capabilities of the host
computer system, such as I/O and graphics. A J2SE library is implemented as a set of Java
packages, as defined in the Java programming language. A J2EE application server provides
additional packages specifically used to develop multi-tier applications such as Java Database
Connectivity (JDBC) and Java Remote Method Invocation (RMI), and the J2EE specification defines
architectural components of the multi-tier application such as Enterprise JavaBeans (EJBs), JavaServer
Pages (JSPs), and servlets which can be used to create portable and scalable applications.
JDBC - Java Database Connectivity is a J2EE application programming interface or library that
enables Java programs to connect to databases that support Structured Query Language (SQL), to
both store and retrieve application data. Since the support of SQL is widespread among current
databases and many of the leading databases provide JDBC drivers for their databases, the use of
JDBC can increase application portability and interoperability. JDBC is similar to Open Database
Connectivity (ODBC), but is designed specifically for Java programs.
SLO - A service level objective is a measurable goal for the quality of service provided by a service
provider, such as an Internet Service Provider (ISP). An SLO can take many forms and is usually
chosen to be most relevant to the application environment. In a J2EE environment it could measure
transactions per second processed over some sustained interval, or the peak number of transactions
processed in a burst. SLOs can also measure response time, application uptime, or other application-
specific metrics for the amount of work performed in a given time interval.

© 2007 Hewlett
-
P
ackard Development Company, L.P. The information contained
herein is subject to change without notice. The only warranties for HP products and
services are set forth in the express warranty statements accompanying such
products and services. Nothing herein should be construed as constituting an
additional warranty. HP shall not be liable for technical or editorial errors or
omissions contained herein.
Itanium is a trademark or registered trademark of Intel Corporation or its
subsidiaries in the United States and other countries.
4AA1-2326ENW, August 2007