Easy and ITRA (Inter-Tier Relationship Architecture) are technologies for providing Quality of Service, with a focus on high availability, in a multi-tier environment.
Today, significant and expensive application customization is required to support:
- Different sets of QoS (Quality of Service) attributes
- Different hardware and software environments
It has become standard practice for today's business applications to make availability and scalability QoS requirements for which clustering is the accepted approach to address such demands. However, as stated in a white paper by GartnerConsulting1 , "While clustering shows great promise as a high-availability solution, its viability today is limited by the complexity of implementing and maintaining the cluster." Developing, deploying, maintaining, and managing these applications is difficult to achieve with clustering because of the low-level nature of the existing interfaces and the intermingling of QoS concerns with business logic.
These low-level and platform specific technologies incur steep learning curves-both for the developer and the administratorand limit portability. They also often fail to do the job at hand.
The low-level nature of these technologies leads to a number of concerns. The developer must have expert knowledge of the platform and application logic since the QoS support is part of the application code. If the developer wants to make any changes to the QoS he/she must know where to look within the strings of code. It is also difficult to configure an application to provide a different level of service or to port the application to a platform with different QoS characteristics. In addition, due to the fact that the low level QoS APIs are part of the application, it becomes necessary to specify QoS requirements in implementation-oriented terms (e.g., three replicas) as opposed to requirement-oriented terms (e.g., 99.999% availability).
Finally, it is often difficult to get different mechanisms to work well together.
All of the issues listed above increase the cost of application development and administration. The need to reduce the cost of system's management was discussed in a recent keynote address given by Dave Patterson2 , "Systems should require only minimal ongoing human administration, regardless of scale or complexity. Today, the cost of maintenance = 10X cost of purchase".
- Reduce the cost of developing distributed applications
- Reduce the cost of administering applications on heterogeneous and dynamically changing platforms
To support end-to-end QoS on the Web, we need to address both the inter-tier and intra-tier aspects.
We have two complementing technologies:
- ITRA (Inter-Tier Relationship Architecture) - allows collaboration between neighboring tiers to provide end-to-end QoS.
- Easy - allows provisioning of an application with flexible levels of service within a tier in a multi-tier environment. A tier is a logical computation entity that can be supplied by a single machine, several machine clones, a cluster, etc.
1GartnerConsulting, "High-Availability Issues, Metrics and Investment," A white paper prepared for Intel Corporation, Engagement #19021350, January 2000.
2Dave Patterson "New Challenges for the PostPC Era," IPDPS Keynote, April 2001.