ABSTRACT:
In this thesis we present the architecture, design, and prototype implementation details of
AppFabric. AppFabric is a next generation application delivery platform for easily creating,
managing and controlling massively distributed and very dynamic application deployments
that may span multiple datacenters.
Over the last few years, the need for more exibility, ner control, and automatic management
of large (and messy) datacenters has stimulated technologies for virtualizing the
infrastructure components and placing them under software-based management and control;
generically called Software-dened Infrastructure (SDI). However, current applications are
not designed to leverage this dynamism and exibility oered by SDI and they mostly depend
on a mix of dierent techniques including manual conguration, specialized appliances
(middleboxes), and (mostly) proprietary middleware solutions together with a team of extremely
conscientious and talented system engineers to get their applications deployed and
running. AppFabric, 1) automates the whole control and management stack of application
deployment and delivery, 2) allows application architects to dene logical workows consisting
of application servers, message-level middleboxes, packet-level middleboxes and network
services (both, local and wide-area) composed over application-level routing policies, and 3)
provides the abstraction of an application cloud that allows the application to dynamically
(and automatically) expand and shrink its distributed footprint across multiple geographically
distributed datacenters operated by dierent cloud providers. The architecture consists
of a hierarchical control plane system called Lighthouse and a fully distributed data plane
design (with no special hardware components such as service orchestrators, load balancers,
message brokers, etc.) called OpenADN. The current implementation (under active development)
consists of 10000 lines of python and C code.
AppFabric will allow applications to fully leverage the opportunities provided by modern
virtualized Software-Dened Infrastructures. It will serve as the platform for deploying massively
distributed, and extremely dynamic next generation application use-cases, including:
This thesis is the rst to handle and provide a complete solution for such a complex and
relevant architectural problem that is expected to touch each of our lives by enabling exciting
new application use-cases that are not possible today. Also, AppFabric is a non-proprietary
platform that is expected to spawn lots of innovatins both in the design of the platfrom itself
and the features it provides to applications. AppFabric still needs many iterations, both
in terms of design and implementation maturity. This thesis is not the end of journey for
AppFabric but rather just the beginning.
Complete paper in Adobe Acrobat format.