Automated Decision (Optimisation) Support for Migrating Applications to Public Clouds
There are two layers in cloud computing: a) software resources as a service (e.g., Google App Engine, 3Tera Applogic, BitNami), where an administrator builds applications using APIs provided by the cloud and b) hardware resources as a service (e.g., GoGrid, Amazon EC2), where an administrator runs applications inside CPU resources, using APIs provided by their chosen guest operating systems. Optimal enterprise application performance demands bespoke resource configuration, yet no detailed, comprehensive cost, performance or feature comparison of cloud providers exists. This complicates the choice of provider (e.g., Amazon, Azure, GoGrid, and the like).
The key problem in mapping applications to cloud resources is selecting the best size and mix of software and hardware resources to ensure that enterprise application performance targets are met, while satisfying conflicting selection criteria (e.g., maximizing throughput and utilization; minimizing cost and latency; cloud location). The fact that, when selecting cloud resources, administrators must consider heterogeneous sets of criteria and complex resource relationships, across multiple layers, which are impossible to resolve manually, is a critical issue.
Existing approaches have applied optimization and performance/QoS measurement techniques for selecting hardware resources according to quantitative criteria (throughput, availability, cost, reputation, etc.). While doing so, they have largely ignored the mapping of dependency between software and hardware resources, and hence lack efficiency and flexibility. For instance, before mapping a Microsoft SQL database server (software resource) to a Amazon EC2 CPU resource, one needs to consider whether they are compatible in terms of operating system environment. The fact that existing techniques for web service selection and grid job scheduling have not been adopted for cloud resource selection is no accident, because they do not cater for diverse sets of criteria and their dependencies across multiple layers of cloud resources. To overcome these limitations, we require a novel decision-making framework that can analyse existing cloud resources to help administrators to make selection decisions.
1. M. Zhang, R. Ranjan, A. Haller, D. Georgakopoulos, and P. Strazdins, “Investigating Decision Support Techniques for Automating Cloud Service Selection”, 4th IEEE International Conference on Cloud Computing Technology and Science, December 2012, 6 Pages, IEEE Computer Society. [ERA Ranked]
2. M. Zhang, R. Ranjan, A. Haller, S. Nepal, M. Menzel, “A Declarative Recommender System for Cloud Infrastructure Services Selection“, Proceedings of the 9th International Conference Economics of Grids, Clouds, Systems, and Services (GECON 2012), Berlin, Germany, November 27-28, 2012, Pages 102-113, LNCS. [ERA A Ranking]
3. M. Zhang, R. Ranjan, D. Georgakopoulos, S. Nepal, M. Menzel, and A. Haller, “An Ontology-based System for Cloud Infrastructure Services’ Discovery“, 8th IEEE International Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom) ,October 2012, Pages 102-113, IEEE Computer Society. [ERA C Ranked]
4. M. Menzel and R. Ranjan, “CloudGenius: Decision Support for Web Service Cloud Migration”, Main Sceintific Track, International ACM Conference on World Wide Web (WWW 2012), Lyon, France, 16 – 20 April 2012, ACM Press. [ERA A Ranking, Core A+ Ranking]