Skip to main content

skip to main content

developerWorks  >  SOA and Web services | Architecture  >

Perspectives on grid: Virtualization as a foundation for SOA environments

Synergies, alignment, and the relationship between SOA and infrastructure virtualization

developerWorks
Document options

Document options requiring JavaScript are not displayed


Rate this page

Help us improve this content


Level: Intermediate

Matt Haynos (mph@us.ibm.com), Program Director, Grid Technology and Strategy, IBM 

27 Jun 2006

SOA and infrastructure virtualization techniques are highly synergistic. As services take hold in enterprises, and their size and scale grows, it will become increasingly necessary to implement infrastructure virtualization techniques to support them. Without infrastructure virtualization, enterprises become exceedingly complex to manage and the primary benefits of agility and flexibility difficult to realize. In this article, Matt Haynos provides a cursory analysis of the similarities and differences between grid computing and SOA and infrastructure virtualization techniques.

In this "Perspectives on grid" series, I've been examining the relationship of many grid areas and trends. Three of the articles go into some depth on the importance of fusing effective automation and data management disciplines into the grid environment. Two of the articles explore what makes up grid -- its essence -- and, for example, how grid is either similar to or different from Common Object Request Broker Architecture (CORBA) and Peer-to-peer (P2P) distributed computing systems.

A popular topic today is the notion of the Service-Oriented Architecture (SOA). A recent issue of eWeek (see Resources) referenced a CIO survey by Merrill Lynch in which 87 percent of the participants cited SOA "as the next big thing" in enterprise software. (Personally, I think SOA is already big.)

It's no wonder why CIOs are interested in SOA. Business challenges and pressures are becoming increasingly intense and global in nature. There is now a need for new types of businesses and operating models. In IBM's 2006 Global CEO Study (see Resources), two-thirds of the business leaders said they plan to "radically change" the shape of their companies in the next two years. And they need to do it quickly for the following reasons: The first companies to market usually stake out strong positions and capture the lion's share of profits, and opportunities materialize so quickly and vanish so rapidly that speed and time to market are essential.

But this proposition isn't so easy. At least not for CIOs. They have to contend with myriad architectures, interfaces, and technologies that constrain their ability to provide a technology infrastructure, which could support -- or even facilitate -- responding to competitive market dynamics.

It's against this backdrop that SOA has emerged. SOA uses an architectural approach to decompose applications into constituent services. These services can then be choreographed to represent or map to business processes. There's been a lot written about SOA and its promise to align IT practices with business strategies, so we won't provide an exhaustive treatment here. But SOA is fast becoming a critical enabler for companies to effectively respond to challenging market dynamics and capitalize on new business opportunities.

What about virtualization?

In a previous article in this series, we covered the relationship between grid and virtualization and made the point that grid is virtualization. Although virtualization is a hot infrastructure topic today, it has been around for a while. It's fairly ubiquitous across the IT infrastructure landscape, and we can see it, for example, in microprocessors, virtual memory, and server virtualization. There hasn't been too much in the IT infrastructure portfolio that hasn't been virtualized, and we collectively refer to the entire set as infrastructure virtualization. See Figure 1.


Figure 1. Examples and levels of virtualization across IT infrastructure
Examples and levels of virtualization across IT infrastructure

But it's the newer and emerging thoughts of workload -- or application -- virtualization and information virtualization that have particular benefits and synergies with SOA. Both of these areas comprise the essence of grid computing and represent why grid can be included under the infrastructure virtualization umbrella. They also are the primary virtualization areas that SOA interfaces with and touches upon.



Back to top


High-level synergies and alignment

In this section, we will map out at a high level the synergies between SOA and infrastructure virtualization, particularly workload and information virtualization. What's interesting here is that many companies have similar reasons for adopting SOA for their application architectures and why they're using virtualization techniques across their infrastructures. Many of the reasons and drivers are strikingly similar. Let's take a look

Horizontal integration

The first synergy thought involves horizontal integration, breaking down silos, and moving toward a more globally integrated enterprise. Think of standard functions and practices across a company -- quite an undertaking even for medium to large companies -- or across companies.

