Abstraction involves changing the interface of an object and exposing it in a
more useful or appropriate form. This may be done by providing a layer of
software, or whatever, which makes an object or collection of objects easier
to manage by exposing a different object with a different interface. An
example of this would be presenting the user with a tier of a service, for
example of tier of web servers and their associated load balancer. The user
would then manage the whole tier as a single object, including web tier
attributes and load balancing policies, rather than managing each individual
component.
An enterprise grid is a collection of interconnected (networked) grid components under the control of a grid management entity. An enterprise grid is typically managed by a single enterprise - i.e. a business entity is responsible for managing the assignment of resources to services in order to meet its business goals. THe resources and services may or may not be owned by the business, for example in the case of managed services or a service provider/outsourcer. What defines the boundaries of the enterprise grid is management responsibility and control. The services that run on an enterprise grid may range from the traditional commercial enterprise applications, such as ERP or CRM packaged applications, to newer, distributed applications or services. Enterprise grids are typically differentiated from more traditional data centers by management practices and technology, which:
Make management service or application centric, rather than
component centric.
Enable the pooling and sharing of networked resources.
Enable agility through rapid and automated service provisioning.
An enterprise grid may be confined to a single data center or it may extend
across several.
A form of grid computing, specifically within an enterprise, resulting in an
enterprise grid that includes commercial enterprise applications as a type of
workload/service.
The grid component is a super class of object that represents every
managed entity, whether physical or logical, within an enterprise grid.
Grid components are recursive, in that they may be aggregated to form
other grid components, or decomposed into their constituent grid
components.
Examples of grid components include, but are not necessarily limited to -
Traditional resources such as servers, switches, disks, arrays and
routers. These are considered to be elemental grid components.
Less obvious resources such as a software distribution or perhaps
data.
Services, such as CRM, ERP etc.
Everything in between.
Thus, for example, an ERP service may be
decomposed into database, application server and web tiers. These
may in turn be decomposed into instances that are bound to operating system instances and servers. Each of these is considered to be a grid component.
Whether a grid component is viewed as a service or as a resource and depends on context.
Each grid component has a life cycle which has to be managed and may encompass a number of phases, including:
The use of pools of resources onto which applications or services may be
dynamically provisioned and re-provisioned to meet the goals of one or
more enterprises, whilst improving both efficiency and agility.
Grid computing environments may be typified by
The use network distributed, shared pools of discrete resources to
achieve greater performance, scaling, resilience and utilization
Flexibility or mutability, as components are regularly repurposed or
re-provisioned in line with the business goals for the services that
run on them
A focus on services, rather than on components, as grids turn
networks into arbitrarily rich/complex fabrics of resources.
Application or service architectures which are disaggregated or
distributed in nature, for example Service Oriented Architectures
(SOAs) and which leverage the properties of the fabric of resources.
The consolidation of computing components into [typically] a smaller
number of larger resource pools to enable easier provisioning and
greater resource utilization.
The standardization of components and/or their interfaces,
configurations, processes and applications. Virtualization is an
example of this.
Provisioning is the act of putting a grid component into the active state so
that it is available to a consumer of the service or resource it supplies.
Resources, in the most general sense, are things, usually physical or logical
components, onto which services are provisioned. Resources are
considered to be grid components within the context of the EGA reference
model. Examples include server hardware, network switches, disc arrays,
software media and so forth.
Scale Out is the term usually applied to scaling an application or service
through the use of multiple service component instances, which typically
resolves to additional operating system instances and/or servers too (plus
clustering frameworks of various forms). This is synonymous with
Horizontal Scaling. A typical example of a service that scales out is a web
server tier of a multi-tier service.
Scale Up is usually applied to scaling an application or service by increasing
service performance and/or capacity through making more resources
available to an instance of a service or service component, typically within a
single instance of an operating environment and/or server. This is
synonymous with Vertical Scaling.
A service in the most general sense is something, usually one or more
software components, which responds to client requests. An electronic
bookstore application is a service. The database component of the
bookstore provides a data base service to the bookstore. Thus high level,
abstract services may be recursively decomposed into lower level
constituent services. In general, a service and all off its decomposable sub
services are considered to be grid components within the context of the
EGA reference model.
In general the term should be qualified or its meaning made obvious through
context.
An agreement between the provider and consumer of a service which
stipulates a set of properties or attributes that the service must satisfy,
possibly together with a definition of the payment and/or penalties
associated with meeting or failing to meet the agreed criteria.
Utility Computing is a term often applied to IT infrastructure and technology
which really captures the fact that that infrastructure may be paid for or may
deliver services which may be paid for based on use or value, rather than on
component cost. Enterprise Grids, by their nature will be service centric and
will require telemetry that will enable reconciliation of resources with the
services that consume them, i.e. cost with value, and thus enable utility
computing.
A layer of software or firmware/microcode that sits between one or more
operating systems and a server. It presents each hosted operating
environment with the impression that it has it's own dedicated server,
although in reality they all share the same physical server.
Adding a layer onto some entity so that the new entity exhibits the interface
properties of the original. This layer hides the true implementation of the
virtualized object so that the original can be changed or replaced without
fundamentally impacting the interaction of entities that have a dependency
on it. An example is disk LUNs, which present the interface of a disk, yet
may be implemented as a whole disk, a partition of a disk or perhaps an
aggregation such as a RAID stripe.
Copyright (c)2005 Enterprise Grid Alliance. All rights reserved. The information contained in this document may not be published, broadcast, rewritten or redistributed without the prior written authorization of Enterprise Grid Alliance. All inquiries regarding obtaining a license to this document should be directed to the EGA Executive Director at: EGA_Executive_Director@mail.gridalliance.org
TechTarget provides enterprise IT professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective IT purchase decisions and managing their organizations' IT projects - with its network of technology-specific Web sites, events and magazines.