Partitioning applications for hybrid and federated clouds
Michael A. Smit, Mark Shtern, Bradley Simmons, Marin Litoiu · 2012
On-demand access to computing resources as-a-service has the potential to allow enterprises to temporarily scale out of their private data center into the infrastructure of a public cloud provider during times of peak demand. How-ever, concerns about privacy and security may limit the adoption of this technique. We de-scribe an approach to partitioning a software application (particularly a client-facing web ap-plication) into components that can be run in the public cloud and components that should remain in the private data center. Static code analysis is used to automatically establish a partitioning based on low-effort input from the developer. Public and private versions of the application are created and deployed; at run-time, user navigation proceeds seamlessly with requests routed to the public or private data center as appropriate. We present implementa-tions for both Java and PHP web applications, tested on sample applications. 1