Based on these common (global) business processes, SOA breaks down application silos by removing redundant services and practices in each business unit. Yes, the discipline must exist to understand and realize integrated business processes, but once this has been achieved, even in part, SOA can help align applications and their constituent services with global business policies and processes. As a result, business units can continue to innovate by developing their unique services and by making them available to global choreographed processes -- commonly referred to as workflows or composite applications.

The infrastructure virtualization analogy breaks down infrastructure silos by viewing computing or information resources as a single entity, regardless of ownership or location. Although a company may have multiple physical infrastructures (data centers, for example), they're increasingly being thought of and managed as a single logical infrastructure. For example, we see this trend more and more in the IT outsourcing arena, where work can be shifted from one data center location to another.

Agility

Agility is about being able to respond quickly. We touched on agility in earlier articles. Agility might be the most important IT driver for companies today. SOA facilitates agility by allowing new services to be deployed rapidly and made available to consumers and composite applications. The reuse concept is important here and is a foundational element of SOA. Companies can ill afford to create new services from scratch, so by decomposing applications into constituent services or by wrapping applications in a services context, existing implementations can readily be used.

The same concept applies to infrastructure. The idea here is to quickly deploy infrastructure resources and have them readily available to support new business requirements and opportunities. Virtualization provides an insulation layer between resources and users, thereby removing any tight bindings between them. This decoupling allows companies to add resources, and have them recognized by the infrastructure and made available to consumers very quickly.

Enabling flexibility

Business flexibility is closely related to agility. As with most individuals, companies like to keep their options open. SOA enables this by using the service notion. Services with well-defined interfaces can easily be replaced, and new services can be added. SOA supports the notion of a dynamic application construction (or mash-up) notion so services can be composed in interesting and innovative ways. Enterprise service buses (ESBs) are particularly useful because they provide a framework or clearinghouse for service-to-service communications.

Storage virtualization is a great example of the flexibility of infrastructure virtualization. For example, the IBM® SAN Volume Controller provides a virtual representation of storage, allowing companies to easily replace underlying storage devices as performance or technology improves or prices decrease. This process is accomplished quickly and without impacting applications or users.

Simplification

A key benefit of SOA and infrastructure virtualization is reducing complexity. You can see this visually in Figure 2. The SOA approach to application architecture breaks monolithic and tight-coupled applications into services where function is clearly separated. Complex interdependencies are removed. In addition, redundant implementations of functions in different areas of the enterprise have the potential to be standardized. SOA holds great promise for streamlining the complexities in enterprise application architecture, but it takes discipline.


Figure 2. SOA and virtualization: Reducing complexity
SOA and virtualization: Reducing complexity

The same is true for infrastructure virtualization. By introducing an abstraction layer between physical resources and users, both SOA and infrastructure virtualization can be managed independently. If a resource fails, a new physical one takes its logical place. If a better resource comes along, older resources can be retired. As a result, infrastructure flexibility is achieved by not having users or applications dependent on any given physical resource

Infrastructure requirements for services and composite applications

Now that we've laid out the similarities between the drivers for SOA and virtualization for application and infrastructure architectures, respectively, let's look at specific infrastructure requirements for services and composite applications. Services and composite applications have particular characteristics that make virtualization techniques a strong foundation for SOA infrastructures.

Service characteristics:

  • Services are mobile and can move from virtual machine to virtual machine.
  • Services may exist for only short periods of time.
  • Services need to be started and stopped on demand.
  • Services need access to information and data, which has particular ramifications because services are mobile.
  • Services have typical quality-of-service (QoS) requirements, such as security and resiliency.

Composite application characteristics:

  • Composite applications can also be mobile.
  • Composite applications can run as a job interactively or programmatically.
  • Composite applications can be scheduled, which is important because they are often rendered as workflows with interdependent tasks.
  • Composite applications can be broken up and potentially run in parallel.

Making SOA better: Infrastructure virtualization

Let's examine how virtualization can help meet the preceding requirements and improve the SOA infrastructure experience. In this section, we will concentrate on workload, information, and server virtualization.

A big part of services and composite applications is their mobility and dynamic nature. It certainly would be painful to manually administer and manage their life cycle across a distributed infrastructure. You want middleware to do this. So, the ability to start and stop services, schedule composite applications, and place both of them for execution is a primary benefit of workload virtualization and products such as IBM's WebSphere® Extended Deployment.

