Skip to main content

Software Workbench for Interactive, Time Critical and Highly self-adaptive cloud applications

Periodic Reporting for period 3 - SWITCH (Software Workbench for Interactive, Time Critical and Highly self-adaptive cloud applications)

Reporting period: 2017-02-01 to 2018-01-31

Many industrial applications impose strict time-critical requirements that are characterized using Quality of Service (QoS) (e.g. tsunami emergency response) or quality of experience (QoE) (e.g. high definition television or remote conferencing) metrics. The development of such ‘time-critical’ applications is often difficult and costly because of complex requirements that impact the runtime environment and the optimisations needed during development. Cloud environments provide elastic and controllable on-demand services for supporting a wide range of applications, but the methodologies and tools for producing classical time-critical applications do not fully account for the programmability provided by Clouds, preventing time-critical applications from exploiting their full benefits. There is an urgent need to develop new methods and tools that are more aligned with Cloud infrastructures in order to address this need.
The goal of the SWITCH project is to address the entire lifecycle of time-critical, self-adaptive Cloud applications by developing new middleware and tools for interactive specification of applications and their time-critical requirements. Developers describe and deploy their applications using a GUI; SWITCH plans and deploys the runtime environment needed to satisfy these requirements, and automatically adapts the environment as conditions change. SWITCH aims to achieve the following concrete objectives:
To increase the productivity of application development for time-critical applications by implementing a SWITCH Interactive Development Environment (SIDE) that provides the interactive frontend. SIDE provides interfaces for developers to define application logic and the abstract runtime environment, specifying and validating QoS/QoE constraints.
To improve the deployment efficiency for time-critical applications in Clouds by implementing a Dynamic Real-time Infrastructure Planner (DRIP) that provides middleware for planning the deployment of an application. DRIP accounts for network-level metrics such as throughput along with the controllability of infrastructure, customising the runtime environment accordingly before agreeing SLAs with Cloud providers then deploying the application.
To improve the QoS/QoE control efficiency for time-critical applications in Clouds, by implementing an Autonomous System Adaptation Platform (ASAP) that can autonomously deploy, monitor and adapt the application and Cloud environment to continue to satisfy QoS/QoE requirements. ASAP can learn over time, or be steered by users directly, adapting the deployment of software services to make the services closer to the actual users or scaling them based on system load.
To improve the development and execution model of time-critical applications in the programmable environments provided by Clouds. SWITCH defines an application-infrastructure co-programming and control model that captures the interaction between SIDE, DRIP and ASAP and applies this to time-critical Cloud application development, deployment and control in general.
To promote and exploit the SWITCH methods and software to test and validate the SWITCH methodology, architecture, formal model and workbench through a set of comprehensive pilot scenarios. Using this approach, we will communicate and promote our results and investigate avenues for exploitation of innovations.
In year 1, we analysed requirements, technologies and gaps, produced a system design and prototyped key components in all subsystems. In year 2, we focused on incremental development of system functionality, production and integration of components and a first integrated software release. In year 3, we produced the second software release, and validated and integrated all functional components using case studies from SMEs. The pilot use case providers were able to describe their use cases using SWITCH, providing technical specifications and prototypes. Several papers were published in journals (FGCS, Journal of Systems and Software, Journal of Grid Computing, Automation in Construction) and conferences (including EuroPar, NAS, NetCom in CloudCom, DataCloud in SC, CCIS, COMPSAC, IT4RIs). Workshops were co-organised for Cloud infrastructure (IT4RIs, Cloud Challenges in UCC), time-critical applications (WORKS), cloud-assisted services (CLASS) and civil engineering (ECCOMAS MSF). The SWITCH concept has been presented in several industrial exhibitions including ServiceExpo, NAB and IBC, Smart City World Expo, Cloud Expo Europe, EuroCloud and IMWorld.
A graphical interface has been developed, following careful analysis of activities undertaken by developers during the entire lifecycle of time-critical applications. This subsystem (SIDE) provides a means for the developer to interact with the DRIP and ASAP subsystems. SWITCH uses the TOSCA standard to implement the SWITCH co-programming and control model, acting as an interchange format between internal services, and uses a knowledge base to inform planning and execution of applications. The core algorithms in DRIP have been developed for: critical path and genetic algorithm based deadline-aware planning, provisioning of virtual infrastructure in multiple data centres with transparent network configuration, and deployment of application Docker containers onto provisioned infrastructure with deadline-based constraints. The software has been tested on ExoGENI, Amazon EC2 and EGI test-beds. A monitoring system developed in ASAP aggregates information from the different levels of middleware between application and infrastructure, and employs a knowledge base to diagnose system performance and control behaviour, e.g. through the use of rule-based auto-scaling or through orchestration of network-intensive software utilities across globally distributed data centres. A semantic linking framework has been used to derive schemas for different information objects and for QoS/QoE constraints at application and infrastructure levels, permitting the evaluation of standards for implementing those objects, e.g. TOSCA for application descriptions.

SWITCH improves development productivity of time-critical Cloud applications. For example, it has given MOG the capacity to plan the best cloud infrastructure to support different live event scenarios, reducing costs and handling failover situations. It increases competitiveness in the business communication market by offering WT more precise real-time scalability without demanding great technical expertise in containerisation or cloud provisioning. It has given BEIA the ability to port its IoT telemetry system for disaster early warning to any cloud. The market potential for such applications is projected to be more than $11B; across other domains, the total market potential may be 10 times that. The greater customisability and ease of operation offered by SWITCH can enhance the business competitiveness of Clouds offering services on demand; a service can be offered assuring certain QoS with a competitive price as a pay per use service, offering an opportunity for companies to obtain greater income from the Cloud, a market with a revenues forecast of $411.4B by 2020.
SWITCH Project logo