Software Architecture Assessment for the Cloud

Nowadays most organizations run their software systems in the cloud to benefit from high availability and reduced costs. Applications that are constructed such that they take advantage of cloud capabilities are called cloud-native. It is important to ensure that cloud-hosted applications are actually cloud-native, since otherwise the advantages of the cloud cannot take effect. However, there are not many software assessment methods that address cloud nativity. To this end, we developed an assessment method that examines the architecture of an application regarding 14 architectural properties that have an influence on cloud capabilities. Furthermore, we created a maturity model for cloud nativity. Each architectural property has been assigned to one maturity level. The assessment method uses a questionnaire consisting of 19 questions to determine to what extent the architectural properties are implemented. From this information, the current maturity level as well as guidance on how to improve the application is derived. We tested our assessment method with five large systems from industry. The results suggest that the method can serve as suitable design guideline for cloud applications. However, the time the assessment requires as well as the accuracy of the results still have potential for improvement.