On the heels of the acquisition of serverless computing platform Nimbella, DigitalOcean announced a new offering called DigitalOcean Functions based on Nimbella's technology and aimed to provide a developer-friendly and cost-competitive serverless platform.
According to DigitalOcean VP of serverless and former Nimbella CEO Anshu Agarwal, "access to serverless computing has been one of the most popular requests from DigitalOcean users who want to spend less time managing their infrastructure and more time building impactful applications".
DigitalOcean Functions attempts to differentiate from competitors on three accounts: ease of use, pricing predictability, and integration between serverless and server-based services.
To make it easier for developers to use it, DigitalOcean Functions includes a developer console and can be used through DigitalOcean doctl
command line tool.. doctl
allows you to create a function on your local machine and deploy it to the cloud. This is how you can list all of your development functions and invoke the sample/hello
function for given arguments, for example:
doctl serverless functions list
doctl serverless functions invoke sample/hello -p name:sammy -p age:10
doctl
is also able to watch your project directory and automatically re-deploy it when necessary using the watch
command. When you are done developing a feature and want to deploy to production, you can do so by using DigitalOcean App Platform control panel.
As mentioned, DigitalOcean Functions has a simplified pricing model that does not include requests or invocations as part of the model. This can make it a bit easier to estimate costs. Specifically, there is a 90,000GB-seconds free-tier with a cost of $0.0000185/GB-second for excess usage. As commenters on Hacker News pointed out, this may no be the cheapest price out there for serverless. AWS Lambda, for example, provides a higher free tier and charges less for successive GB-seconds, although it will also make you pay $0.20 per 1M requests. So, DigitalOcean Functions seems to appeal mostly to existing DO customers or smaller projects that wish to stay away from AWS complexity.
In the same HN thread, Nimbella co-founder Rodric Rabbah, now at DigitalOcean, clarified that DigitalOcean Functions is based on Apache OpenWhisk "with specific customization to work with App Platform, managed databases, trusted sources, log shipping, and other DO specific capabilities". OpenWhisk functions are vendor agnostic, which means DO Functions may also run functions from Netlify, AWS Lambda, IBM, and others (and vice versa). Rabbah also said support for scheduled function execution is coming next.
As a final note, Agarwal highlights DigitalOcean Functions seamless integration with managed databases, including MySQL, Redis, PostgreSQL, and MongoDB, and the possibility of integrating Functions with an existing server-based application, for example by providing a Functions-based endpoint to tap into or update the database of an existing app.