D6.2 Specification and design of the basic MIDAS platform as a service on the Cloud
The MIDAS Testing as a Service (MIDAS TaaS) platform is designed and architected according to a SOA-based approach, and provided as an integrated Testing as a Service framework available on demand, i.e., on a self-provisioning, pay-per-use, elastic basis.
For this reason the MIDAS platform is deployed on the Cloud, in particular on the public Cloud IaaS platform Amazon EC2, as discussed in D6.1. The platform is made accessible as a multi-tenancy SaaS (Software as a Service) from an end user perspective. The costs saving and easy accessibility of Cloud’s extremely large computing resources will make the MIDAS testing facility usage available to geographically distributed users, executing wide varieties of user scenarios, with a scalability range previously unattainable in traditional testing environments.
In order to design the strategy to deploy the MIDAS platform on the Cloud, the classes of MIDAS potential users, their roles, as described in D2.2, and their interactions with the MIDAS platform are further analysed and detailed by describing the main use cases for the identified classes. Then, the main MIDAS services needed to cover all the analysed use cases are reported. This analysis allowed us to identify the building blocks of the basic MIDAS platform and their interactions that are described in terms of sequence diagrams in the document. Furthermore, a specification of the APIs of ancillary MIDAS services for MIDAS administration and MIDAS storage management are defined.
This step allowed us to have a clear vision of the Cloud resources and the Cloud services, necessary for the MIDAS platform deployment on the Cloud.
So, the design of the approach that will be adopted for its deployment on a Cloud IaaS is proposed. As discussed in D6.1, IaaS Clouds allow users to have full control of the entire software environment in which their applications run. The benefits of this approach include support for legacy applications, and the ability to customize the environment to suit the application. This is a very crucial requirement for the MIDAS platform development, since it relies on components that are developed and implemented by the MIDAS technical partners independently and that have to be integrated in a complete application, so requiring software development environment that fulfil different requirements and needs in terms of software support and customization. Furthermore, MIDAS includes legacy commercial software, such as the TTworkbench execution engine, that may require specific software support to be included in the MIDAS platform. The drawbacks of IaaS Clouds include increase complexity and additional effort required to setup and deploy the application.
We adopted a virtualization approach already in the development phase of MIDAS platform. In particular, we used VMware as the virtualization infrastructure that introduces a layer of abstraction known as a hypervisor. A hypervisor runs on top of physical hardware, allocating resources to isolated execution environments known as Virtual Machines, which run their own individual virtualised operating system. The separation between resource provision and operating systems introduced by virtualisation technologies is a key enabler for Cloud computing, specifically for Infrastructure-as-a-Service (IaaS) Clouds.
For this reason, in order to facilitate and support the integration and testing of tools independently developed by MIDAS partners and their incremental integration on the MIDAS platform on the Cloud, a guide has been released to all MIDAS technical partners providing a detailed description of the MIDAS development environment designed by CNR to enable developers to implement, debug, and test their software components on a seamless and loosely coupled platform. The guide “Virtual Machine Image Guide: How to develop MIDAS Components v1.2” is a technical document not included in the present one.
The preliminary design of the Cloud-based MIDAS platform architecture is proposed in this document, detailing the strategies adopted for its deployment on the selected Cloud infrastructure together with the description of the Cloud services of the underlying Cloud infrastructure that will be used to provide an operational platform with all the basic capabilities.
Also, the economic implications in using a public Cloud computing facility and services is evaluated providing a preliminary analysis of the costs the MIDAS consortium will incur during the remaining project life to prevent exceeding the planned economic resources.
In order to demonstrate the main functionalities of the MIDAS basic platform, we provide a preliminary experience in deploying the MIDAS execution component on the underlying Cloud infrastructure