The two key developments in the computing industry over the last 5 years are the Mobile Apps and Cloud Computing. All businesses, including banks, retailers, and educational institutions have their mobile apps. Most of these apps need to serve a global audience. Cloud services provide an ideal platform for these application service providers (ASPs) for computing. ASPs can get computing facilities all around the world using cloud services from multiple providers. However, there are two key issues that prevent ASPs from fully leveraging the cloud "advantage."
First, in modern enterprise and Internet-based application environments, a separate middlebox infrastructure for providing application delivery services such as security (e.g., firewalls, intrusion detection), performance (e.g., SSL off loaders), and scaling (e.g., load balancers) is deployed. However, there is no explicit support for middleboxes in the original Internet design; forcing datacenter administrators to accommodate middleboxes through ad-hoc and error-prone network configuration techniques. In a cloud datacenter, the ASP does not have any control over the network infrastructure, thus making it hard for them to deploy middleboxes for their cloud-based application deployments.
Second, modern services virtualize the application endpoint. A service can no longer be statically mapped to a single end host. Instead, the service is partitioned and replicated across multiple end hosts for better performance and scaling. In enterprise datacenters, service requests are intercepted by an application-level routing service (APR) in the data plane and dynamically mapped to the correct service partition and the best (e.g. least loaded) instance of that partition. However, although multi cloud (or Intercloud) environments allow ASPs to globally distributed their applications over multiple cloud datacenters leased from multiple cloud providers, ASPs need support of a globally distributed APR infrastructure to intelligently route application traffic to the right service instance. But, since such an infrastructure would be extremely hard to own and mange, it is best to design a shared solution where APR could be provided as a service by a third party provider having a globally distributed presence, such as an ISP.
Although these requirements seem separate, they can be converged into a single abstraction for supporting application delivery in the cloud context. A sample design of this abstraction is OpenADN, presented here.
Complete paper in Adobe Acrobat format.
The conference presentation slides are available at http://www.cse.wustl.edu/~jain/talks/ad_ic3np.htm