Enterprise IT professionals are hearing quite a bit these days about the arrival of service-oriented architectures (SOA) as the preferred direction of application architecture and development.
The common elevator pitch is that SOAs are transforming monolithic applications into services, thus allowing portability, reusability and on-demand access. Instead of thinking about applications residing on a specific server, we should now think of ubiquitous services that can be used and shared more dynamically. The implied benefits are simplified design, code reuse and a giant step toward "business agility."
Further fueling enthusiasm for SOAs are some compelling statistics that suggest widespread industry buy-in and planning. Perhaps the most commonly cited SOA statistic is Gartner Inc.'s prediction that by 2008, 60% of enterprises will use SOA as their "guiding principle" when creating applications and processes. The Radicati Group Inc. expects the SOA market to reach $6.2 billion by 2008. The Yankee Group found that 75% of the 437 enterprises it surveyed in the U.S. are already planning large SOA investments.
To read the news, SOA isn't just the next big thing -- it's right around the corner.
But the essential consideration that somehow seems to be getting lost in the shuffle is that while SOAs may be the conceptual framework for increased agility on the application layer, the actual execution of modularized services requires a much better command of enterprise resources than the typical organization has today. SOA can use common Web services protocols (XML, SOAP, WSDL and UDDI) to distribute processes, but it in and of itself doesn't describe the distribution and management of the resources.
This is where the grid computing and SOA movements converge.
Grid enables an effective collection of distributed resources. Grid defines the virtualization of data and resources as well as mechanisms for resiliency, including monitoring, resource and data discovery, and security.
In order to execute a computing function, you need a process and a resource. Until the enterprise gets better command of its resources, the promised land of "services when and where you need them" will remain just an idea of where applications are heading. The unique combined capabilities of grid technology, including management of resources and information services -- all built on a foundation of security -- create the framework within which SOAs can succeed.
As I discussed in my previous column, grid computing is still at a critical phase in its transition from its scientific/academic roots to mainstream enterprise adoption. One of the largest hurdles along the way has been the ongoing perception that grid is strictly for fringe, high-performance computing use. When business professionals think of grid, they often think of computationally intensive tasks used to crunch algorithms for academic or scientific experiments. And in fact, grid computing has seen much of its early traction in vertical industries (such as financial) that have the greatest need to quickly crunch data and either simulate environments or react to large amounts of real-time information.
But what we're going to see as SOA takes off and the enterprise has to deal with hundreds or thousands of services spread across heterogeneous resources, rather than a few dozen applications residing on dedicated servers, is a host of new management concerns that grid is uniquely equipped to handle. We're going to find that before you can apply the economies-of-scale model to applications, you must have a different approach to IT management than the one that exists today.
In an era of SOAs, it's not just about managing the services, but also about managing the network infrastructure and the storage resources that have the data you're using. We're talking about a holistic view, where IT's success is defined by its ability to deliver the right resources to the problem or need. There are a lot of management vendors out there today. Some offer rich control on the data sources. Others offer control on the network, focusing on areas like packet prioritization or optical path provisioning at the fiber level. But while you can get a quality-of-service dial for a specific need, you can't get a single dial that will guarantee that your individual services are getting the resources they need, when they need them.
As rosy a picture as vendors might be painting, today's IT management is very manual -- lots of people running around rebooting machines and reacting to failures. So what happens when, instead of just worrying about the performance of dedicated applications running on dedicated machines, your IT infrastructure consists of thousands of services running on a variety of hardware?
The difference is that we are no longer dealing with large monolithic services, but smaller, more controllable units. Although there are more to maintain, they are much more manageable. There are also benefits of redundancy: If one system fails or becomes inaccessible, another can be used. Simplicity and redundancy are key drivers to lowering costs of operation.
The open-source grid community is very aware of the significance of the SOA progression. The promise of SOA (better synchronization, interoperability, optimization, etc.) has much in common with the promise of grid. The vision for "business agility" that we keep hearing about will be best reflected at the convergence point between grid and SOA architectures. And in fact, a major standards progression is quietly under way in the open-source grid community. Beginning a couple of years ago, we began developing a group of specifications that reflect a convergence of grid and Web services. Known as the Web Services Resource Framework, the specs have been submitted to the Organization for the Advancement of Structured Information Standards consortium and are being incorporated into the next version of the Globus Toolkit 4.0, to be released in early 2005. These specifications and others such as Web Services Distributed Management provide a basis for the service-oriented infrastructure that will enable service-oriented applications.
The typical IT professional has heard so much about SOAs in recent months that the tendency is to feel compelled to implement it as a near-term strategy for the enterprise. I would simply offer a reminder about the symbiotic nature of hardware and software and point out that until there is a good industry standard for resource delivery (which I believe will be achieved through open grid standards), the enterprise has a ways to go before the actual delivery of the SOA model can be realized.
Ian Foster is a co-founder of the Globus Alliance and an advocate of open-source grid. He can be reached at foster@mcs.anl.gov.