Sunteți pe pagina 1din 16

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

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - Fault-tolerant Servers & Other Redundant Hardware . . . . . . . . . . . . . . . . . . 6 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

Appistry

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 todays most demanding applications. By delivering high-levels of scalability and reliability across a virtualized fabric of commodity-class computers, application fabrics are eliminating the onceaccepted 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 Googles 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, Googles 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

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-constrainedproducing results as the power and dependability of the computing infrastructure allowthe most valuable of them are timecritical 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, highperformance 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

Appistry

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 enhancing 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 maximizing inventory efficiency, decreasing stock-outs and spoilage, increasing customer satisfaction, 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

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 approaches to deploying, managing and developing applications yield a host of benefits.

Dependable

First generation solutions rely on expensive, redundant hardware to prevent failure. Management tools and technologies exist apart from infrastructure.

Fully distributed, application-aware architecture yields simultaneous reliability, availability and scalability. Management intelligence unites infrastructure into single logical system. Simple, flat architecture fully virtualizes underlying resources.

Manageable

Adaptable
Source: Adapted from Building an Intelligent IT Infrastructure, Intelligent Enterprise, Dec. 2004

Infrastructure highly hierarchical with islands of functionality and multiple layers of specialized hardware. Approaches yield incremental cost reductions, typically focused in one area.

Affordable

Yields significant simultaneous cost reductions across application 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 todays 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

Appistry

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 represented 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 multiprocessing (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 maintenance, driving up operating costs over the long-term. Finally, this approach does not lend itself to agilityorganizations 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 provides 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 implementations. Clustering also provides some measure of scalability, however clustering application servers in practice only works predictably to the low tens of nodes (compare that to Googles 60,000+ nodes).

White Paper

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 lowcost 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 highperformance 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

Appistry

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

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 stovepiping 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

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 fabrics 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 fabrics 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 singlemachine 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

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 commoditygrade 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 running 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 fabrics 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 application running on in a matter of the days. This demonstration gives Sample Corp. the confidence it needs to solidify its decision.

12

Appistry

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

Googles 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 endusers often at sub-second rates. Googles 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 Googles underlying application fabric is that the companys 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 Googles 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

Application Fabrics: How Google Overcame Application Scalability and Agility Limits with a Virtualized, Real-Time Grid Environment

Fig. 2. Because an application fabric ensures scalability, dependability and manageability, inexpensive computers based on Intel and AMD CPUs can be fully utilized in the data center. Fig. 3. As scale of operations increases, businesses using traditional architectures require more servers to process the load, and complex architectures to stitch them together.

Application Fabric Value Proposition: Acquisition Costs

Application Fabric Value Proposition: Operational Costs

Price

Fault-Tolerant SMP Servers

Cost Time

Traditional Architectures based on Fault-Tolerant SMP Servers

Commodity-Grade Computers

Application Fabric-Based Architecture

Fig. 1

Fig. 2

Scale

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 fabrics 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

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 organizations 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 executives 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 fabricbased 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 companys success are bounded only by the limits of that companys creativity and follow-through.

White Paper

15

About Appistry
Appistry is the leading provider of application fabric software. Pioneering the nextgeneration of grid computing, Appistry is enabling enterprises to quickly, easily and cost-effectively deploy and manage large-scale, time-critical applications, thus minimizing operational complexity and increasing business agility.

About Appistry Enterprise Application Fabric


Appistry Enterprise Application Fabric (Appistry EAF) is software that allows customers to quickly, easily and cost-effectively deploy large-scale, time-critical applications across a virtualized grid of commodity-grade computers. Appistry EAF creates a scale without fail environment that provides scalability, dependability and manageability for the applications that run within it, insulating them from the underlying hardware and its frailties. As a result, fabric-based applications are extremely agile, able to quickly adapt to the changing demands on the business. Appistry EAF supports C, C++, Java and .NET programming languages such as C# and VB .NET. Microsoft Windows and Linux are supported operating systems.

By some recent reports, Googles 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. Copyright 2006 Appistry, Inc. Appistry and the Appistry logo are trademarks of Appistry, Inc. All other registered and unregistered trademarks are the sole property of their respective owners.

Appistry, Inc. One Cityplace Drive, Suite 470, St.Louis, MO 63141 main. 314.336.5080 fax. 314.336.5086

www.appistry.com

S-ar putea să vă placă și