Oracle 10g Grid Computing
Oracle 10g Grid Computing
EXECUTIVE OVERVIEW
What is all the hype about grid computing?
Today, islands of computing within organizations make inefficient use of resources.
Systems are slow to change and expensive to maintain. Grid computing addresses
these problems by providing an adaptive software infrastructure that makes efficient
use of low-cost servers and modular storage, which balances workloads more
effectively and provides capacity on demand. By scaling out with small servers in
small increments, you get performance and reliability at low-cost. New unified
management allows you to manage everything cheaply and simply in the grid.
A new model of computing is emerging to address these problems. The vision of the
grid computing model is shared throughout the industry, although some industry
leaders have coined new terms for it, for example: Computing on Demand, Adaptive
Computing, N1, Utility Computing, Hosted Computing, Organic Computing, and
Ubiquitous Computing. In recognition of the significant new capabilities required to
power grid computing, Oracle has named its new technology products Oracle 10g.
This is the first major name change since Oracle added internet capabilities to
Oracle8i.
Vision of Grid Computing
The central idea of grid computing is that computing should be as reliable, pervasive,
and transparent as a utility. It shouldn’t matter where your data or application
resides, or what computer processes your request. You should be able to request
information or computation and have it delivered – as much as you want, whenever
you want. This is analogous to the way electric utilities work in that you don’t know
where the generator is or how the electric grid is wired. You just ask for electricity
and you get it. The goal is to make computing a utility – a ubiquitous commodity.
Hence, it has the name, “grid.”
Scientific Grids
SETI@home, the Search for Extraterrestrial Intelligence, is one of the earliest
examples of a scientific grid. Signals from telescopes, radio receivers, and other
sources monitoring deep space are distributed to the PCs of individual science buffs
via the internet. This loose network of small computers crunchesnumbers, looking for
patterns that could suggest signs of intelligent life.
§ Implement One from Many. Grid computing coordinates the use of clusters of
machines to create a single logical entity, such as a database or an application
server. By distributing work across many servers, grid computing exhibits benefits of
availability, scalability, and performance using low-cost components. Because a single
logical entity is implemented across many machines, companies can add or remove
capacity in small increments, online. With the capability to add capacity on demand
to a particular function, companies get more flexibility for adapting to peak loads,
thus achieving better hardware utilization and better business responsiveness.
§ Manage Many as One. Grid computing allows you to manage and administer
groups of machines, groups of database instances, and groups of application servers
at low-cost. Grid computing first removes many of the administrative costs of
managing a single system by making each database and each application server
adaptive to changing circumstances. Then, the model makes managing many
systems simple, by allowing them to be managed as a single logical entity.
§ Blade servers. Blade server technology reduces the cost of hardware and
increases the density of servers, which further reduces expensive data center real
estate requirements.
§ Networked storage. Disk storage costs continue to plummet even faster than
processor costs. Network storage technologies such as Network Attached Storage
(NAS) and Storage Area Networks (SANs) further reduce these costs by enabling
sharing of storage across systems.
§ Support for Standards. The technology industry can be divided into two camps:
those that promote a proprietary single-vendor platform, and those that support
open standards for interoperability. AlthoughOracle provides a complete, integrated
infrastructure platform and extols the benefits of software suites, it has been a
fervent supporter of open standards. Open standards must solidify for grid
computing to reach its full potential, and Oracle continues to work toward this goal.
§ Expertise on Linux. Oracle has both the leading application server and the
leading database on Linux. Oracle brings its strengths in security, reliability, and
performance to Linux to make it strong enough for enterprise deployments. Because
Linux runs very well on small computers (one to four CPUs) and provides the best
price for performance, Linux is the perfect operating system for the large number of
small computers that constitute the hardware in an ideal grid environment.
Dynamic Provisioning
Provisioning simply means distributing supplies where they are needed. In the
context of the grid, “supplies” may mean server requests that need to be handled,
data that needs to be accessed and used, or computations that need to be
performed. Provisioning in the grid environment means a grid service broker that
knows the resource requirements of one element of the grid and the resource
availability of another element links the two together automatically and dynamically
to make efficient use of resources. Then it adjusts the associations as circumstances
change. Policies, such as response time thresholds or anticipated peak demands, can
be used to further optimize the associations of resource-requestors to resource
providers.
Resource Pooling
Consolidation and pooling of resources is required for grids to achieve better
utilization of resources, a key contributor to lower costs. By pooling individual disks
into storage arrays and individual servers into blade farms, the grid runtime
processes that dynamically couple service consumers to service providers have more
flexibility to optimize the associations. Resource sharing also happens purely in
software. Web services provide the model for applications to expose re-usable
functionality for discovery and invocation by unrelated applications.
Self-Adaptive Software
With labor being the most significant portion of IT costs, savings due to better
hardware utilization or more responsive systems become irrelevant if the everyday
tasks of administrators are not automated and simplified. A grid infrastructure would
be unworkable if every node required constant manual tuning and intervention. A
critical grid infrastructure requirement is systems that automate the bulk of
maintenance and tuning tasks traditionally performed by IT staff. More of the tasks
that used to be performed by administrators must now be handled by the systems
themselves.
Unified Management
Even with self-managing systems, human beings will always be involved in managing
an enterprise grid, but the management tasks required by humans should be
simplified with a single tool that can provision, monitor, and administer every
element in the grid. Such a tool should evaluate availability and performance from
the perspective of the user, such that any bottleneck in the system or any
unavailable component raises alerts. Most importantly, with a grid infrastructure, IT
professionals must be able to treat groups of systems as a single logical entity so
that tasks can be performed once and executed on multiple machines.
Information Provisioning
In addition to the provisioning of work across multiple nodes and the provisioning of
data across multiple disks, another type of provisioning happens within Oracle
Database 10g — the provisioning of information itself. Depending on the volume of
information and the frequency of access, it may be necessary to move data from
where it currently resides or to share data across multiple databases. Oracle 10g
includes various facilities to provide access to information when and where it’s
needed, matching information providers and information requestors. The most fine-
grained and real-time of these facilities is Oracle Streams, which can migrate data
from one database to another while both are online. Bulk data transfers are more
suitable in some circumstances, for which Oracle provides Data Pump and
Transportable Tablespaces. In Oracle 10g, all information provisioning facilities can
move data to databases running on different operating systems, which is particularly
useful for migrating databases to a grid environment, for example, blade servers
running Linux.
Self-Managing Database
The first step toward manageability in a grid environment is making each individual
system require less human attention. Oracle 10g, with the new selfmanaging
database, reduces the maintenance and tuning tasks required by administrators.
Oracle Database 10g includes an intelligent database infrastructure that takes
snapshots of vital statistics and workload data to be analyzed for self-tuning and for
advising administrators. The self-managing database automatically diagnoses
problems such as poor connection management, lock contention, and poorly
performing SQL. Oracle Database 10g fixes certain diagnosed problems and advises
DBAs about simple corrective measure in other cases. Oracle’s self-managing
database enables DBAs to concentrate on more value-added work and dramatically
reduces administration costs of databases.
Identity Management
Centralized application user administration becomes even more important in a grid
environment. Identity management features within Application Server 10g simplify
and centralize account creation, suspension, and deletion and privilege modification,
all of which lower administration costs and reduce security vulnerabilities.
Oracle provides centralized user provisioning and single sign-on for users across all
applications deployed to the Oracle Application Server. Access privileges for all
applications can be created and revoked through a single interface. Identities can be
managed through Oracle Internet Directory, a standards-based LDAP directory that
benefits from the availability and scalability of being built on the Oracle Database.
To gain additional benefits from grid computing, however, enterprise applications can
expose their behavior to other applications and to management tools through
standardized interfaces in a service-oriented architecture. Oracle Developer Suite
10g, which includes JDeveloper 10g, enables developers to create dynamic Web
sites, J2EE applications, and Web services and to make these services accessible
through enterprise portals and wireless devices. Applications designed to a service-
oriented architecture can leverage a set of standards-based internet protocols to
communicate with other applications and heterogeneous resources across a grid.
Designing to a service-oriented architecture enables companies to reduce
development time and integration costs.
Software Provisioning
Because of the potentially large number of physical nodes, it’s especially important in
a grid environment that installation and configuration of the software running on
those nodes is fast and requires no human intervention. Manually installing software
on hundreds of nodes would be time consuming and cumbersome. Administrators
would certainly find ways to work around a manual installation, but the workarounds
could lead to unsupportable upgrade situations and lost information about the
configuration of the system. With Grid Control, Oracle 10g automates installation,
configuration, and cloning of Application Server 10g and Database 10g across
multiples nodes. Oracle Enterprise Manager provides a common framework for
software provisioning and management, allowing administrators to create, configure,
deploy, and utilize new servers with new instances of the application server and
database as they are needed. This framework is used not only to provision new
systems but also to apply patches and upgrade existing systems.
In Oracle Application Server 10g, applications can be deployed once to a single
application server instance, registered with the central repository, then automatically
deployed to all relevant nodes in the grid. As changes are made to the application
and as new nodes are added to the grid, nodes can be kept in sync.
CONCLUSION
Many phrases have been coined to describe new computing models created by the IT
industry. Grid computing is the emerging standard, and grid computing is Oracle’s
approach to lowering costs while improving quality. The benefits of grid computing to
businesses are real: increasingly flexible systems that can largely self-manage;
better availability, performance and scalability at lower cost; and the opportunity for
incremental investment and immediate return. Grid computing will not radically
change enterprise data centers, and it does not require throwing out existing
investments and best practices. However, grid computing is also not just a passing
fad. Enterprise grid computing, based on the Oracle 10g infrastructure, will be the
foundation of information technology for the future, resulting in more cost effective
computing for running more nimble, data-driven businesses.