The problem that I have with these Serverless stacks is that they all demo pretty well for the trivial case of "it sends emails / transcodes video / puts files in S3" but then jump to "run your entire business on this" without clearly showing how its possible to do that with a complex system.
Is your solution different?
I'm moving over some of my own services to Coherence so it's very much intended to "run your whole business".
"Backend-as-a-service" businesses need to check all of those boxes.
- scaling the function
This is where we've invested most of our effort. We're envisioning a load test demo soon.
- monitoring the function (billing, errors, throughput, latency)
This is something which we will need to invest more in. Great feedback here. We don't have much in the way of monitoring yet, but everything is there and we just need to expose it to the users.
- moving data between two functions, storing data
Traditional solutions like Redis and Postgres seem like a good solution here. You can't host them on Coherence yet, but it's something that we're working on.
- signaling a function, upgrading a function, downgrading a function
Versioning is particularly interesting here. A lot of time we've thought of these functions as ephemeral.
Send me an email (bryan at coherenceapi . com) I'm really interested to talk more about the use cases you're envisioning.
A malicious user that manages to break out of the container environment will only have access to other instances of their own applications. Stronger security policies exist between users.
In terms of DOS'ing our services, we limit disk space usage per job, and are working on bandwidth limitations (this is a weakness, but for now we'll just ban abusers and work with those with legit needs)
Or things like using stolen credit cards to do Bitcoin mining.
We have plans but ultimately won't really know until we're in the thick of it.
Our plans though are to limit bandwidth and ban abusers. We'll work with Stripe's Radar platform to reduce the stolen credit card fraud.
Coherence API is a twist on serverless that lets you deploy and run code the same way you call a local function. It integrates with the programming language so you can just pass a func and it's getting run. No need to change your workflow or toolset.
I'll be here to answer any questions.