DOI: 10.5176/978-981-08-5837-7_154
Authors: Paul Brebner, Anna Liu
Abstract:
Architecting applications for the Cloud is challenging due to significant differences between traditional hosting and Cloud infrastructure setup, unknown and unproven Cloud performance and scalability characteristics, and unpredictable availability as well as variable quota limitations. Clouds claim to offer benefits in terms of cost and elasticity under some situations, but may introduce significant risks in areas such as latency and security which need to be carefully managed. Building workable cloud applications therefore requires in-depth insight into the architectural and performance characteristics of each cloud offering, and the ability to reason about tradeoffs and alternatives of application designs and deployments.
NICTA has developed a Service Oriented Performance Modeling technology for modeling the performance and scalability of Service Oriented applications architected for a variety of platforms. Using a suite of cloud testing application we conducted in-depth empirical evaluations of a variety of real cloud infrastructures, including Google App Engine, Amazon EC2, and Microsoft Azure. The insights from these experimental evaluations, and other public/published data, were combined with the modeling technology to predict the resource requirements in terms of cost, application performance, and limitations of a realistic application for different deployment scenarios. We conclude with some architectural lessons learnt.
