1. White Paper
Application Fabrics:
How Google Overcame Application
Scalability and Agility Limits with a
Virtualized, Real-Time Grid Environment
The Fabric of Business www.appistry.com
2. Application Fabrics: How Google Overcame Application Scalability and Agility Limits with a
Virtualized, Real-Time Grid Environment
Contents
Executive Summary 3
Competitive Advantage Built On “Real-Time” Insights 4
Requirements of Time-Critical Applications 4
Limits of Traditional Approaches 6
- Traditional Grid Computing 6
- Fault-tolerant Servers & Other Redundant Hardware 7
- Clustered Application Servers 7
Application Fabrics: An Overview 8
- Application-Level Fault Tolerance 10
- Automated Management 11
- Additional Features 11
Putting Application Fabrics to Use 12
Google Puts Its Application Fabric To Highly Productive Use 13
Benefits of Application Fabric Software to Key Stakeholders 13
Conclusion 15
About Appistry 16
About Appistry Enterprise Application Fabric 16
Case Study: Meeting the Challenges of Large-Scale Supply Chain
Optimization for a Global Retailer
- Part I: The Challenges 5
- Part II: The Alternatives 10
- Part III: The Solution 12
2 Appistry
3. Application Fabrics: How Google Overcame Application Scalability and Agility Limits with a
Virtualized, Real-Time Grid Environment
Executive Summary
Enterprises today look to software applications not just to make existing processes
more efficient, but also to power new insights and capabilities for driving business agility
and competitive advantage These strategic applications are frequently CPU- and/or
data-intensive, and are also time-critical in nature
The combination of CPU/data-intensive and time-critical requires that the applications
exhibit both scalability and dependability, a tall order that many traditional approaches
fail to successfully or cost-effectively meet In addition, agile enterprises also require that
their strategic applications keep pace with the change of business
A new type of software-based application environment – the application fabric – is
successfully and cost-effectively meeting the requirements of today’s most demanding
applications By delivering high-levels of scalability and reliability across a virtualized
“fabric” of commodity-class computers, application fabrics are eliminating the once-
accepted trade-offs among application scalability, dependability, manageability and
affordability
This fabric-based approach to application deployment and management represents
the next-generation of grid computing, enabling applications that allow companies
to accelerate and improve decision-making, provide better value and service to
consumers, and operate more efficiently, with the overall result of getting ahead – and
staying ahead – of the competition
Application fabrics are in use today by some of the savviest enterprises in the world,
who understand that technology-related advantages can enable powerful business
agility A great example of a company that is reaping the benefits of its technology
advantages is Google Google is a company known for many things, not the least
of which is its ability to keep up with the dramatic growth of its core search engine
business while also developing and launching new services The agility of Google’s
business is powered by what can be characterized as an application fabric that Google
developed in-house to support its CPU-intensive, time-critical core applications
With its 200 computer science PhDs and 600+ additional computer scientists, Google
can afford to develop and maintain its own custom application fabric For most other
organizations, the right approach is to rely on commercially available and supported
application fabric software, which delivers what Google built for itself – a grid that can
reliably deliver results in real-time
The purpose of this white paper is to provide an overview of application fabrics and the
business and technology advantages gained in their use
By some recent reports, Google’s computing infrastructure consists of over 400,000 computers Yet the
company remains a model for the agile enterprise For this reason, we reference Google as an example
throughout this whitepaper This industry example has not been sponsored or endorsed by Google, nor
has the company evaluated or endorsed Appistry or its products
White Paper 3
4. Application Fabrics: How Google Overcame Application Scalability and Agility Limits with a
Virtualized, Real-Time Grid Environment
Competitive Advantage Built On “Real-Time” Insights
Few enterprises today need to manage computing applications as vast as the Google
search engine Yet many enterprises can, and do, benefit from strategically deployed
applications designed to create competitive advantage by providing unique insight into
their businesses
Often these new insights are provided by CPU- and/or data-intensive applications
custom-developed to meet the highly differentiated needs of the business While some
of these applications are not time-constrained—producing results as the power and
dependability of the computing infrastructure allow—the most valuable of them are time-
critical in nature Managers of the business depend on these strategic applications to
provide them with timely operational decision support
Encompassing applications in established categories such as business analytics, high-
performance computing, and data-processing, time-critical applications abound in a
wide variety of industries:
• routing and scheduling in transportation and distribution
• inventory optimization and demand forecasting in retail
• price and production optimization, configuration, and supply chain management in
manufacturing and packaged goods
• SIGINT analysis, threat detection and scenario analysis in intelligence and homeland
security
• risk management, fraud detection and pricing in financial services and telecom
Many organizations seek to deploy these capabilities not as stand-alone applications,
but as services within a service-oriented architecture (SOA) environment In a SOA
environment, business logic is not rigidly associated with a single application, but rather
is made available as Web services to be accessed and assembled into a variety of
composite applications, for a variety of audiences
Application fabrics represent a new era for time-critical applications, whether deployed
stand-alone or as Web services within an SOA environment Application fabrics free
organizations to innovate new operational capabilities and insights without concern for
compute-power constraints and related reliability issues
Requirements of Time-Critical Applications
Time-critical applications present a set of demanding requirements to the businesses
that need them and the technology organizations responsible for realizing them:
• Deployability Enterprises must be able to easily and quickly bring these
applications “to market,” and deploy enhancements over time to keep up with an
4 Appistry
5. Application Fabrics: How Google Overcame Application Scalability and Agility Limits with a
Virtualized, Real-Time Grid Environment
ever-changing business environment This requires that the environment in which
the applications run transparently deliver the scalability and reliability that the
applications require, without a costly and time-consuming development effort
• Scalability These applications are CPU- and/or data-intensive, demanding
increasing computing power as the business grows As a result, the environment
in which these applications run needs to scale effectively and distribute workload
effortlessly both initially, and over time
• Dependability These applications must be dependable, which means the
application must be both available and reliable Availability means the application
is ready to accept work at all times, and reliability means that the application will
complete the work assigned to it – on time, every time
• Manageability Enterprises must be able to easily manage these applications,
including being able to automate updates, incrementally add capacity to reach new
levels of application capability, and view the environment in which the applications
run as a single system
• Affordability Organizations are looking to take advantage of the price/performance
offered by readily available commodity grade computers, as well as to mitigate
the high operating costs that have plagued traditionally architected strategic
Case Study: Meeting the Challenges of Large-Scale Supply Chain Optimization for
a Global Retailer
Part One of Three: The Challenges
Sample Corp represents a global retailer that has spent several years developing and en-
hancing complex algorithms to make dynamic inventory purchasing and allocation decisions
based on inventory levels, warehouse locations and other resource patterns The goal is to
provide “real-time” optimized inventory purchase levels and positioning plans, thus maximiz-
ing inventory efficiency, decreasing stock-outs and spoilage, increasing customer satisfac-
tion, and reducing a host of substantial costs including labor, fuel and vehicle maintenance
With some of the most brilliant supply chain management professionals in the field on staff,
Sample Corp is eventually able to get to a point where its dynamic algorithms work from
a technical standpoint Yet, the application is not ready for production – with the volume of
goods that need to be procured and positioned daily, the application will regularly be called
upon to exhibit “extreme” levels of scalability and reliability Specifically, the CPU-intensive
nature of the dynamic optimization algorithms presents a steep dependability challenge And
on top of all that, Sample Corp prefers to run its applications on low-cost hardware rather
than expensive, high-end servers
Note: This case study presents a hypothetical scenario based on the experiences of actual Appistry customers
White Paper 5
6. Application Fabrics: How Google Overcame Application Scalability and Agility Limits with a
Virtualized, Real-Time Grid Environment
Infrastructure-Centric Application-Centric
Fig 1 Application-centric First generation solutions rely on Fully distributed, application-aware
approaches to deploying, expensive, redundant hardware architecture yields simultaneous
managing and developing Dependable to prevent failure. reliability, availability and scalability.
applications yield a host
of benefits
Management tools and technologies Management intelligence unites
exist apart from infrastructure. infrastructure into single logical
Manageable system.
Infrastructure highly hierarchical Simple, flat architecture fully
with islands of functionality and virtualizes underlying resources.
Adaptable multiple layers of specialized
hardware.
Source: Adapted from
“Building an Intelligent IT Approaches yield incremental cost Yields significant simultaneous
Infrastructure”, Intelligent reductions, typically focused in cost reductions across application
Enterprise, Dec 2004 Affordable one area. development, infrastructure and
management.
applications So these applications need to be supported by an environment that
provides a cost-effective approach to deploying, scaling and maintaining these
applications
Limits of Traditional Approaches
There are very good reasons why Google did not turn to one of the traditional
approaches to meet the requirements of its powerful applications, and why other
enterprises are actively searching for a new and better solution for deploying and
managing large-scale, time-critical applications
Traditional approaches typically involve hardware-centric, multi-layered architectures
which lead to distinct points of weaknesses and create insurmountable trade-offs
among application scalability, dependability, manageability and affordability These
approaches put applications at the mercy of the complexity and rigidity of the
infrastructure, rather than providing an environment capable of meeting the needs
described above
Traditional approaches that struggle to meet the requirements of today’s most
demanding applications include:
Traditional Grid Computing
Traditional grid computing models promote scaling applications using existing,
heterogeneous resources that may have extra computing capacity to “lend” to other
6 Appistry
7. Application Fabrics: How Google Overcame Application Scalability and Agility Limits with a
Virtualized, Real-Time Grid Environment
applications That model is great from the standpoint that it increases the utilization of
existing resources, but it presents serious fault-tolerance, deployment and management
challenges
Traditional grid computing software provides little or no consideration for fault-tolerance,
with poor error detection and work restart capabilities, and therefore is a poor solution
for time-constrained applications that require reliable and timely execution of computing
tasks Additionally, traditional grid computing provides little or no consideration for
manageability, requiring that each resource in the grid be managed separately rather
than as a single, virtual system
Finally, traditional grids are difficult to deploy, requiring significant manual intervention to
bring resources on line and unwieldy re-architecture to get existing applications up and
running
Fault-tolerant Servers & Other Redundant Hardware
Mainframes and massively redundant servers with shared memory have long repre-
sented the gold standard for scalability and dependability in enterprise applications, but
those attributes came at a high price
Initial cost outlays and annual maintenance fees for such specialized hardware are
much higher than for applications deployed even on high-end symmetric multiprocess-
ing (SMP) servers, and orders of magnitude higher than for applications deployed on
commodity hardware Moreover, specialized hardware and the associated proprietary
operating systems typically require esoteric skills for application development and main-
tenance, driving up operating costs over the long-term
Finally, this approach does not lend itself to agility—organizations building applications
based on “big iron” are typically forced to project needs far into the future and face
massive re-architecture should they require additional scale
Clustered Application Servers
Many organizations now run enterprise applications on clustered SMP servers running
J2EE or NET application servers This type of clustering focuses on load-balancing
across multiple high-end servers for workload management The approach also pro-
vides for some measure of availability, but much of the work required to create reliability
– making sure that all work completes on time, as intended – falls to the developer
Beyond the simplest of stateless applications, true reliability through J2EE or NET
clustering poses a complex programming challenge that requires not only a thorough
understanding of the framework specifications, but also a large number of additional
libraries, many of which work differently with different application server implementa-
tions Clustering also provides some measure of scalability, however clustering applica-
tion servers in practice only works predictably to the low tens of nodes (compare that to
Google’s 60,000+ nodes)
White Paper 7
8. Application Fabrics: How Google Overcame Application Scalability and Agility Limits with a
Virtualized, Real-Time Grid Environment
Case Study: Meeting the Challenges of Large-Scale Supply Chain Optimization
for a Global Retailer
Part Two of Three: The Alternatives
Given its criteria, including scalability, dependability, and running its applications on low-
cost hardware, Sample Corp considers several alternatives:
Clustered J2EE application servers Though the cost associated with this solution is a
consideration, this alternative is quickly ruled out by the system architect not because
of cost but because of the scale-out limitations associated with clustered application
servers With a known practical limit in the low tens of nodes, clustered application
servers can not be relied upon to meet the scalability needs of the business
Traditional grid computing While traditional grid computing can potentially provide the
scalability that Sample Corp is looking for, it is ruled out as a viable alternative primarily
because of its disregard for fault tolerance While traditional grid computing may be fine
for CPU-intensive applications that are not time-constrained, Sample Corp needs to be
assured that optimized decision support is available on-time, every time
Once put into production, clustered application servers can be fragile and require
significant manual intervention Many companies choosing this approach also purchase
expensive add-on management software
Application Fabrics: An Overview
Two major IT trends – commoditization of computing hardware and ubiquity of high-
performance networking – have made a new kind of application infrastructure software
possible: application fabrics Application fabrics deliver on the promise of “real-time”
grid computing, virtualization and utility computing, and are applicable to the most
demanding CPU- and data- intensive applications in the enterprise An application
fabric provides a software-based environment that simultaneously delivers scalability,
dependability, manageability and affordability for time-critical applications
Compared to the traditional grid computing approach, application fabrics create a
self-managing, self-healing application environment out of standards-based commodity
hardware and operating systems, rather than relying on a set of separately-managed,
heterogeneous resources to provide additional computing power This difference
is very important for several reasons Most importantly, this architectural approach
allows application fabrics to provide support for time-sensitive applications that are
unable to withstand the latency and unpredictability associated with batch-oriented
8 Appistry
9. Application Fabrics: How Google Overcame Application Scalability and Agility Limits with a
Virtualized, Real-Time Grid Environment
technologies like traditional grids Further, this approach allows application fabrics to
virtualize the commodity hardware nodes into a single system, enabling developers and
administrators to view and manage the hardware as if it were a single computer Finally,
this architecture provides application-level fault-tolerance, rather than depending on
the reliability of a collection of heterogeneous infrastructure resources under distributed
control
The movement toward application fabrics, which began with large Internet sites like
Google and is now penetrating enterprise computing environments, is based on the
following premises:
• Time-critical applications require simultaneous scalability, dependability,
manageability and affordability Application infrastructure must eliminate the
once-expected trade-offs among these requirements
• The application is all that matters Any infrastructure exists to serve the
application, not the other way around
• Physical infrastructure is an interchangeable commodity Standards-based
computing infrastructure has advanced to the point that organizations seeking
to maximize dependability and minimize cost can purchase the most affordable
hardware available
• Hardware will inevitably fail, so insulate the application Developers and
administrators should worry as little as possible about physical infrastructure Rather
than trying to prevent failure at all costs — which is impossible — an application
fabric accepts that failure will happen and deals with it by assigning application-level
tasks to multiple nodes in the fabric
These premises have created a consensus around basic requirements for application
fabrics While individual implementation approaches may differ, application fabrics share
the following general characteristics:
• Scale-out virtualization Application fabrics can easily scale out across tens,
hundreds, or even thousands of commodity computers, yet are viewed and
managed as a single system
• Application-level fault tolerance Fabric applications derive their dependability
from the fabric itself, rather than from the hardware on which they run
• Automated management Application fabrics dynamically discover and assimilate
new hardware and software, minimizing administrative and operational overhead
These characteristics work together to create a computing environment that is
simultaneously scalable, dependable, manageable and affordable
Scale-out Virtualization
An application fabric ensures scalability for time-critical applications by deploying
these applications across many physical machines To achieve cost-savings benefits,
application fabrics are most often deployed on low-cost, commodity-grade machines,
though they can be run on any type of hardware
White Paper 9
10. Application Fabrics: How Google Overcame Application Scalability and Agility Limits with a
Virtualized, Real-Time Grid Environment
An application fabric could not provide the promised low cost of ownership if
administrators were required to maintain each computer separately or manually define
the internal configuration of the fabric An application fabric makes it cost effective to
deploy applications on commodity hardware by virtualizing many machines so that they
can be viewed and managed as a single system
The abstraction of many machines to one also enables developers to write distributed,
highly scalable applications while avoiding many of the challenges traditionally
associated with distributed software Developers can basically write fabric-based
applications expected to run on one-hundred computers the same way they would
write an application expected to run on a single computer
In practice, scale-out virtualization provides several measurable benefits:
• Organizations can deploy fabric applications using commodity hardware, reducing
upfront deployment costs
• CPU-intensive applications get the scalability offered by a highly distributed
environment with greatly simplified development and management
• Managers and administrators can treat the application fabric as a single system,
reducing the need to use specialized software and infrastructure to synchronize
machines, and thereby reducing administrative costs
• Organizations can add extra capacity as required, increasing their agility and
enabling them to take advantage of advances in hardware price/performance
without changing their existing applications or incurring downtime as they are
deployed to the new hardware
Organizations can run multiple applications in one fabric, eliminating application stove-
piping and enabling organizations to derive maximum computing power from their
hardware investments
Application-Level Fault Tolerance
An application fabric transparently enables fault tolerance at the application layer, rather
than through specialized hardware, proprietary operating systems, or manual coding of
distributed applications
Traditional approaches to dependability apply redundancy principles in a blunt,
inefficient fashion, typically yielding only a limited measure of availability: once the failure
condition is detected and the failover regime is enacted, new work is directed to a
standby system for processing them Yet all work-in-flight on the failed system has been
lost, and must be reconstructed from available log files if the application architecture
provides for such recovery
The application fabric approach to dependability begins with the application, not
the hardware, and as a result is able to operate in a much more granular fashion
when needed, automatically replicating transaction or task state at key points in
the application Because the application fabric transparently propagates this state
information among multiple computers, the fabric can gracefully survive the loss of one
or more nodes, with program execution continuing where it left off
10 Appistry
11. Application Fabrics: How Google Overcame Application Scalability and Agility Limits with a
Virtualized, Real-Time Grid Environment
The level of granularity with which the fabric manages state is determined by the
application architect or developer Whereas an architect may choose to deploy existing
applications on a fabric unmodified, offering relatively course-grained reliability, a new
application being targeted for fabric deployment might utilize a more fine-grained
approach
Since the fabric manages state propagation across machines, developers can focus
on the business logic of their applications without worrying about writing their own
mechanisms for preserving state, retrying failed connections, or reconstituting failed
tasks or transactions Developers can declare, without revisiting existing code, how
long to wait for the successful completion of a task, how many times to retry something
on failure, and how to perform compensating transactions in the event of an external
system fault The behaviors required to ensure the completion of a task or transaction
are built into the fabric itself, and any application built around the fabric inherits those
services
Once an application fabric is running, the developer and administrator need not do
anything special to ensure that tasks or transactions succeed, even in the event of
catastrophic failure The dependability of the solution is inherent in the fabric
Automated Management
Since an application fabric environment is virtualized across a potentially large number
of computers, the fabric software provides the automation necessary to ensure cost
effective and efficient system management Furthermore, all changes to a fabric’s
infrastructure, operating software, or running applications can be made dynamically
– with no disruption to a production fabric or its running applications
As a result, application fabrics free IT administrators and operations staffs from
being tethered to the momentary state of the physical infrastructure, enabling the
infrastructure to change in real time without impacting the runtime performance of
the application portfolio Modern application fabrics enable this kind of virtualization
automatically, adjusting transparently to changes in the infrastructure underlying the
fabric The application fabric software can even detect when new “bare metal” has been
added to the fabric’s network, automatically installing the appropriate operating system,
fabric software and applications New transactions or service requests are then routed
to the added resources with no manual intervention
This type of automated management greatly reduces the administrative and operational
burden of running a highly distributed environment By automating the deployment of
application and operating system updates, an application fabric can all but eliminate
rote maintenance tasks
Additional Features
Increasingly, advanced application fabric software is mimicking features of single-
machine computers and the operating systems that control them For example,
application fabrics may have their own memory and disk resources, which are of course
virtualized across multiple physical computers In the case of fabric-based memory,
White Paper 11
12. Application Fabrics: How Google Overcame Application Scalability and Agility Limits with a
Virtualized, Real-Time Grid Environment
many organizations are using the distributed, in-memory caching it offers to accelerate
the performance of data-intensive applications
Application fabrics may also have their own event handling and internal message
queuing systems, allowing event- and message-oriented applications to take advantage
of the scalability, dependability, manageability and affordability of the application fabric
environment
Putting Application Fabrics to Use
At some point in the future, application fabrics will become a standard deployment
option for all applications At this point in the maturity of the market, application fabrics
are being used most frequently to benefit time-critical analytics, high-performance
computing and data-processing applications, deployed either as stand-alone
applications or as Web services within an SOA environment These applications can be
characterized as CPU- and/or data-intensive in their efforts to provide timely business
insights and capabilities that are essential to the ongoing operations of an enterprise
For time-critical applications that are CPU-intensive, application fabrics provide
effortless scaling across a “fabric” of hundreds or even thousands of commodity-
grade computers At the scale often required for these applications, the automated
management offered by application fabrics becomes a key consideration, greatly
reducing application total cost-of-ownership (TCO)
For time-critical applications that process high volumes of data, reliability is paramount
Organizations cannot afford failure mid-way through a process or transaction, which
might cause errors and inconsistencies throughout multiple systems For these
applications, application fabrics provide the reliability of expensive, high-end systems at
the cost of commodity hardware
Case Study: Meeting the Challenges of Large-Scale Supply Chain Optimization
for a Global Retailer
Part Three of Three: The Solution
In the end, Sample Corp chooses to deploy its application in an application fabric run-
ning on nearly one hundred commodity-class computers Application fabric software
first and foremost meets all of Sample Corp ’s key requirements The fabric enables
effortless scaling of the application, and the fabric’s application-level fault tolerance
ensures that the application will be insulated from any physical infrastructure-related
failure Secondarily, but importantly, Sample Corp is able to see its fabric-enabled ap-
plication running on in a matter of the days This demonstration gives Sample Corp the
confidence it needs to solidify its decision
12 Appistry
13. Application Fabrics: How Google Overcame Application Scalability and Agility Limits with a
Virtualized, Real-Time Grid Environment
For both CPU- and data-intensive time-critical applications, the effortless scaling of
application fabric environments enables organizations to bring online only the computing
power they need today, with the knowledge they can easily add additional computers
later, as needed
CPU/data-intensive time-critical applications may be deployed as Web services within
an SOA environment, rather than as stand-alone applications In services-oriented
environments, business logic is not rigidly associated with a single application, but
rather available as Web services to be accessed and assembled into a variety of
composite applications, for a variety of audiences Time-critical applications composed
of a large number of services can become very brittle, since the failure of one basic
service can cause a chain reaction that brings each of the composite applications that
consume that service to a halt Deploying an application fabric as a key component of a
services-oriented environment secures the dependability of individual services and thus
ensures the performance of time-critical applications that rely on those services, without
the need for additional hardware or software infrastructure
Google Puts Its Application Fabric To Highly Productive Use
Google’s application fabric underlies its powerful core applications, including its search
engine For each search request, the search application queries a 40+ terabyte index
of over 4 billion Web pages to produce search results, which are delivered to end-
users often at sub-second rates Google’s applications are run on 60,000+ famously
inexpensive commodity computers running Linux, and its application fabric manages
these tens of thousands of computers as a self-managing and self-healing network
that is both extremely scalable and inexpensive considering its capability The fabric
facilitates bringing new machines on line to expand capacity and allows dead machines
to be swapped-out at the system administrators’ convenience, all without interruption of
service
The result of Google’s underlying application fabric is that the company’s executives
can work to grow the business, enhance existing services and create new ones, all
without concern for the ability of its applications and infrastructure to keep up And
not only can Google’s application fabric keep up, but it can do so with linear cost
increases to add capacity, rather than periodic massive overhauls to re-architect for
new requirements
Benefits of Application Fabric Software to Key
Stakeholders
Overall, application fabrics benefit enterprises by enabling applications to be
simultaneously scalable, dependable, manageable and affordable These applications
can create new capabilities and insights for the business, which drive greater business
agility and competitive advantage
White Paper 13
14. Application Fabrics: How Google Overcame Application Scalability and Agility Limits with a
Virtualized, Real-Time Grid Environment
Fig 2 Because an Application Fabric Value Proposition: Application Fabric Value Proposition:
Acquisition Costs Operational Costs
application fabric ensures
scalability, dependability
and manageability,
Price
inexpensive computers
Cost
Fault-Tolerant SMP Servers
based on Intel and AMD Traditional Architectures based
CPUs can be fully utilized on Fault-Tolerant SMP Servers
in the data center
Fig 3 As scale of
operations increases,
businesses using
traditional architectures
Commodity-Grade Computers
require more servers to
Application Fabric-Based Architecture
process the load, and
complex architectures to
Fig. 1 Time Fig. 2 Scale
stitch them together
Specifically, application fabrics benefit numerous key stakeholders within an
organization:
• Application architects and developers Application architects and developers
are in the business of translating business requirements into technology-based
solutions Traditional application deployment approaches require architects to
design to the limitations of the infrastructure Application fabric software frees
architects from having to trade-off among scalability, dependability, manageability
and affordability, thus allowing them to focus on creating maximum business value
With application fabric software, developers are also freed from infrastructure
limitations, in particular the need to worry about complicated distributed computing
concepts Instead, developers can write code as if the applications were going to
be deployed on a single computer
• Systems administrators Systems administrators are responsible for deploying
and managing applications and their infrastructure, including adding capacity to the
infrastructure as the demands on a given application grow With application fabrics,
administrators can treat a network of commodity machines as a virtualized single
system, easing deployment and management challenges as all changes to any
hardware, software, or applications running within the fabric happen dynamically
Further, application fabric software can detect when new “bare metal” has been
added to the fabric’s network, automatically installing the appropriate operating
system, fabric software and applications
• Technology executives IT and engineering executives are responsible for enabling
competitive advantage through technology-related initiatives, while minimizing
the cost of doing so Application fabrics provide a dependable environment that
14 Appistry
15. Application Fabrics: How Google Overcame Application Scalability and Agility Limits with a
Virtualized, Real-Time Grid Environment
IT executives can count on to make strategic applications scalable, dependable,
manageable and affordable As a result, technology executives can bring new
capabilities and insights to market faster, driving forward the organization’s ability to
outpace the competition And because they run on commodity-grade hardware and
industry-standard operating systems, application fabrics also minimize the cost of
deploying and scaling these applications Another large component of a technology
executive’s job is to manage the talent within a technology organization In the
past, these executives were forced to deploy senior development staff to manually
build scalability and reliability into application environments With application fabric
software, executives can rely on the fabric layer to provide these qualities, rather
than expensive and hard-to-find development talent
• Business executives Business executives are concerned with the overall success
of the business, which requires the agility to stay ahead of the competition
Appistry EAF supports competitive agility by decoupling strategic applications
from the limitations of their physical infrastructure Confident that their fabric-
based applications will keep pace, business executives are freed to imagine new
capabilities and drive for new insights, thus improving decision-making, providing
better value and service to consumers, operating more efficiently, and, ultimately,
staying ahead of the competition
Conclusion
With the commercial availability of application fabric software, enterprises no longer
have to make trade-offs among scalability, dependability, manageability and affordability
for large-scale, time-critical applications Rather than architecting these strategic
applications to function within the limits of its infrastructure, enterprises are freed to
imagine new capabilities and drive for new insights, confident that their fabric-enabled
applications will keep pace and serve the business’ needs as they evolve
Google is a powerful proof point that the future of application software is not in big iron,
but rather is in small silicon in large volumes Application fabric software makes available
to all companies what Google has built for itself – a real-time grid that delivers not only
effortless scalability, but also virtualization, fault tolerance and automated management
Together, these capabilities enable a new level of business agility, where the limits of
a company’s success are bounded only by the limits of that company’s creativity and
follow-through
White Paper 15