The RADON (Rational decomposition and orchestration for serverless computing) project is coordinated by Dr Giuliano Casale, with researchers from Imperial College London, Tilburg University, University of Stuttgart, and University of Tartu, as well as the Athens Technology Center, Engineering Ingegneria Informatica, XLAB, and Eficode. The consortium has developed a software engineering framework that addresses the challenge of developing cloud applications for serverless computing. By working with a multitude of industries – from tourism to assisted living – RADON is finessing the benefits of serverless computing.
Serverless computing – a cloud-computing execution model where the cloud provider efficiently manages services on behalf of the customer with a high degree of automation – is rapidly growing in popularity. Serverless technologies, such as ‘Function-as-a-Service’ (FaaS), in particular execute functions in response to specific events automatically from the cloud. This enables the user to run backend code without having to provide or maintain servers. Developers can virtualise the internal logic of an application and thereby simplify the management of cloud-native applications. In addition, billing and scaling are at the level of individual functions, so the overall cost is reduced.
Software vendors are rapidly shifting their attention to the problem of developing cloud applications that can use serverless platforms. Two of the main advantages and research challenges of the serverless FaaS paradigm can be classified as ‘fine-grained autoscaling’ and ‘productivity gains’. Fine-grained autoscaling dynamically adjusts, or scales, the number of computational resources being allocated to an application based on its needs at any given time. Productivity gains stem from storing IT know-how as reusable serverless functions for automatic orchestration onto private or public cloud or multi-cloud infrastructures.
The EU-funded RADON (rational decomposition and orchestration for serverless computing) project aims to unlock the benefits of serverless computing for the software industry. This €4 million project is coordinated by Dr Giuliano Casale, a Reader in the Department of Computing at Imperial College London. The RADON consortium is made up of researchers from four universities: Imperial College London, Tilburg University, University of Stuttgart, and the University of Tartu, and four companies: Athens Technology Center, Engineering Ingegneria Informatica, XLAB, and Eficode.
The RADON project team has developed a software engineering framework for defining, developing, and operating (through a methodology known as DevOps) applications based on FaaS computing serverless technology. Dr Casale explains that the researchers see model-based methods as a natural panacea for addressing vendor lock-in problems, where switching data, products, or services to another vendor’s platform is problematic and costly, making customers dependent (locked-in) on a particular platform, either for their code or for their data. Developers using RADON can create FaaS applications that have a reduced likelihood of vendor lock-in within specific commercial platforms, giving them the ability to bring their code and data on their preferred serverless FaaS platform.
Software vendors are rapidly shifting their attention
to the problem of developing cloud applications that can use
The RADON framework is made up of three environments: the modelling environment, the run-time environment, and the coding environment. The framework is supported with a DevOps methodology to coordinate the development and release of FaaS-based applications and quality assurance tools for the validation of novel solutions.
Unified model-based approach
The project team developed a unified model-based methodology, extending industry standards, to facilitate the definition of new FaaS-based cloud applications. This is a graphical approach that allows software developers to specify the application diagrammatically. They can reuse functions, microservices, data pipelines, and other cloud platform components that make up the building blocks of complex software systems. The framework offers an integrated development environment where low-level application code can be developed for functions and microservices. There is a rich and diverse ecosystem of tools, where common functions are shared to ensure continuous delivery to the cloud. In addition, verification, testing, and enhancement are available for the technical architecture and its qualities, including performance, security, and correctness.
The research team aim to broaden the adoption of serverless computing technologies. Target customer segments include cloud providers, software vendors, system integrators, telecommunication providers, mobile developers, and Internet of Things (IoT) vendors. The RADON framework has already been tested in the development of three different industrial applications, which present technical challenges that are common to a range of industries in Europe.
Viarota is an Android mobile application that takes an individual’s tourist profile and combines it with a city’s mobility network and points of interest to provide personalised routes and schedules for tourists, business travellers, and residents that are customised to their preferences. Viarota is an example of a general use case of RADON. New data pipelines and data processing microservices, several of which are FaaS-based, have been added to an existing architecture, helping service personalisation.
With the help of the RADON framework, the team at Athens Technology Center have enriched Viarota with a story-building environment. Here, journalists can harness online content collected from multiple sources, such as social media, blogs, and news reports, to compile stories about a city’s points of interest. Data processing and AI technologies, such as natural language processing, are used to facilitate the real-time analysis of online contents and their links to points of interest and routes. These stories can be used by news portals and tourist agencies to introduce their clients to points of interest on alternative routes and to promote relevant services and data.
Ambient assisted living
The application of eHealth technologies to assisted living in the home environment is becoming widespread. Project partner Engineering Ingegneria Informatica’s health enterprise resource management application, SARA, is a vertical application designed to support ambient assisted living. SARA integrates robotic and Internet of Things (IoT) technologies to preserve the quality of life for older people with mild cognitive impairment or Alzheimer’s disease.
In this prototypical use case, the RADON model is used to capture SARA’s existing IoT/edge landscape. (Edge takes advantage of cloud infrastructure but keeps computation close to the edge of the network.) This is evident in the process of coding new Infrastructure-as-Code (IaC) recipes to set up the robotic and embedded devices. RADON underpins the development of a reusable library of deployment templates and configuration recipes, giving SARA access to serverless computing technologies. Serverless functions are used to detect and react to specific events relative to the individual resident’s environment.
Using their expertise in continuous integration and continuous delivery methods and automation, Eficode have created a function hub that can host a collection of reusable software-defined infrastructure modules that organisations can use to implement DevOps-style governance.
This use case offers the opportunity to explore the interface between serverless, DevOps systems and ensure that RADON is not seen as a form of lock-in. Eficode’s main business comes from consulting, so function hub is consolidating and expanding their market, offering for digital transformation.
RADON offers function level scaling and billing together with automated orchestration and reusable functions, microservices, and data pipelines while avoiding vendor lock-in. RADON provides end users with modern, integrated software engineering tools enabling software vendors to develop and deliver FaaS-based applications faster, easier, and cheaper.
What has been the most rewarding outcome of the RADON project to date?
In a collaboration with the EU project SODALITE, the two projects were able to define and execute an integrated scenario related to machine learning prediction with the ability to deploy distributed and learning and prediction heterogeneous software simultaneously across HPC, Function-as-a-Service (FaaS), and edge. The results were published into an open-source repository: https://github.com/RADON-SODALITE/hybrid-compute-profile. A public seminar telling the full story is available at https://youtu.be/jusRsRrlKds. This experience showed us the advantages of joining forces in an open-source world and the power of model-based abstraction that made the work of two independent projects immediately compatible with each other.