StratusML: An Integrated Modeling Framework for Cloud Applications
Cloud computing can help Software as a Service (SaaS) providers to take advantage of the sheer number of cloud benefits such as, agility, continuity, cost reduction, autonomy, and easy management of resources. To reap the benefits, SaaS providers should create their applications to utilize the cloud platform capabilities. However, this is a daunting task. First, it requires a full understanding of the service offerings from different providers, and the meta-data artifacts required by each provider to configure the platform to efficiently deploy, run and manage the application. Second, it involves complex decisions that are specified by different stakeholders. Examples include, financial decisions (e.g., selecting a platform to reduces costs), architectural decisions (e.g., partition the application to maximize scalability), and operational decisions (e.g., distributing modules to insure availability and porting the application to other platforms). Finally, while each stakeholder may conduct a certain type of change to address a specific concern, the impact of a change may span multiple models and influence the decisions of several stakeholders.
These factors motivated the need for: (i) a new architectural view model that focuses on service operation and reflects the cloud stakeholder perspectives, and (ii) a novel framework that facilitates providing holistic/partial architectural views, and generating the required platform artifacts by fragmenting the model into artifacts that can be easily modified separately.
This PhD research devises a novel architecture framework (The ‘5+1’ Architectural View Model) for cloud applications, where each view corresponds to a different perspective on cloud application deployment. The architectural framework is realized as a cloud modeling framework (StratusML) consists of a modeling language that uses layers to specify the cloud configuration space, and a transformation engine to generate the configuration space artifacts. The usefulness and practical applicability of StratusML to model multi-cloud and multi tenants applications have been demonstrated though a representative domain example. Moreover, to automate the framework evolution as new concerns and cloud platforms emerge; this research work also introduces a novel schema matching technique (Prison Break). The technique supports the process of domain model creation, evolution, and transformations. Prison Break helps solve the vendor lock-in problem by reducing the manual efforts required to map complex correspondences between cloud schemas where domain concepts do not share linguistic similarities. The evaluation results of Prison Break show its superiority in the cloud domain over existing schema matching approaches.