F5's iControl API and Software Development Kit

Jeff Browning

Subscribe to Jeff Browning: eMailAlertsEmail Alerts
Get Jeff Browning via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Related Topics: Virtualization Magazine, SOA & WOA Magazine

Virtualization: Article

SOAs Need an Intelligent SON

A new service-oriented network approach is crucial to providing a nimble infrastructure that can accommodate SOA's agility

Service Oriented Architecture (SOA) is the most significant transformation in IT application architecture in the past several years - representing open standards and a more loosely coupled approach to designing, developing, and deploying applications.

While attention is given to the application side of SOA, an often-overlooked ingredient needed to ensure its successful delivery is the underlying network infrastructure. As important as the application tier is, a new service-oriented network (SON) approach is crucial to providing a nimble infrastructure that can accommodate SOA's agility and flexibility. Transforming the application tier without considering the implications of outdated network design poses a significant risk to successful SOA deployments.

A principal feature of a SON is having network devices that are far more intelligent than those found on traditional networks - devices that recognize that SOA traffic is fundamentally different from other network traffic. The SON must clearly and unambiguously understand Web Services language while loosely coupling network resources. Then the SON must virtualize these resources and the commands and business logic to execute the transaction.

Oddly enough, many IT managers have yet to grasp this reality: Yesterday's network won't support tomorrow's applications. In the last year both InfoWorld and Network World did major research surveys of the SOA plans of senior IT managers. When asked what obstacles might litter the path to broader SOA deployment, respondents in both surveys put factors like security, organizational barriers, and slow standards development at the top of their lists.

Of course, history might play a part in this mindset. Not that long ago, the network filled the simple role of transporting application requests from one endpoint to another. Most network devices were virtually "set and forget" tools that directed traffic over various ports from outside the network to internal application assets. Load balancers - the network technology most relevant to application architects and developers - were basically installed, set up for "round robin" load balancing, and never touched again.

Now, as network devices are becoming more intelligent, they can work more cooperatively with applications by offloading advanced needs such as application persistence, SSL acceleration, compression, and caching. Some even have bi-directional proxy capabilities to control application flows, enabling applications and network to work in concert.

The Old School Persists
Unfortunately, many organizations still rely on old devices that aren't optimized to handle XML Web Services traffic effectively. With Web Services and XML, a tremendous amount of context is embedded in the requests passed via SOAP and HTTP. From self-describing data to selectively encrypted elements, understanding the traffic and being able to alter its flow to direct requests and responses better is critical to a successful SOA. Furthermore, in an SOA world where faster application development and service reuse speeds up application change, the burden of configuration change management is significantly increased. A new breed of product and overall network design is needed to support SOA implementations.

There are two critical reasons why last-generation network technology knows little about Web Services. First of all, most traditional devices are connection-specific. They can't understand the traffic flowing through them natively, and rarely dig deeply into the application payload where much of the application logic resides in Web Services traffic.

Second, most network products don't provide the Web Services-friendly API needed to support the constantly changing configuration needs of Web Services, whether requested individually or as part of composite services.

A Real-World Example
Why is this so critical for your SOA plans? Well, consider a basic real-world scenario. You've built a mission-critical Web Service using SOAP that brokers transactions between your primary business partners and internal order processing system. But traditional network devices can't tell the difference between a Web page request and a SOAP application request. This lack of understanding will play a significant role in how reliability is orchestrated with your SOA.

One day, an unforeseen market event (say an interest rate change for a financial services firm) floods your system with transactions. Older load balancing devices might distribute these requests as needed to the next available server that can support them. But if the servers become overloaded, the older devices make it hard to understand why. Further, based on the unique priority of different Web Service requests, it's even more difficult to know where to send them to comply with the business requirements influencing your SOA strategy.

Intelligent full-proxy devices, however, can identify SOAP faults or exceptions and associate them with the actual application server returning the SOAP error codes. Advanced devices can even queue these faults and retry requests to another service endpoint before returning an error to the requesting client. This ensures a better client experience and makes error logging and troubleshooting easier due to native Web Service fluency.

Smart network devices can also prioritize requests based on enforced rules and logic, removing the burden from the application servers that support the requests. Combine this application knowledge with bloated XML traffic and it's easy to see how a high-performance network device can come in handy to crunch the bits into faster, more secure, more intelligent application flows.

More Than Intelligence
But a network technology must be more than just intelligent to support SOA effectively. In a traditional network load balancer world, configuration changes are made via a GUI or command-line interface. Efficiency-focused network operators commonly collect hard-coded scripts written for a specific configuration of IP addresses and servers. These usually work for static environments and events, but the approach conflicts with the agility and flexibility that SOA enables. Architecturally, it opposes the loosely coupled philosophy of SOA. The brittle coupling breaks as changes are made to support business logic, creating more of the challenges that SOA is intended to remove.

The use of SNMP as a common interface language for network integration is also inherently insecure, and requires developers to learn management information bases (MIBs) that define how and what to communicate as defined by the network device.

To support SOA, a network API - or network control plane - that openly understands Web Services language and loosely couples the network resources, IP addresses, pools of servers, and configurations is needed. It will automate mission-critical configurations and make the critical connection between the application realm and the network realm, and is critical to building and deploying a SON.

To understand SON, one must view the network and servers as SOA sees applications. The underlying network and associated resources required to deliver SOA applications are active participants in the SON architecture model, which also delivers agility and flexibility through virtualization of key infrastructure resources, commands, and business logic.

From an agility perspective, this approach enables a SON to expand and contract dynamically based on any variety of performance, availability, or security issues that may develop to ensure the successful delivery of services in the SOA. Knowledge gleaned by intelligent devices about various Web Service needs (plus an API to execute dynamic configuration changes) provides the orchestration engine to support SON. New applications can be deployed faster, without a complete reconfiguration of the network resources.

To illustrate this, visualize a data center with 10 servers and a single Web Service replicated across each server. The network device virtualizes the separate server IP addresses as one "virtual IP" supported by the "pool" of servers. Requests made for a Web Service defined as one virtual IP are directed to the servers best able to support them.

Using our previous financial industry example, as requests increase, the network device can monitor requests, look for errors, and invoke configuration changes to alter device setup, adding more standby servers to the pool or even redirecting new requests to another data center running additional instances of the Web Service. Additionally, prioritized requests based on client request ID or other factors could be sent to an entirely separate pool of servers hosting the service in a manner optimized for high-demand scenarios.

Based on business priority, the number of server resources, the priority, and dynamic changes to the configuration to support automated change can be done seamlessly, with the service and network working together through more network intelligence and control.

The Bottom Line
To support a SOA, some key ingredients include a network device that is highly intelligent, able to understand SOA service flows, speak the same language as the applications, and understand the unique needs of Web Services traffic - all of which will go a long way in helping you design a SON to support your SOA.

More Stories By Jeff Browning

As Product Manager for F5 Networks, Jeff is responsible for driving the product and marketing strategy for F5's iControl API and Software Development Kit. With over 10 years of software industry experience, Jeff's extensive background in Web services, Enterprise Portals, and Software Development tools at leading companies like Microsoft and DataChannel helps bridge the gap between networking technologies and Web services applications for better performing, scalable, and secure enterprise solutions

Comments (1)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.