Achieving Business Agility with Application Grid
An Oracle Business White Paper December 2008
Achieving Business Agility with Application Grid
INTRODUCTION
Benefits of Application Grid
Greater efficiency of hardware, software, and administrative resources
Exceptional agility to enable a more dynamic and adaptive IT operation
Superior quality of service from monitoring and automatically enforcing applicationlevel SLAs
.
Most enterprise IT shops have amassed a diverse set of software applications. In many cases, the overall infrastructure is made up of isolated islands of software tied to dedicated hardware assets and connected by point-to-point integration technology. The isolated nature of these information systems makes them extremely inefficient, with server utilization rates of less than 10 percent. There is no easy way to share unused capacity, yet it’s hard to tell when an application is approaching its performance limit. Worse still, because reliability is managed on a per-stack basis, it’s difficult to predict when a system will go down and nearly impossible to dynamically address problems. These isolated technology stacks are also expensive to scale since it usually means adding new stacks at a large cost per increment. This wasteful, disparate infrastructure works at odds with the needs of the business. Adopting the right foundational middleware can help. Middleware refers to the layer of software that includes Java application servers, transaction-processing monitors, and service-oriented functions—the runtime “containers” for application logic. Traditionally, software in this category has been designed around the same “one application per server” practices that have been prevalent for so long. Responsible companies are learning how to run their data centers more efficiently using less hardware, less software and less IT resources. Some of these companies are turning to a new concept called application grid, an infrastructure layer beneath the application layer that pools and dynamically provisions the resources on which those applications run.
EXTENDING THE GRID
Grid computing is a technology architecture that virtualizes or “pools” IT resources—such as compute power, storage and network capacity—into a set of shared services that can be distributed and re-distributed as needed. This architecture enables groups of independent, modular components to be provisioned on demand to meet changing business needs. Oracle has been a leader in grid computing technologies, most notably with Oracle Real Application Clusters (RAC). Application grid brings the same type of efficiency, scalability, and quality of service to the application layer that database clusters brings to the database layer. It enables system administrators to pool and allocate the runtime infrastructure that supports enterprise applications, such as Java application servers and transaction
Achieving Business Agility with Application Grid
Page 2
processing systems. The goal is to enable application server instances to work together to make better use of physical resources. In contrast to the traditional monolithic architecture, this new approach enables multiple application servers to pool and share the underlying compute resources, dynamically reallocating these resources across the applications being served as needs evolve. Application grid enables application servers to work together to provide a shared, dynamically allocated pool of resources for a given set of applications.
A New Approach: Application Grid
Grid computing at the middleware layer
Custom App Packaged App SOA Svc C/C++/ COBOL Legacy
Application Grid
Efficiency
Flexible Scaling
High Quality of Service
Using the application grid approach—the grid for the middleware layer—astute customers are solving many of the classic, but difficult to solve IT problems the industry has been wrestling with for years, such as:
•
The need to do more with less – to bring greater efficiency to data center operations and resources The need for greater flexibility in how applications are scaled and provisioned The need for reliability and predictability to determine when an application is nearing its performance limit and the ability to do it consistently How to reconcile the tremendous diversity of technologies within the data center and the siloed structure of most applications
•
•
•
Application grid leverages new and existing technologies to make the middleware infrastructure more efficient and better aligned with application needs. By pooling, sharing, and dynamically adjusting the resource supply to meet fluctuating demand, the application grid enables IT departments to do more with less. For example, enterprise applications typically have variable demands and it is unusual for all of them to hit their peak operating loads simultaneously. Application grid helps IT pros to allocate a pool of middleware capacity that makes it easier to maintain desired service levels for a group of applications while reducing the physical resources needed to support those applications.
Achieving Business Agility with Application Grid
Page 3
Application grid functions like an IT utility. Commodity servers constitute the grid infrastructure. Decoupling and pooling resources enables IT managers to grow the overall resources pool in small relative increments, which allows incremental scaleout on commodity hardware.
BUSINESS DRIVERS FOR APPLICATION GRID
“With Oracle Coherence and Oracle WebLogic Server as the backbone of our infrastructure, we can now efficiently manage the transaction processing requirements of our business, while enhancing the user experience and results for our customers.”
This Internet service provider’s story illustrates a common quandary facing many large companies. Business needs are continually evolving, forcing IT managers to respond to continual requests for application changes, adapt to fluctuating workloads and create an IT infrastructure that can meet critical business requirements. Application grid fulfills these requirements with extremely flexible runtime capabilities that make the IT department more responsive. Let’s look at some of the business and technical drivers that are motivating today’s companies to adopt principles of application grid.
SOA and Event Processing
- Eric Grosse, President of the Hotwire Group
Different companies follow different roads to application grid. For some organizations, the motivation is to adopt or extend a service-oriented architecture (SOA). SOA has proven its ability to integrate disparate applications and minimize functionality duplication within production environments. These versatile architectures connect silos of information that make it difficult to service customers, meet production demands, and manage large volumes of information. In addition, SOA minimizes interdependence between projects so a development organization can be more responsive. SOA installations are breaking down stovepipes at the application level, decomposing applications into fine-grained services that can be connected and reused in a flexible way. But underneath each SOA service is a monolithic stack: an application server with a static allocation of CPU cycles, memory, and storage capacity. Since each stack is statically configured, it has to be set up for the greatest possible load. As a result, most of the time the stack is underutilized. Despite its many benefits, SOA poses its own set of challenges to the underlying middleware infrastructure. Developing an architecture that guarantees performance, throughput, availability and reliability isn’t easy. SOA environments include composite entities made up of components or services, with the most popular services experiencing the greatest demand. As services and applications proliferate, do IT pros have a good way to monitor these services? That’s where application grid technology comes in. For example, even if a database server is down, a shared database cache can ensure data remains available so IT pros can uphold important SLAs. Such an “in-memory data grid” can adapt to and accommodate faults in underlying hardware, allowing the application to continue seamlessly with no data loss. This helps IT managers fulfill the promise of SOA: to achieve greater performance, reliability and flexibility. Similarly, event processing technology helps monitor and analyze trends and patterns in real-time, empowering enterprises to respond rapidly via automated or manual alternatives.
Achieving Business Agility with Application Grid
Page 4
IT Modernization
Adopting Application Grid Principles
Create multinode clusters to achieve high availability and simplify horizontal scaleout.
Use scripting to enhance automation and achieve predictable performance.
Many established organizations are moving business content out of legacy applications and into more cost-effective and versatile IT environments—a process called IT modernization. The goal with these projects is to retain existing application assets by transforming them to modern languages, databases, and services. While companies are challenged to embrace internet computing models and service-oriented software architecture, they also can’t afford to throw away these entrenched business systems. As organizations migrate IT operations from mainframe systems to commodity servers, they often need extreme transaction processing performance. Application grid answers their needs. For example, open systems-based transaction processing monitors are available to re-host mainframe applications on mainstream hardware. In the context of application grid, these TP monitors provide cost-effective reliability, extreme scalability, and investment preservation by extending the life of existing IT assets as part of modern architectures such as SOA.
Cost Containment
Add support for very large in-memory data sets with dynamically scalable and distributed caching.
Optimize data center operations with crossgrid management tools.
CIOs, system administrators, IT architects, and operations personnel are all challenged to run more efficient data centers by reducing energy usage and minimizing the impact of IT operations on the environment. As the IT industry builds larger data centers and companies adopt grid-based business models, running efficient data centers is becoming increasingly more important. Adopting environmentally friendly IT policies not only benefits the environment. It improves the bottom line. For example, most servers are used at about 10 percent of capacity on a daily basis, and the typical scenario is to allocate a distinct server for each application. Application grid technology has a huge impact on efficiency by using servers more judiciously. For example, by running multiple applications on the same server, average capacity can be increased to 50 percent or higher, with no loss in throughput or reliability. This results in fewer servers used, with the consequential benefits of less floor space, power, and cooling needed.
THE EVOLUTION TO APPLICATION GRID
Oracle has devised an evolutionary path to help customers make a gradual move to application grid. It is not an all-or-none, rip-and-replace proposition. Most Oracle Fusion Middleware customers already have elements of a grid-like infrastructure and thus can adopt application grid practices in stages. Astute customers move forward by identifying parts of the infrastructure where application grid will yield immediate benefits. They build from there to gradually consolidate and migrate the entire middleware infrastructure on to this comprehensive foundation. Many organizations have already gone part of the way down the path to application grid by using the clustering mechanisms in contemporary application servers for horizontal scale-out and using scripting to partially automate the addition and removal of cluster nodes. Distributed caching technologies complement this infrastructure by creating a dynamic in-memory data grid with
Achieving Business Agility with Application Grid
Page 5
extreme scalability. Real-time JVM technology provides the predictability and instrumentation for applications with microsecond latency demands, while management technologies with increasingly sophisticated mechanisms for crossgrid optimization continue to evolve.
THE TECHNOLOGY ENABLING APPLICATION GRID
Oracle has combined mature products from the Oracle Fusion Middleware family to help companies achieve scalable application server workloads, extreme transactions, guaranteed SLA compliance, and dynamic management of the application software and infrastructure software, all on low cost commodity hardware. In this section, we will offer details on the primary Oracle application grid products and explain how they help companies achieve scalable application server workloads, extreme transactions, guaranteed SLA compliance, and dynamic management of the application software and infrastructure software.
Oracle WebLogic Server
Oracle WebLogic Server is the application server of choice when applications and services need high availability and superior diagnostic capabilities. The edition best used as a starting point for application grid is Oracle WebLogic Server 10g Enterprise Edition, which is available as part of WebLogic Suite. Oracle WebLogic Server implements the latest Java EE and SOA Web services standards and offers choices for development frameworks and integral tooling, managed by a graphical console. All users benefit from Oracle WebLogic Server’s reliability and performance, which has been tested in demanding customer environments all over the world. Oracle WebLogic Server Enterprise Edition includes proven clustering technology, cross-domain management and diagnostic tooling. Clustering provides seamless service migration and failover from one server to another, ensuring continual operation for business-critical applications and services. Deep diagnostics such as memory leak detection help prevent application disruption by identifying the root causes of issues such as performance bottlenecks, poor memory utilization and other configuration anomalies. Developers can use Oracle JDeveloper, which spans the Oracle Fusion Middleware family, or the Eclipse-based Oracle Workshop for WebLogic.
Achieving Business Agility with Application Grid
Page 6
Oracle Tuxedo
Oracle Technology Lineup
WebLogic Server is the industry leading application server in performance and developer preference.
JRockit is the industry’s fastest Java Virtual Machine. Unlike other real-time JVMs, JRockit Real Time works with standard Java on a standard operating system.
With an 80 percent share of the distributed transaction processing monitor (TPM) market, Oracle Tuxedo provides the backbone for many of the world’s largest transaction-processing systems, including wire transfer services, airline reservation systems, and telecommunications switching systems. For example, all credit card transactions and ticketing for the 2008 Beijing Olympics were performed with Tuxedo.
Transaction Processing Flexibility
Tuxedo runs the world’s most extreme transaction processing applications such as electronic funds transfer systems and airline reservation systems.
Coherence in-memory data grid allows an application to use the memory of many machines as a single large pool, enhancing performance through parallelization while enhancing reliability through replication.
With Oracle Web Logic Server and Oracle Tuxedo, Oracle has a solution for all types of TP activity. Oracle WebLogic Server is the industry’s leading Java application server in performance and developer preference. Oracle Tuxedo runs the world’s most powerful transaction applications such as electronic funds transfer systems and airline reservation systems. It is the industry’s number-one platform for distributed transaction processing written in C, C++, and COBOL.
Oracle Coherence
One of the workhorses of Oracle application grid, Oracle Coherence in-memory data grid, a technology also sometimes referred to as a “distributed cache,” allows an application to use the memory of many machines as one large pool. Allowing more data to be placed in memory and eliminating time-consuming disk fetches significantly speeds up many applications. Performance is further enhanced because operations against the data can often be performed by multiple nodes of the grid in parallel. The in-memory data grid also significantly improves reliability because data is replicated across two or more nodes, eliminating single points of failure. Oracle Coherence allows applications to scale at a consistent incremental cost from tens of nodes to thousands of nodes. Only Oracle Coherence enables true dynamic scaling—the ability to add or remove capacity in small increments with no pause in operation or risk of data loss.
Fusion Middleware Application Grid
Comprehensive, hot-pluggable, pre-integrated
Enterprise Manager Configuration Management WebLogic Operations Control JRockit Mission Control Tuxedo System Application Monitor Provisioning
WebLogic Server Coherence JRockit
Tuxedo
Achieving Business Agility with Application Grid
Page 7
Bolstering the Management Layer
Automated management is what makes application grid technology useful. Sharing, control, and visibility must be simple and automated. Operators must be able to see across all the applications and demands being placed on the grid and make intelligent decisions about what resources to put where at any given time. Oracle offers to products to help IT managers achieve these goals: Oracle Enterprise Manager and Oracle WebLogic Applications Control.
Major Apparel Retailer
Oracle Enterprise Manager
Problem
This retailer needed universal user profiles, shopping carts and single sign-on across its four brands. Each brand has its own cluster of servers.
Solution
IT pros used Oracle Coherence to create an in-memory data grid serving all four clusters. Today, any server from any brand can obtain a session from a shared cache, insulating critical IT processes from crashes in the application tier.
As virtualized software environments and modular, service-oriented applications populate the data center landscape, Oracle Enterprise Manager helps businesses improve quality of service and lower operating costs. This mature management platform not only simplifies routine management tasks; it also monitors important service-level violations and helps system administrators determine how problems affect business operations so they can take corrective action. This system-wide perspective enables IT managers to focus on the health of their business applications, rather than the underlying infrastructure.
Oracle WebLogic Operations Control
Oracle WebLogic Operations Control is the newest addition to the Oracle Enterprise Manager family. As the controller for application grid, Oracle WebLogic Operations Control continually analyzes application demands and resource capacity to determine the correct allocation of resources. It helps system administrators uphold SLAs by optimizing resource use across multiple applications and orchestrating dynamic resource management for the entire application grid. Through a management framework that captures desired runtime application SLAs, it monitors runtime environments and automates the dynamic configuration and deployment of application instances onto available resources. It draws upon the available hardware resources of the grid to ensure application service-level objectives are met. WebLogic Operations Control provides within the Enterprise Manager framework a “single pane of glass” with an application grid-oriented set of views to control meta-level administration such as entering policies as well as run-time administration such as stopping and starting services. Anything that can be automated can also be made manual and carried out from this console. Collectively, these products enable fine-grained visibility and control across the entire middleware stack combined with an intelligent synthesis of information to monitor application grid behavior.
Achieving Business Agility with Application Grid
Page 8
CASE IN POINT: MARRYING CAPACITY WITH DEMAND
Matchmaker Finds IT Harmony
Profile
•
Web-based social networking application with 17 million registered users
For example, one of the leading relationship services providers on the internet is adopting application grid principles to manage the growing number of customers that use its matchmaking service. This service provider links members with compatible persons with whom they are likely to enjoy a long-term relationship. It’s website has become so popular its total traffic ranks in the top one percent of U.S. companies. Exponential growth in membership over the last several years has threatened to overwhelm this company’s IT infrastructure. In response, the company implemented Oracle WebLogic Server on dozens of nodes. The software provides automatic failover so if one server fails, another one can pick up the processing load with complete consistency of session states. This company is also implementing Oracle Enterprise Manager to provide a broad view of the entire Oracle technology stack, including the database, packaged applications, middleware and other parts of the infrastructure. The objective: to create a more fluid hardware and software environment that can automatically adjust to the needs of the company’s popular matchmaking applications. For example, if there is a big push for one aspect of the service, the grid can automatically borrow resources from another application to adjust to the traffic burst. IT pros schedule resource-intensive matching algorithms to run at off-peak times, when they can borrow computing resources from prime-time applications. The company is exploring use of Oracle Coherence to further enhance responsiveness by managing Web session state in a large in-memory data grid. IT pros are also evaluating JRockit as a way to monitor fine-grained aspects of application behavior such as Java heap and CPU usage. This insight will help them discern when an application is approaching a threshold that requires adjusting the number of nodes in the data grid. At the application level, it will tell them when an application is nearing SLA thresholds such as response time experienced by internet customers. As a fundamental component of Oracle application grid, Oracle WebLogic Server simplifies programming tasks so developers can concentrate on solving business problems rather than dealing with infrastructure issues. It also brings consistency to how they interface their core business applications with the databases, eliminating the concern of how many connections they have to make or how they retrieve information. And it automates the process of sending messages among applications and handling the underlying socket reads.
CONCLUSION: WHY APPLICATION GRID NOW
Problem
•
Spiraling IT costs as a result of ad hoc capacity planning
•
Unnecessary downtime costing thousands of dollars per minute
•
Difficulty implementing upgrades seamlessly
Solution
• •
Standardized hardware
Use of Oracle WebLogic Server clustering for scale out
•
Standardized Oracle WebLogic Server nodes replicated through WLST scripting
•
Planned move to Oracle Enterprise Manager, JRockit and Coherence
Infrastructure
•
40-node Web Logic Server cluster
•
Extensive use of WLST scripting to achieve grid-like provisioning
•
Side-by-side application deployments to allow for smoother upgrades
Oracle is taking grid computing to the next level by introducing application grid technologies. Being able to flexibly provision and dynamically adjust both hardware and software resources makes an IT infrastructure more predictable, responsive and efficient. Implementing Oracle WebLogic Server or Oracle Tuxedo gets an organization part way to application grid by enabling clustering, which improves availability, scalability and performance. Step two is to make scaling even more flexible and
Achieving Business Agility with Application Grid
Page 9
dynamic with Oracle Coherence. Step three involves greater automation and crossgrid optimization with Oracle WebLogic Operations Control. The objective is to pool, share, and dynamically allocate resources, and these technologies help you achieve this goal. IT administrators can add or remove a node to an application server cluster almost instantly. There are two main dimensions to this type of dynamic infrastructure: time (the speed with which you can dynamically allocate resources) and capacity (the degree to which you can pool and share memory, processing power, etc.). A third dimension concerns the degree of automation. Some data centers are very dynamic but governed by manual procedures. In many cases, IT departments are already pooling and sharing resources at the hardware layer, with help from virtualization software like Oracle VM. Grid is a form of virtualization in the sense that it hides the details of entities and makes them appear “virtually” as something different. Now organizations are learning to pool and share middleware resources as well. The benefits are clear:
• • • •
The ability to align IT more closely with business needs The flexibility to expand and contract applications easily and dynamically The power to achieve automated monitoring and management Innovation to deploy more effective service oriented architecture
Oracle has long been a leader in grid technologies that reduce costs, simplify management, and enable more optimal allocation of resources. Oracle Application Grid takes this vision to the next level.
Achieving Business Agility with Application Grid
Page 10
Oracle Application Grid December 2008 Author: David Baum
Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. Worldwide Inquiries: Phone: +1.650.506.7000 Fax: +1.650.506.7200 www.oracle.com Copyright © 2008, Oracle. All rights reserved. This document is provided for information purposes only and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.