Skip to main content
Aller à la page d’accueil de la Commission européenne (s’ouvre dans une nouvelle fenêtre)
français français
CORDIS - Résultats de la recherche de l’UE
CORDIS

Rational decomposition and orchestration for serverless computing

Periodic Reporting for period 2 - RADON (Rational decomposition and orchestration for serverless computing)

Période du rapport: 2020-01-01 au 2021-06-30

Serverless computing has rapidly grown in popularity in recent years, establishing itself as a novel paradigm to develop cloud-native applications that do not require end-users, or large parts of the application backend itself, to explicitly interact with a server. This can be achieved, for example, through event-driven approaches, where the application logic is automatically run through elastic functions, hosted in transient cloud containers, that are invoked only in response to specific events, a technique commonly referred to as Function-as-a-Service (FaaS). Relying on serverless FaaS yields numerous advantages for software vendors and end users, in terms of ease of use (e.g. no explicit interaction with a server), cost reduction (e.g. no idle servers within a VM), automated management (e.g. fast “NoOps”-style prototyping, function-level auto-scaling).

Some elements of serverless computing were already present in fully automated cloud Platform-as-a-Service (PaaS) offerings such as Google AppEngine. However, the emergence of commercial offerings such as AWS Lambda, Microsoft Functions, and Google Cloud Functions, has given momentum to the approach. The strong commercial growth of serverless FaaS however also carries risks for adopters, in particular related to the classic vendor lock-in issue, which at present is very much a reality due to the large prominence in this setting of the aforementioned cloud operators. Another important aspect to keep in mind is that, in a European setting, most companies and public administration have limited exposure to advanced cloud technologies, calling for simple software development methodologies to enable these stakeholders to also share the benefits of technological advancements, and the implied cost reduction, brought by serverless FaaS. Last, but not least, there is a need for spreading out the FaaS concepts in the research and technical development community in Europe, to ensure capacity in adopting such architecture, re-engineer existing applications, and release timely research that can support the broader community efforts.

In the above context, RADON created a DevOps framework to address the aforementioned challenges posed by serverless FaaS, in particular seeing model-based methods as a natural panacea to address vendor lock-in problems. Our primary result is the creation of a unified model-based approach to ease the definition of novel FaaS-based cloud applications. The approach is graphical in nature, allowing software developers to specify the application diagrammatically and, still graphically, reuse functions, microservices, and other cloud platform components, as building blocks in complex software systems. In parallel to this, the framework offers an IDE to code low-level application code within those functions and microservices, and an ecosystem of tools to ensure continuous delivery to the cloud, as well as verification, testing and enhancement for the technical architecture and its qualities (e.g. performance, security, correctness). In concrete terms, RADON end-users adopts modern, integrated DevOps frameworks, which allow software vendors to develop and deliver FaaS-based applications. Industrial use cases in the areas of travel technology (ATC), ambient assisted living (ENG), and managed DevOps (PRQ) validated the approach in concrete vertical domain, presenting technical challenges that are common to a spectrum of industries in Europe.

More information about the RADON framework and its tools can be found at: https://github.com/radon-h2020/radon-methodology/(s’ouvre dans une nouvelle fenêtre)
The RADON framework provides a set of components that realize a set of tools, modules and services covering both the design and runtime phases of microservices and serverless-oriented application development and deployment.

The attached Architecture Diagram depicts the connections among the RADON components. The design-time components interact with each other and with the runtime components in order to design, prototype, deploy and test applications built on serverless FaaS. Such interaction(s) are defined by the RADON Workflows in the context of the RADON methodology. In this context, a particular role is played by the RADON IDE. This component is be based on Eclipse Che and provides a multi-user development environment to access the RADON artifacts. As depicted in the Architecture Diagram, the RADON IDE interacts also with an important component called the Template Library. These components offers access to reusable base types, abstractions, and TOSCA extensions and make them available to the RADON tools, that require them to model a RADON application. Moreover, the RADON IDE acts as the front-end of the RADON methodology, by enabling users to invoke RADON tools supporting both the design and runtime phases of application development. For more information on the RADON Architecture, please refer to the deliverable document D2.3 – Architecture & Integration Plan I

RADON offers on top of the architecture a full-fledged DevOps-inspired methodology. With it, RADON proposes to identify a few reference DevOps actors. A RADON actor defines a role -- not a single human or software -- therefore the same person can potentially act as multiple RADON actors and the same role could be split across multiple actors. The RADON DevOps methodology consolidates the user workflow for using RADON tools and the DevOps paradigm for software delivery and evolution.

The main tool repositories of the final solution are linked at the Github landing page: https://github.com/radon-h2020/radon-methodology(s’ouvre dans une nouvelle fenêtre)

Getting started documentation is at our Read-the-Docs (RTD) documents: https://radon-ide.readthedocs.io/en/latest/(s’ouvre dans une nouvelle fenêtre)

A professional video that summarizes the integrated solution is available on YouTube: https://youtu.be/i4drw3RkYoI(s’ouvre dans une nouvelle fenêtre)
RADON goes beyond the state of the art with a DevOps-oriented framework that enables stakeholders in the software development industry to create and manage applications using microservices and serverless computing technologies. The goal set for the RADON methodology is to tackle complexity, harmonize the abstraction and actuation of action-trigger rules, avoid Function-as-a-Service (FaaS) lock-in, and optimize decomposition and reuse through model-based FaaS-enabled development and orchestration.

As such, the RADON key business value proposition is to provide a DevOps framework to rapidly develop novel FaaS-based software products without incurring code and data lock-in.
radon-architecture.png
radon.png
Mon livret 0 0