The word “serverless” is a beguiling buzzword if there ever was one because servers are kind of pain. All of those patches for those security holes that are described in a bazillion words in a million emails sitting in your inbox? If you could get rid of a server, you could forget about those patches. All of those ports on the firewalls that you’ve got to remember to keep closed? They won’t be your worry anymore either. The serverless world will set you free. At least that’s what the word seems to promise.
The serverless world looks relaxed and full of time to devote to your one true mission: whatever your suits tell you it should be. But don’t be fooled. You’ll pay for this freedom from worry by sacrificing your freedom to wander or change. The serverless platforms in the Amazon, Microsoft, and Google clouds deliver their magic through a proprietary interface and every time you offload some of your worries into their waiting arms, you become addicted. Absorbed by the Borg. “Owned” is much too strong a word, but you may find it just as hard to escape.
Programmers hate shackles like this and that’s why a number of them are trying to build open source packages that offer some or even most of the features of the cloud-based serverless platforms, but in a pile of code that you can take anywhere. Not only does this make debugging and testing easier, but it lets you take your whole kit and kaboodle to another cloud with better prices, better latency, or better anything. You might even bring it home to that air conditioned closet that you used to call the server room.
To get a handle on this burgeoning world of open source serverless frameworks, I booted up a few machines and wrote some simple logic. It’s still too early to come to any firm conclusions because the projects like to say that they’re “pre-alpha,” but there’s much promise for liberating us from the lock-in.