Spotinst raises $15M Series A Led By Intel Capital and Vertex Ventures Read The Official Press Release

Serverless Functions at Spot Prices

Save 60-80% off traditional serverless costs.

Run code without provisioning or managing servers. Pay only for the compute time you consume at the most cost-effective price on earth.

A fully managed Serverless compute platform that allows running code without thinking about cloud providers. Built to reduce compute & networking costs and application latency by leveraging cloud vendors’ excess compute capacity & network rates via the “Serverless” FaaS paradigm.

Spotinst Functions is a highly distributed platform, owns infrastructure across 15 locations (and counting+) in the United States and over 10 locations in Europe & APAC. Spotinst Functions finds the best combination of cost, performance, reliability, and resistance to failure, closest to your data that meets your budget.

Choose your platform(s)
Choose preferred geo-locations
Upload your code

Code Examples

 * Implement your function here.
 * The function will get the request as a parameter with query/body properties:
 *      var queryparams = req.query;
 *      var body = req.body;
 *      var uri = req.uri;

exports.main = function main (req, res) {
    // The function should return a Promise that resolves with the following structure:
    return new Promise(function(resolve, reject){
        return resolve({
            statusCode: 200,
            body: "success"
# Implement your function here.
# The function will get the request as parameter.
# The function should return an Hash

def main(args)
    queryparams = args["query"]
    body = args["body"]
    uri = args["uri"]

        :statusCode => 200,
        :body => '{"hello":"from Ruby2.4.1 function"}'
# Implement your function here.
# The function will get the request as parameter.
# The function should return an object

def main(args):
    queryparams = args.get("query", {})
    body = args.get("body", {})
    uri = args.get("uri", {})
    return {
        'statusCode': 200,
        'body': '{"hello":"from Python2.7 function"}',
        'headers': {"Content-Type": "application/json"}

public class Java8Template {
    public static JsonObject main(JsonObject args) {
        JsonObject query = new JsonObject();
        String body = "";
        String uri = "";
		//Your function arguments will be available in args.query/args.body;
        if (args.has("query") && args.get("query").isJsonObject()) {
            query = args.getAsJsonObject("query");
        if (args.has("body") && args.get("body").isJsonPrimitive()) {
            body = args.getAsJsonPrimitive("body").getAsString();
        if (args.has("uri") && args.get("uri").isJsonPrimitive()) {
            uri = args.getAsJsonPrimitive("uri").getAsString();

        //Build response object
        JsonObject response = new JsonObject();
        response.addProperty("statusCode", 200);
        response.addProperty("body", "{\"hello\":\"from functions\"}");

        //Build response headers
        JsonObject headers = new JsonObject();
        headers.addProperty("Content-Type", "application/json");
        response.add("headers", headers);

        return response;

Top Features

Improving SLA and High Availability

We don’t depend on a single specific cloud provider as we aim to abstract it for you. Hence, we can always find the best combination of performance, reliability, and resistance to failure.

Avoid single vendor lock-in

Getting the cheapest and fastest compute resource across all the major cloud providers.

Better compute rates

By leveraging Cloud providers’ excess compute capacity, we can always get a better price per compute unit. We have been doing it for years.

Better network rates

By working with multiple cloud providers in multiple locations, we can always get a better network rate (data-transfer out) ranging from $0.08 per GB – $0.009(!) per GB.

Any Cloud

Run your code on your desired infrastructure provider. You can always choose only one cloud provider, many or just all of them.

Any Geo Location

Consume compute & network resources, wherever you need it, closer to your users and data sources 15+ (and counting) different Zones in the U.S, 6+ different zones in Europe, 10+ different zones in APAC and SEA.

Everything HTTP/2

Once deployed Spotinst Functions exposes function URLs that speak HTTP protocol. Traffic is only served over secure HTTP/2 connections.

Advanced Analytics

Spotinst Functions exposes every single thing as a time-series metric. These metrics can be filtered and viewed per individual version of your Function.

Vast Runtime Support

Spotinst Functions supports a wide variety of Runtimes: Node (4, 6, & 8.3), Java 8, Python 2.7, Ruby, Go. And very soon – you’ll be able to ship your Container as Function. (Just specify a docker image to bundle a Function)

Use Cases

Spotinst Functions for Web Applications

Spotinst Functions focuses on deploying  HTTP Endpoints so there’s nothing new to learn, just develop with your favorite existing frameworks and deploy powerful web applications that automatically scale up and down and run in a highly available configuration across multiple data centers

Spotinst Functions for Backends

Spotinst Function is a natural fit to handle web, mobile, Internet of Things (IoT), and 3rd party API requests and process business logic at any scale.

Spotinst Functions for Timer-based processing

Spotinst Functions supports an event based on a timer using Cron job syntax. For example, execute code that runs every 15 minutes and clean up a database table based on custom business logic.

Spotinst Functions for Fan-out Architectures

Spotinst Functions executes code in response to triggers such as changes in data, shifts in system state, Queues or actions by users.

Get Started for Free

14-day trial of immediate optimization to your account.

Free Sign-up

Request a Demo

We'll answer your questions and explore your needs in depth.

Contact Us