We've seen it time and time again: companies get tremendous cost savings when they port over into the serverless realm.
Some real world examples:
What if I told you...it just got even cheaper?
Introducing the latest serverless provider integration, Spotinst.
Spotinst Functions enables users to deploy multi-cloud functions at Spot Prices. By leveraging spot instances, you could save 50 to 80% over standard serverless FaaS pricing.
Spotinst currently supports Node (4, 6, & 8.3), Java, Python, Ruby, Go as function runtimes.
Spotinst functions can be deployed simultaneously in AWS, Azure and Google Cloud Platform.
This ability to deploy across clouds improves SLA and offers higher function availability. If one cloud provider goes down (or pricing is cheaper elsewhere), Spotinst handles this for you under the hood.
Reduce data transfer costs with edge location support. Unlike other edge FaaS solutions, Spotinst Functions doesn’t have limitations on external api calls or execution time limits.
They are currently supporting 15 different locations around the US and 10+ locations in APAC, SEA & Europe.
Lets see how pricing stacks up with an example.
With 500,000 Requests per Minute (21,600,000,000 Monthly) with 256MB of RAM & <10ms execution time, the prices would break down like so:
Here’s what you need to get started with the Spotinst plug-in now:
Start here in our docs.
Or continue reading for step by step instructions on how to set up and deploy your first service on Spotinst.
Pre-requisites: Make sure you have the latest version of serverless installed on your machine.
# install serverless in your command line
npm install serverless -g
You can sign up for a Spotinst account here
Inside of Spotinst, head into the Functions console.
https://console.spotinst.com/functions
Create a new app and give it a name.
An application
in Spotinst is a logical group of several environments. Most commonly, it stores environments that share the same business application (e.g., testing and production of a specific function). More on Spotinst applications in the Spotinst docs
Name the Environment and choose which regions and providers you want to run the function in.
This is where you can choose to run your function across cloud providers and within multiple regions. 🎉
Inside Spotinst, the environment
refers to a configuration group that contains actual Functions. Learn more in the spotinst docs
Now head into spotinst setting. We need to grab an API key!
Click on API in settings and then on Generate Token. Generate SpotInst API tokens here
Name your token and click generate.
https://console.spotinst.com/#/settings/tokens/permanent
sls credentials
Now copy the token, we will need to use it with the sls config credentials
command in our terminal.
https://console.spotinst.com/#/settings/tokens/permanent
We also need your Spotinst account ID. You can grab that here: https://console.spotinst.com/#/settings/account/general
sls create
and create a Spotinst serviceBack in your terminal, create a new Spotinst service.
sls config credentials -p spotinst -t hhhhhhhh -a act-73192739
You will need your spotInst environment ID from the UI to deploy your functions.
Grab the environment ID and drop it in the serverless.yml of the service.
Run serverless deploy
The serverless framework will read your config from serverless.yml
, package up the function and deploy the code to your Spotinst function environment
Run sls info
for information and live endpoints of your service.
or via the sls info
command in your terminal.
🎉 Congrats you are now leveraging spot instance prices and running your functions across multiple clouds.
If you have questions or comments about the integration, we'd love to hear from you in the comments below or over on the serverless forums.