A REFERENCE MODEL FOR DEVELOPING CLOUD APPLICATIONS
Mohammad Hamdaqa, Tassos Livogiannis, Ladan Tahvildari · 2011
Cloud Computing is a paradigm shift that involves dynamic provisioning of shared computing resources on demand. It is a pay-as-you-go model that offers computing resources as a service in an attempt to reduce IT capital and operating expenditures. The problem is that current software architectures lack elements such as those related to address elasticity, virtualization and billing. These elements are needed in the design of cloud applications. Moreover, there is no generic cloud software architecture for designing and building cloud applications. To further complicate the problem, each platform provider has different standards that influence the way applications are written. This ties cloud users to a particular provider. This paper will focus on defining a reference model for cloud computing; more particularly, it presents a meta-model that shows the main cloud vocabulary and design elements, the set of configuration rules, and the semantic interpretation. It is always important to understand the abstract architecture of a system, and then tackle platform-specific issues. This separation of concerns allows for better maintainability, and facilitate applications portability. 1