What makes serverless a trending technology and why did we meet last week in NYC to discuss its future?
We proudly attended the first Serverless Conference ever on May 26-27th 2016, in Brooklyn. Personally, it’s been a highly educational experience, and it was great to meet so many skilled and passionate developers and engineers.
I believe it’s an exciting time for the cloud world, as serverless is changing how we design and build applications – especially on the web – with the support of a continuously growing set of tools and frameworks.
But what makes serverless technologies special?
I think Patrick Debois – founder of DevOpsDays – asked a very interesting question on Twitter:
What makes Serverless different for you?
What makes #serverless different for you ?
— Patrick Debois – #thinktogether make code not war (@patrickdebois) May 22, 2016
The four proposed options are all valid alternatives. In fact, I would be in trouble with choosing only one. In my very personal opinion, I would choose “No worries about servers“, although the majority answered “Function as deploy unit.”
Honestly, serverless is not the first technology that allows you to consider single functions as the final outcome of your development process, as decades of remote procedure calls (RPC) and stored procedures can attest to.
This is why I think the biggest differentiator – from a developer point of view – is the ability to take a considerable amount of operations and maintenance overhead out of your daily workflow.
Note: I am not a big fan of the #NoOps movement either: operations represent much more than just a deployment procedure, for your company. While operations should be considered a crucial part of your product, I deeply appreciate how serverless technologies allow me to focus on what really adds value for the final user along your critical path, rather than repetitive and low-level operations which nobody should waste their time on anymore. This makes my job better and brings me closer to my code and microservices, fighting the lack of ownership experienced by many engineers, often in an unconscious way.
I believe this is somehow in line with Charity Majors’s talk. She satirically coined the #NoDevs counterpart, by highlighting the following:
How hard can it be to just glue together APIs that other people have written and support and scale?
I mean how hard can it be to just glue together APIs that other people have written and support and scale? 🤔 #serverless #NoDevs
— Charity Majors (@mipsytipsy) May 23, 2016
ServerlessConf – Highlights
The agenda has been quite full and exciting. It included some of the brightest minds in the Cloud world. Everybody had a chance to share their own experience with serverless: Cloud vendors showcased very diverse serverless solutions, and many Cloud architects discussed the best emerging design patterns.
And not only that, the conference offered a great opportunity to emerging technologies and startups for updating everyone on their progress and sharing their near-future vision. AWS itself announced a new initiative to make Serverless computing more open and easier to approach.
Tim Wagner – general manager of AWS Lambda – took the big responsibility of breaking the ice and making this new community feel welcome. I would say he totally nailed it, by symbolically – but literally – smashing a sacrificial server with a baseball bat.
I think this is one of the moments that made #serverless go viral, later that day.
Again. My favourite moment of #serverless conf so far. @timallenwagner destroys a server rack in his keynote pic.twitter.com/LgtSR7ga4i
— Sam Kroonenburg (@samkroon) May 26, 2016
Tim talked about the advantages of serverless computing, here is a short and non-exhaustive list.
- First of all, servers are intended to become a commodity, as much as most of us nowadays give our CPUs or TCP interfaces for granted.
- Serverless democratized the access to scale, which has been a privilege of the few ones who could afford it for too long, somehow even after the advent of public Clouds.
- Serverless is driving the market towards request-driven compute/pricing models, which aims for a faster and cheaper development process, resulting in a real competitive advantage.
- PaaS is too intrusive and usually offers the wrong unit of scale (e.g. monolithic applications), while Serverless lets you deal with stateless functions/microservices, which allows you to write less server software (of course, hardware is still there).
One sentence really got stuck into my mind:
DevOps are 2016’s punch cards.
Tim referred to how engineers thought of punch cards as the best way to deal with programming for decades. If you spent enough time on it, they seemed like a natural tool, even if now we can appreciate the long list of abstraction layers that separate us from the CPU registers and allow us to build better software. Don’t you?
In Tim’s metaphor, this obsolete technology is compared to what we currently call DevOps (aka operations). Of course, CPUs and assembly instructions didn’t disappear, but they are definitely not the core business of most innovative companies anymore. Are DevOps technologies intended to become obsolete as well? If Tim is right, they will be hidden within the Cloud, for the most part. As a software engineer, I feel like this would bring me closer to my code and my product, therefore I can’t be disappointed.
Flourish: A New Open-Source Runtime Application Environment
Tim Wagner also announced a new open-source initiative, with the goal of creating a serverless runtime application environment.
Similarly to what SwaggerHub does to coordinate APIs lifecycles, Flourish might become a vendor-neutral reference for Serverless computing.
The initiative is still in its very early days and no public repository has been published yet, but I’m looking forward to great contributions from the community.
"Amazon Debuts Flourish, a Runtime Application Model for Serverless Computing" @timallenwagner at @ServerlessConf pic.twitter.com/L6JzjQPcLF
— Werner Vogels (@Werner) May 27, 2016
The Serverless Ecosystem
Of course, Serverless is not only about AWS Lambda.
IBM, Microsoft, Google and others gave a great overview of their solutions as well. I have to admit it: each one offers something particular and unique.
I recently discussed the differences between AWS Lambda and Google Cloud Functions (still in limited preview), and I am definitely looking forward to giving IBM Bluemix OpenWhisk, Azure Functions, Iron.io, Auth0’s Webtask and others a try.
Obviously, all this diversity won’t make anyone’s life any easier for now, although competition is always good. In particular, it will provide a lot of work and hard thinking to the serverless.com guys: Austen Collins announced his vision for the Serverless Framework Version 1.
Hopefully, things will get easier, more vendor-neutral and open-source with the help of Flourish.
If you attended the conference, don’t forget to tell us about your experience, what you’ve learnt and how it changed the vision about your next product or startup.
My personal @ServerlessConf recap: why #serverless is special & why we made history in NYC https://t.co/d4KhaWd7ge pic.twitter.com/8awxuHATp9
— Alex Casalboni (@alex_casalboni) June 1, 2016