Cloud computing is an emerging computing paradigm that is changing software engineering. It offers scalable virtual compute resources at low prices, thus attracting many software developers interested in reducing their infrastructure and operational costs. Even though acquiring and using cloud solutions can be simple, a common difficulty developers face is how to best configure their applications at the architectural level, given a myriad of cloud services and resource types available, specially when considering different attributes such as cost, scalability, and performance. An inappropriate architectural decision can lead to a significant cost increase or a deployment option that does not meet the minimum required performance. This paper focuses on the problem of finding the best cloud deployment options for a given application that meet a given set of well-known nonfunctional requirements. To address this problem, the paper presents Cloud Application Architecture Appraiser (CA3), a multicriteria optimization approach and tool that relies on nonfunctional requirements as key drivers for assessing and selecting the best architectural options for deploying applications in the cloud. Results from the assessment of a real web application (WordPress), deployed using several different architectural options in a popular cloud provider (Amazon), are also presented to illustrate the use and benefits of the proposed method and tool.
KEYWORDSAHP, architectural assessment, cloud deployment option, multicriteria optimization
INTRODUCTIONCloud computing providers such as Amazon, Microsoft, and Google offer scalable low cost virtual computing resources that can be rapidly provisioned through the internet. 1 This model of computation is changing the way many organizations deliver their IT services and applications, as they can free themselves from the burden to build, manage, and continuously upgrade an in-house physical computing infrastructure.Despite of the many benefits offered by existing cloud computing solutions and the relative simplicity of acquiring cloud resources, many cloud users still have difficulties in selecting the cloud resources and services that best suit their 2278