Make your existing solution tastier with serverless salt
"serverless:" the first time I heard of this was during Developer Week in San Francisco...
People approach events like this in many different ways. Me, I see myself as a kid playing games. My favorite one is to attend talks that do not seem very attractive compared to some of other, more “sexy” ones. Call me a weirdo if you like but this is exactly how I have discovered uncommon, really interesting people, ideas and technologies for years.
At Developer Week, most of the audience seemed to focus on the popular topics of containers and blockchain. On my side, I spotted this rather different talk that sounded like a joke. How on earth do you expect to serve any purpose with no servers!?
People may think that the name "serverless" is a bad choice because it is misleading, and I empathize. Because surprisingly (or not) serverless does not actually get rid of servers. What it really does is abstract them. In other words, it enables development and execution without the need to think about/deal with the underlying IT infrastructure.
This is great!
- Extreme application of the "pay for what you use" concept (no idle servers)
- Enhance development efficiency and flexibility (time, scope and cost)
- Reduce/remove the need for deep IT knowledge
- Complementary to microservices
But it comes with challenges:
- Response time fluctuates (especially for first requests because of warmup)
- It depends on a Cloud (private or public)
- Not suited for super long-running executions (hours)
- Full serverless solutions come with the same development challenges as microservices
- The technology is not completely mature yet, especially when it comes to development tools
I left the conference excited about it but I had to come back to other priorities (namely ACM and RPA), so I kind of let it go. It is only months later that I truly came across a more mature AWS Lambda and its increasing traction at the AWS Loft in NYC. A quick check and I see that Azure and Google are providing similar services both called Functions. This was the flashing light that I had to evaluate against real-world solutions.
My position was and still is that it really shines when combined with other technologies rather than replacing them entirely, a hybrid approach. This is primarily because the benefit does not always outweigh the challenge especially in these early days (similar to microservices).
What makes me so confident in speaking about serverless is that I tried and successfully integrated it into the Bonita business application platform that I work extensively with. And it is so powerful that the Product Management team at Bonitasoft contacted me to get my feedback, and they are now considering what I can contribute on this really new feature as I am writing this.
This is an exciting and interesting journey that I think is worth sharing. I plan to write a series of blog posts as I dive in. This will be a great opportunity to illustrate how the integration of serverless in an existing solution or platform could lead to great enhancement, so stay tuned...
I would appreciate your feedback in the comments: enhancements, new topics to cover, etc. If you like what you read, let us know and we will spread the word!