Serverless Computing in OpenStack

24 November 2017

by Bruno Lago

Qinling delivers Function as a Service (Serverless Computing) in OpenStack clouds.

Lingxian Kong and Feilong Wang are senior cloud engineers from the Catalyst Cloud and long-term contributors of OpenStack. At the 2017 OpenStack Summit in Sydney, they have announced the Qinling project. Qinling enables customers to run functions (or serverless computing) in OpenStack clouds, similar to AWS Lambda, Azure Functions or Google Cloud Functions.

The service was demonstrated live using two common use cases:
1. Running functions that resize images as they are uploaded to an object storage container;
2. Monitoring a web application and sending an SMS notification when it is down.

Qinling integrates with the alarm service in OpenStack (Aodh), so that it can trigger functions based on events from other services. It also integrates with the messaging and notification service (Zaqar), allowing functions to be triggered by messages, or using messages to support the communication between functions. The notification service in Zaqar also allows functions to easily send email or SMS notifications.

On the backend side, Qinling supports multiple container orchestration systems such as Kubernetes and Docker Swarm. In terms of runtime environments, a sample Python runtime environment is already available and Node.js is expected to be supported next.

The presentation was well received by the community and sparked a lot of interest for collaboration among vendors, in particular from other public cloud providers. Lingxian is now focusing on onboarding contributors from the community and preparing for a stable release in OpenStack Queens.

The Catalyst Cloud team is excited about the possibilities that Qinling and Zaqar will bring to our customers. Our research and development team is working hard to bring these advancements to our public cloud, ready to be consumed by enterprise customers.