The Who, What, When, Where, and Why of Serverless
Stackery is all about serverless, but when I started working here, I had never even heard of the term before. Since starting, I have been hounded by friends and family to explain what Stackery does, which always leads to questions about serverless that I didn’t know the answer to. Two months into the job, I’ve decided it is time to answer some of those questions for myself and others who might be new to the space. I now present to you the 5 W’s of serverless: Who? What? When? Where? And Why?
Who: Who are the players in the serverless world?
Amazon introduced serverless with their AWS Lambda offering. Microsoft has Azure Functions. Google now has its own version of a serverless platform called Google Cloud Functions. IBM has announced OpenWhisk as an open source serverless platform. There are also a number of other players who are creating specialized services in this space.
What: What does “serverless” mean?
At first glance, serverless sounds very similar to the original ideas behind cloud computing. Both attempt to help developers abstract away from servers so that they can focus on writing the code. Serverless is different because it offers a new platform for running functions (or other short lived processes). It allows you to dynamically allocate resources based on event-driven inputs. While “serverless” is the term that seems to have caught on, it is a sort of misnomer. The term can be misleading because it attempts to define the term by saying what it is not. It gets even more confusing because it isn’t meant to imply that servers are not involved. It just means that developers don’t have to worry or think about the server part anymore. Despite attempts to rename it, “serverless” seems to have gained too much traction and is here to stay. For those who prefer a different term, there is also Function as a Service (FaaS), which can still be seen in numerous articles on the subject.
When: When did serverless get started?
Amazon introduced AWS Lambda in November 2014, making Amazon the first major provider to have a serverless type offering. While AWS Lambda originally only supported Node.js, it now has support for several other languages including Python, Java, and C#. While Amazon seemed to be the only player in the space for a while, many other big players have jumped on as we see serverless starting to go more mainstream. Amazon was motivated to create Lambda after observing an increasing number of event-driven workloads being deployed.
Where: Where can I learn more?
Follow the Stackery blog for posts about what is new in serverless and other helpful articles. O’Reilly also has a fairly interesting mini-book that you can download for free:Serverless Ops: A Beginner’s Guide to AWS Lambda and Beyond.
Why: Why would I use serverless tech?
The primary reason people are using serverless is due to the efficiency of it and the cost. Serverless allows you to pay using a ‘pay as you use’ model that only charges you for the runtime of your code. You are not required to pay for idle resources. Besides cost, serverless also offers the benefit of automatic horizontal scalability. When the load gets higher, it is able to start new instances to handle the demand. Serverless can also speed up product development as it compresses the ops/release time. It does this by lessening the barrier between app logic development and deployment to production. Serverless allows you to code without having to worry about servers and deployment.