When an application is deployed into a high-availability production environment there are a number of interesting infrastructure related things need to happen. The application delivery controller (ADC) needs to be configured, DNS entries updated, storage allocated, and all the other associated network infrastructure must be prepared to handle the delivery of the new application. 

We have a BIG-IP. Do I have to talk to the network guys??

-- Developer at SD Best Practices interested in leveraging application delivery infrastructure but somewhat taken aback at the prospect of needing to interact with the network team 

Unfortunately, that's also when the troubleshooting begins as network and application delivery administrators attempt to discern how best to tune all that infrastructure in order to make that application secure, fast, and available.

A Forrester Research survey in 2007 indicated that 71% of all deployment issues occurred in production environments. That translates into real business impact both from a business and IT perspective. If IT folks are trying to solve deployment issues, they aren't able to focus on other tasks that add business value.

It can take days or even weeks for the network and application delivery folks to get it all right. In the meantime the potential for exploitation of vulnerabilities at every layer of the stack exists, as well as the possibility that performance woes will prevent adoption of the application from occurring as rapidly as expected.

We have long been able to bridge the gap between the network and applications technologically. An ADC understands both the network and the applications it is tasked with delivering, and can effectively optimize, accelerate, and secure applications. For some applications this is a task made simple with options like Application Ready solutions; guides and pre-configured options for common and popular applications make the task of readying infrastructure a breeze.

But for custom applications, no such solution exists. It can't exist, because until the application is running in a production environment and actually being used by customers or employees, it's impossible to understand the impact of the application on the network and vice-versa.

That's why it's so important for developers to share their secret knowledge of applications with the network and application delivery teams. Developers have an understanding of the applications they build that is unmatched by anyone else. Network and application delivery folk can sniff, tap, and trace the data as it moves through the data center, but putting all that data together into meaningful information that can be used to optimize, accelerate, and secure the application is often a difficult if not impossible task.

Developers know how many connections - or at least requests - their web secretapplication will make on any given page. They know the average size of requests and responses, the data format in which those requests and responses will be made, and they know about how many objects there are per page. They know which pages are generated dynamically, what data rarely changes, and how a user is likely to use and traverse the application.

Developers, it turns out, know a lot of details about an application that is useful to the network and application delivery administrators. Details that can be used to tune and configure application delivery controllers such that the application is as secure and optimized as possible. Details that can significantly reduce the time required to configure the infrastructure in the first place which makes the entire application deployment process more efficient, a key goal for every member of IT in today's restrictive financial environment.

Web application acceleration solutions are much more quickly and easily tuned if its administrators understand the way an application is put together and its rate of change. Static pages, images, and files contained within a dynamic page can be cached, but it can take days of observation for the administrator to determine which files are truly static and which ones are not. A developer just knows. A network administrator can observe the size of requests and responses and determine which ones are well-suited for compression and data reduction to improve performance but again, it can take hours or days to sort that out while a developer just knows.

Developers just know a lot of things about the applications they build that can significantly reduce the time and effort required to deploy that application. But they don't often share that secret knowledge and honestly, it's a rare network or application delivery folk who goes seeking that knowledge.

Remember, in the end you all work for the same organization and you're all working toward the same goals: efficiently deliver a secure, fast, and reliable application that provides business value (and revenue!). If sharing information makes it easier to realize those goals then it must be a Very Good Thing.

Follow me on Twitter View Lori's profile on SlideShare friendfeedicon_facebook AddThis Feed Button Bookmark and Share