Moving into Service Oriented Computing
Essentially, the RESERVOIR project aims to support the emergence of Service-Oriented Computing as a new computing paradigm. In this paradigm, services are software components exposed through network-accessible, platform and language independent interfaces, which enable the composition of complex distributed applications out of loosely coupled components. Services will be a fundamental element of the online economy and will underlie virtually all business and government activities such as electronic commerce within and across organizational boundaries, enterprise applications, telecommunication systems, energy and utilities, healthcare, travel and entertainment and more.
Service-Oriented Computing (SOC) carries the visionary promise of reducing software complexity and costs, expediting time-to-market, improving reliability and enhancing accessibility of consumers to government and business services. However, conditional to the wide-scale penetration of SOC to the economic landscape, the ICT industry needs to solve several well-recognized technical challenges. One such key challenge is the development of a scalable and effective service-oriented infrastructure. This is the challenge addressed by RESERVOIR.
The “Service Oriented Infrastructure (SOI) Equation”
To accomplish the vision, our work will extend, combine and integrate three technologies: virtualization, grid computing and business service management (BSM). We believe this approach can realize the vision of ubiquitous utility computing, by harnessing the synergy between the complementary strengths of these technologies. Graphically, this research strategy is represented by the “Service Oriented Infrastructure (SOI) Equation”:
Virtualization and Grid. Virtualization technology has shown to be useful in overcoming some barriers to commercial adoption of grid technology. However, to fully benefit from virtualization, RESERVOIR will extend contemporary virtualization infrastructures to be grid-aware, e.g., by supporting live migration across administrative domains. On the other hand, RESERVOIR will add virtualization-awareness to the grids, for example, by using low-level monitoring information (available in virtualized systems) for metering and billing. We believe that these extensions will lay a foundation for a dynamic and easier-to-use service-oriented infrastructure, and that the resultant whole (SOI) is larger than the sum of its parts (virtualization and grid technology).
Business Service Management (BSM). To fully benefit from the dynamic nature of the RESERVOIR Compute Cloud, we will develop a uniform policy-driven management layer that will automatically allocate resources to services and monitor execution and utilization to ensure compliance to Service Level Agreements (SLA) by adjusting resource allocation level and location. The new capabilities of the infrastructure will enable us to explore new allocation policies, optimizing over a range of parameters that is wider than what is commonly done today, e.g. the reduction of power consumption.
Having described the base technologies which we will build upon, we can now further elaborate on the novel principles comprising the RESERVOIR Compute Cloud. The following ideas, based on the spirit of the “SOI Equation”, are the innovative principles of our proposed next-generation SOI:
The Idea of Provisioning Services as Utilities
The vision of RESERVOIR is to enable the delivery of services on an on-demand basis, at competitive costs, and without requiring a large capital investment in infrastructure. Our research is inspired by a strong desire to liken the delivery of services to the delivery of utilities in the physical world. For example, a typical scenario in the physical world would be the ability of an electrical grid in one country to dynamically provide more electric power to a grid in a neighbouring country to meet a spike in demand.
We recognize that provisioning services from disparate service domains on-demand is arguably a more complex problem than the analogous problem of provisioning a utility in the physical world. For example, a service may be a composition of numerous distributed resources, including computing, storage and network elements. Provisioning a new service will consume physical resources, but cannot be allowed to cause an SLA violation of any other running application. Additionally, once initially provisioned, resources composing a service may be moved to other domains based on lower costs, performance or availability considerations. Our research will address those issues and minimize the barriers to delivering services as utilities.
Advanced End-to-End Support for Service-Oriented Computing
Service Oriented Computing (SOC) is a paradigm shift in the way software applications are designed and implemented to support business processes and users. SOC is built on the Service Oriented Architecture (SOA), which, while still emerging, is generally considered to implement (at least) the following principles:
- Services are reusable
- Services are autonomous, loosely coupled, and platform independent
- Services need to conform to the requirements of a service contract
- Services can be combined to form larger, multi-tier solutions
- Services can be described, published and discovered
While SOA gives the general architecture to enable Service Oriented Computing, it does not address the fundamental issues required for an actual deployable solution, such as end-to-end security, service deployment, management and orchestration, service billing, and interpretation and monitoring of Service Level Agreement (SLA) conditions. RESERVOIR, as an infrastructure project, will develop the technologies required to address these gaps, making the SOC paradigm a reality in the European economy.
Service and Resource Migration without Boundaries
The logical separation of a computing process and the physical environment on which it is hosted enables the migration of the process from one physical environment to another, without affecting the process. Today, this separation is achieved either (1) by limiting the knowledge that the computing process has about the environment on which it is running, or (2) by imposing hard constraints on the configuration of the infrastructure.
The first approach, commonly used in today’s scientific applications, is restricted to self-contained independent processes that can be easily check-pointed and restarted elsewhere, for example processes that analyze large amounts of data but rarely interact with other processes or users. This restriction renders this approach inappropriate for the type of commercial services which RESERVOIR aims to support.
In the second approach, widely used in today’s commercial server virtualization offerings, the configuration of all the physical resources in the infrastructure has to be identical. For example, the commercial VMotion product from VMware only supports migration when the source and destination hypervisors are on the same subnet and have shared storage. Clearly, these configuration limitations make this approach inapplicable to a large geographically distributed infrastructure that spans administrative domains.
RESERVOIR plans to remove these limitations or boundaries and take virtualization forward to the next level in order to allow the migration of resources across geographies and administrative domains, maximizing resource exploitation, and minimizing costs to the European citizen.
Federated Heterogeneous Infrastructure and Management
Commercial virtualization systems typically offer non-standard management interfaces which are limited to their proprietary technologies and environments. In contrast, RESERVOIR will introduce an abstraction layer that will allow us to develop a set of high level management components that are not tied to any specific environment. To demonstrate the applicability of this generic management layer, we will use at least two different virtualization technologies: Virtual Machines (VMs) and Virtual Java Service Containers (VJSCs). Furthermore, RESERVOIR will collaborate with standardization bodies to create standard interfaces that will enable interaction between distributed sites or grid environments, allowing the federation of infrastructures.
