RADON 2020, a European project that aims to unlock the benefits of serverless FaaS, is currently presenting its alpha version.
Serverless and Function-as-a-Service (FaaS) are extremely popular lately, and for good reason.
But, going towards serverless and FaaS is no silver bullet, and novel approaches like these often need similarly novel tools to boost adoption and widespread adaptation.
In this blogpost I will give you an introduction to the RADON (Rational decomposition and orchestration for serverless computing) Framework. It is a joint venture between industry and academia that has received funding from the European Union’s Horizon 2020 research and innovation program.
Serverless you say?
Serverless computing gives its users a lot of capabilities out of the box: pay as you use, automatic scaling, and zero OS handling, to name just a few.
By issuing standard interfaces and runtimes, serverless abstracts the trouble of maintaining huge clusters of computers in data centers that require high availability. This allows the developers to spend more time focusing on creating business value to the customer.
However, serverless is not a turnkey solution. It is not as simple as buying it and turning it on. For example:
Architectural complexity: When you split your application into tens of individual services overview can be easily lost. Debugging and monitoring becomes harder.
Performance: Because you only pay for usage and not idle time, you need to take your upstart into consideration. The same applies to your CPU/RAM usage because FaaS systems are scaled by increasing the amount of instances, not by the size of the CPU on the host machine.
Vendor lock-in: If you are programming and configuring to a specific vendor’s environment, switching from e.g. AWS Lambda to Microsoft's Azure is not straightforward.
So, even though serverless provides a higher degree of abstraction, reducing the overhead needed to make value for the end user, it imposes its own problems like cloud debugging and monitoring.
What is RADON?
RADON is an EU research project that aims to unlock the benefits of serverless FaaS for the European software industry. The joint venture between industry and academia includes organizations and research centers from all over Europe, such as Imperial College London (IMP) in the UK, The University of Stuttgart (UST) in Germany, Athens Technology Center (ATC) in Greece, and the The Engineering Group in Italy.
The main objective of the project is to define an open source framework to aid the adoption of serverless and FaaS technology in companies by providing tooling around the ecosystem.
The framework provides a graphical modeling tool that gives you an overview of your service as datastores, functions, and endpoints. The model can be imported and exported to your IDE.
With the model as the foundation, the RADON framework provides several novel strategies and features to help you benefit from serverless cloud offerings.
One of the features is a collection of “RADON Particles” which are smaller or larger building blocks spanning from basic building blocks like an AWS Lambda function, to a full application. All particles can be used as templates to kickstart the modelling of your application.
As stated earlier, finding the right CPU/RAM/instance configuration for your function instances can be both hard and tedious. RADON aims to tackle this by minimizing the operating costs on the target cloud platform under specific performance requirements.
To strengthen the compliance of functional and nonfunctional requirements, RADON provides a new Constraint Definition Language (CDL). The CDL provides ways of expressing the high level functional and nonfunctional requirements of a FaaS architecture, enabling you to test for compliance against your model before deployment.
The framework is cloud agnostic and builds on a lot of open source projects: Eclipse Che as the distributed IDE for developing, TOSCA as the model definition for the services, and Jenkins for its CI/CD just to name a few.
The alpha release
The RADON framework is currently presented in its alpha state, meaning it is far from complete.
The alpha release of the RADON integrated framework consists of a development environment giving access to the repositories of RADON artifacts and to the following RADON tools: Graphical Modeling Tool (GMT), Verification Tool (VT), Decomposition Tool (DT), Defect Prediction Tool (DPT) and the Delivery Toolchain.
All are standalone tools that integrate with each other through the TOSCA modelling syntax.
If you want to try the framework for yourself use the following form to request access to the RADON IDE. An account will be created and the credentials will be sent to you via the email specified in the form.