Description
Selectel Serverless Functions is a serverless computing service of the Selectel Cloud platform that allows you to create and manage applications while we take care of the infrastructure. You write the code and determine how it will be called, and Selectel takes care of the servers, providing autoscaling under load.
The service is built on the Apache OpenWhisk serverless platform. Available runtimes are Python 3.7, Node.js 12.
Service Limits and Quotas
- RAM for 1 function — 256, 512, or 1024 MB
- Total RAM — 24 GB
- Uploaded code — 10 MB
- Calls per minute — 1000 pcs.
- Maximum execution time before the timeout — 60 seconds
The ability to reduce timeouts and increase them, if necessary, is planned to be added soon. To do this, submit a ticket.
Glossary
Term | Definition |
---|---|
Function | A separate code block that performs a specific action. The code should be written without state saving, in other words, it should not depend on a specific computing infrastructure. Functions may include libraries (built-in ones, among others) |
Function Calls | Initializing function computing. You can call it using an HTTP request or manually in the test mode |
Public Function | If the function is public, it is available to any Internet users by URL. If the function is private, it can only be tested in the Testing section |
Trigger | That is how the function is called. For example, HTTP requests or Cron-timer |
Tasks to be Solved
Cloud functions are used for:
- background automation:
- chat bots (for example, github.com/selectel/cloud-telegram-bot);
- working with the API;
- sending emails and notifications (for example, github.com/selectel/cloud-functions-examples/mail_sender.py);
- computing on static sites;
- event-based extract, transform, load (ETL) processes;
- backend for the API and mobile applications.
Development
For serverless functions available:
- public API
- Python SDK
- Node.js SDK
- repository with code examples for Python
- repository with code examples for Node.js
Billing and Payment
As part of our service, payment is made only for the resources actually allocated for performing functions. The price is set for the operating time of the functions, rounded to the nearest 100 milliseconds, and depends on the amount of reserved RAM. Withdrawals occur once an hour.
Cost calculation for a function with:
- 512 MB of memory when creating a version;
- 100 000 function calls;
- the function execution time for each call equal to 800 milliseconds;
- the price of 100 milliseconds for 512 MB in rubles equal to 0.00005416666667.
Cost calculation for a function:
0.00005416666667 RUB * 8 hundred milliseconds * 100 000 calls = 43.33 RUB
SLA 99,90% stated in the SLA Cloud Platform applies to the service.