Information hiding makes for great software but poor developer education and marketing.
I read a tweet recently lamenting a runaway serverless edge function leading to a $3,000 bill in just 6 hours! One reply in the thread from another customer said they might leave the provider due to this possibility.
This is a risk with serverless providers who don't have spending caps. In this case, the edge function provider was built on top of AWS which offers spending caps – but the provider managed the underlying platform and didn't expose this (black box to customers). A recursive error, excessive requests, or a myriad of other issues can cause runaway compute.
What does this mean for developer onboarding?
The person who wrote it was new to serverless and new to this provider – it was the first time they tried it. Not a good first impression.
If you're creating a tutorial on deploying your DevTool to a serverless cloud provider like this, I highly recommend including a warning and information on how to CLEAN UP resources. It's tempting to hide this or not to mention it, after all, "It's an issue for the user to deal with."
I don't agree, I think there's an ethical implication to call it out, especially when you're walking people through how to create resources that cost money. I'm making 3-4 serverless tutorials for AWS, Azure, and Cloudflare and each video ends with a quick how-to on cleaning up resources.
Even though it makes the video or docs longer, the last thing you want is customers getting surprise costs and tweeting about how your tool was the cause.
Have a lovely day,