Serverless is one of the latest buzzwords flying around in technology circles. It's hard to keep up with what it means and, more importantly, how it can be used. I spent the last few days at Serverless Conf 19 in NYC and here are some important takeaways.
What is serverless?
Serverless has many definitions, but at a high level it is ephemeral, stateless, event-driven functions where all infrastructure is managed by a cloud provider. These functions are typically short lived and infinitely scalable when used with other cloud services like queuing systems, NoSQL databases, and real-time data streams.
Who is using serverless?
Serverless is growing rapidly the past few years due to how well it works at scale. Major companies like Netflix, Coca-Cola, and Nordstrom are using serverless. Each quarter, Netflix is able to provide nearly 7 billion hours of streaming video. Companies are beginning to realize the simplicity and scalability gains they get with serverless, allowing them to focus more on their differentiators than the now-commodified OS and server management.
When to use serverless?
Serverless functions are best used for short running processes with few dependencies. This is due to their ephemeral nature where they need to quickly boot up on demand and process an event. However, if you have a lot of dependencies or in need of highly customized OS for your functions, Google Cloud Run looks very promising to enable serverless containers.
Why use serverless?
In the software development lifecycle, a lot of time can be spent on provisioning, maintaining, and scaling servers. One of the biggest advantages of serverless is that you can leave all that up to your cloud provider while you can spend your time writing code that differentiates your business. You give up control of fine tuning your servers, but serverless functions can scale just as well with the right stack setup.
How to use serverless?
The serverless community and tooling is growing rapidly and there are many great tools to abstract away unnecessary configuration when working with cloud providers. My favorite is the serverless framework. See my original post for a quick ramp up of how this can be used.
Overall, I think serverless functions and the serverless mindset of abstracting away unnecessary aspects of development will continue to transform the way software is crafted. Attending Serverless Conf 2019 showed me that with the right tools, scaling can be simple and ultimately a worry of the past.
Pro Tip: When you are nearing your budget for a conference, wait until the last minute to buy your ticket, and email the organizer and plead for a 20% discount 😅.
Learn how Callibrity helps companies adopt serverless cloud architecture