In a previous article, we noted that workload virtualization is not only scheduling but the coordination of scheduling, workload management, and provisioning. Workload virtualization allows services to be started where needed and when necessary. If workload requests increase, additional services (clones) can be started automatically on additional resources, and work can be routed to them. If either a service or the resource it is running on fails, the same auto-start and workload rerouting can be achieved.

This approach is sometimes referred to as service virtualization, where interactions between service providers and service consumers are through an abstraction layer (in this case, what we refer to as workload virtualization provides this layer). As the size and scale of SOA deployments grow, service virtualization will become increasingly important.

In addition, intelligent scheduling techniques can split apart a composite application or workflow and parcel out the work for execution across a heterogeneous, distributed pool of resources (also known as a grid).

Information virtualization

Because services and composite applications can be mobile, gaining access to information across the enterprise from different locations is an important and difficult requirement. Intelligent scheduling (for example, service placement) mitigates this by starting up services near to the location of requisite information. However, more intelligent forms of information access and virtualization are required.

In its simplest form, you want to federate or virtualize your data repositories. Think of distributed information as a holistic, single repository that has all the quality services you expect: fast access performance (as if it were local), security, and resiliency. In practice, this process can be challenging to realize, but WebSphere Information Server is starting to deliver. It's no surprise that distributed information is one of the fastest growing segments of the information management market. The ability to unlock and understand information has huge payoffs for companies of all shapes and sizes.

Using WebSphere Information Server, information can be accessed as a service. While this is interesting and makes sense in the SOA and services world, it wouldn't be possible without the infrastructure behind it. We discussed this infrastructure -- information virtualization -- in a previous article. Information virtualization comprises two main areas: content and format virtualization; and location and performance virtualization, built on a foundation, or substrate, supporting metadata management and fundamental capabilities, such as global naming of information.

Content and format virtualization has the following capabilities: data transformation, data federation, data discovery, and data cleansing and analysis. Location and performance virtualization makes distributed data appear as if it were local and comprises caching, replication, and intelligent data movement and placement with appropriate qualities of service.

Server virtualization

A lot of what workload virtualization delivers across distributed resources is provided at the machine or cluster level by server virtualization. We've all heard of server virtualization, and most people think of server virtualization when they hear the word virtualization. Server virtualization has particular benefits to service oriented architectures.

First, virtual machines provide a level of platform-neutrality to services and composite applications. It's the container notion applied to execution environments. For example, services of different types can be executed on the same physical resource, as runtime dependencies are automatically provisioned and configured on the fly. In addition, it is possible to use system-level workload managers to allocate machine or cluster resources to high-priority services and composite applications.

So what's all this talk about convergence?

Some people have argued that SOA and infrastructure virtualization are converging because they are synergistic. But it makes more sense to think of infrastructure virtualization as supporting SOA. They really are two different things: One is targeted at application architectures and the other at infrastructure architectures.

Conclusion

In this article, we've explained that the reasons why companies adopt SOA for their application architectures are very similar to why they employ virtualization techniques, primarily driven by workload and information virtualization, for their infrastructure architectures. SOA and infrastructure virtualization techniques are very synergistic. As services orientation takes hold in enterprises, and their size and scale grows, it will become increasingly necessary to implement infrastructure virtualization techniques to support them. Without infrastructure virtualization, enterprises become exceedingly complex to manage, and the primary benefits of agility and flexibility difficult to realize.



Resources

Learn

Get products and technologies

Discuss


About the author

author

Matt Haynos is a program director on the IBM Grid Technology and Strategy team, based in Somers, N.Y. He has various responsibilities on the team covering a broad range of initiatives related to building the IBM grid computing business. He has held a variety of technical and managerial positions within IBM in the application development, program direction, and business development areas. He holds a bachelor's degree in computer science/applied mathematics and cognitive science from the University of Rochester, and a master's degree in computer science from the University of Vermont. He lives with his wife and two sons in Connecticut.




Rate this page


Please take a moment to complete this form to help us better serve you.



 


 


Not
useful
Extremely
useful
 


Share this....

digg Digg this story del.icio.us del.icio.us Slashdot Slashdot it!



Back to top