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 fuelling enthusiasm for SOAs are some compelling statistics that suggest widespread industry buy-in and planning. Perhaps the most commonly cited SOA statistic is Gartner's prediction that by 2008, 60 per cent of enterprises will use SOA as their "guiding principle" when creating applications and processes. The Radicati Group expects the SOA market to reach $6.2 billion by 2008. The Yankee Group found that 75 per cent 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 modularised services requires a much better command of enterprise resources than the typical organisation 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.
Grid computing and services oriented architectures
This is where the grid computing and SOA movements converge.
Grid enables an effective collection of distributed resources. Grid defines the virtualisation 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.
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.
New management required
But 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, we're going to see 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's 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 prioritisation or optical path provisioning at the fibre 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?
Smaller, more manageable SOA units
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 synchronisation, interoperability, optimisation, 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 realised.
Ian Foster is a co-founder of the Globus Alliance and an advocate of open-source grid. He can be reached at [email protected]