Don and I were standing in the Minneapolis-St. Paul airport last night on our way home from Seattle, watching the boarding process and waiting for our turn to board, when it occured to me how similar the process of delivering people is to delivering applications.

Gate agents often board passengers by zone, or group, or row. They board by prioritization. They board by status. And people consistently ignore the direction of the gate agent and just board willy nilly whenever they like, causing congestion both on the jetway and on the plane - all because the policies designed to optimize the boarding process don't truly address the specific needs of people. When someone boards early during the "if you need extra time" phase that appears to, on the outside, not truly need that extra time people comment negatively and wonder whether the person in question is just exploiting the kindness of the gate agent or if they really need the time.

The gate agent has no idea whether someone has a heart condition, or is in pain, or if there is some other mitigating factor that is driving this person to board early. So the gate agent gives them the benefit of the doubt. The gate agent is there to enforce a set of broad policies that ensure the reliable, fast, secure delivery of all people from the gate area to the plane, not to optimize the experience for the individual. The agent is, after all, only people aware, s/he can't know the specific details of each individual person and the argument against doing so is that it would seriously inhibit the efficiency of the boarding process. Becoming people proficient takes time.  

Like people, even though many applications appear the same on the outside (delivered via HTTP in many cases), they're very different on the inside and may in fact have special delivery needs. Unfortunately, like gate agents, most application delivery networks are merely application aware. They know some amount of detail about, say Microsoft SharePoint, but they aren't intimately familiar with all the little nuances of that application and how it would best be delivered. Unlike the gate agent however, the application delivery network should know more. It should spend extra time with each application and understand all the intimate details about how best to deliver it, because its engineers can spend time up front learning those nuances and peculiar quirks and develop policies before deployment that ensure maximum results without interfering with the actual delivery process.

It's no long enough for an application delivery network to simply be a gate agent, offering lip-service to the notion of application focused delivery. It's no longer optimal to simply deliver all applications based on their underlying protocol, there are too many mitigating factors hidden under the covers. Application delivery networks need to understand the inner workings of applications and then execute on that understanding by creating policies and procedures that will optimize and enhance the delivery of those specific applications.

Now if we could just come up with a way to optimize that people delivery network ...

Imbibing: Mountain Dew

Technorati tags: , ,