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

Serverless Functions at Spot Prices

The real cloud. No Servers. Just Code.

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.

Code Examples

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

module.exports.main = (event, context, callback) => {
    callback(null, {
		statusCode: 200, 
		body: '{"hello":"from NodeJS8.3 function"}',
		headers: {"Content-Type": "application/json"}
	});
};
# Implement your function here.
# The function will get the event as the first parameter with query/body properties:
# The function should return an Hash

def main(event, context)
    queryparams = event["query"]
    body = event["body"]

    {
        :statusCode => 200,
        :body => '{"hello":"from Ruby2.4.1 function"}'
    }
end
# Implement your function here.
# The function will get the event as the first parameter with query/body properties:
# The function should return a Dictionary

def main(event, context):
    queryparams = event.get("query", {})
    body = event.get("body", {})

    return {
        'statusCode': 200,
        'body': '{"hello":"from Python2.7 function"}',
        'headers': {"Content-Type": "application/json"}
    }
import com.google.gson.JsonObject;
import com.spotinst.functions.runtime.Context;
import com.spotinst.functions.runtime.GenericResponse;
import com.spotinst.functions.runtime.RequestHandler;

import java.util.HashMap;
import java.util.Map;

/**
 * Please make sure your class implements the "RequestHandler" interface * The return value should be of type "GenericResponse"**/
public class Java8Template implements RequestHandler {
    @Override
    public GenericResponse handleRequest(JsonObject event, Context context) {
        JsonObject query = new JsonObject();
        String     body  = "";

        //Your function arguments will be available in args.query/args.body;
        if (event.has("query") && event.get("query").isJsonObject()) {
            query = event.getAsJsonObject("query");
        }
        if (event.has("body") && event.get("body").isJsonPrimitive()) {
            body = event.getAsJsonPrimitive("body").getAsString();
        }

        //Build response object
        GenericResponse response = new GenericResponse(200, "{\"hello\":\"from your java8 function\"}");

        //Build response headers
        Map headers = new HashMap<>();
        headers.put("Content-Type", "application/json");

        response.setHeaders(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.

Resources

Getting Started

Documentation and APIs

 

Try It Now

$ serverless create --template-url https://github.com/spotinst/spotinst-functions-examples/tree/master/node-spotinst-api-getGroups

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