You can also watch the video version of this here: https://youtu.be/eUaHe2MWs6o
There are a lot of assumptions and myths surrounding the cost to develop Serverless, so I decided to do some research with real companies. I created a project brief for a straightforward registration form. Users would fill out some information then send it to the backend to be processed, validated and forwarded to an email address. The brief indicated that the design didn't matter. I created two versions of the brief, one was server-based, and one was Serverless. The briefs were quite specific with technology and architecture decisions being made already. It did not leave too much to creative interpretation to ensure a consistent understanding across multiple vendors.
The brief was sent to 160 different vendors. It was a mix of different sizes, from development agencies to freelancers and with varying levels of experience with Serverless. Some of the vendors we only sent the Serverless brief, some the server-based brief and some both - depending on their interest and capabilities. We received proposals and did follow-up interviews to understand their thought process better and gained a few interesting insights.
The results indicated that Serverless development was generally more expensive than server-based development for this project, but it’s important to understand why and the collected data helped to provide those insights.
- Serverless experience is rare, and capable vendors charge a premium because of this. This premium also means they can often attract more experienced and capable talent in their respective markets.
- Vendors with little or no Serverless experience estimated considerably longer timelines for the Serverless project to account for learning and mistakes.
- Serverless vendors had a consistently higher chance of having well-established automated deployment and testing pipelines. This both increased their productivity and the quality of the final result.
Serverless specialised vendors with experience in this area know that they are rare in the market. We found that the estimated timelines of experienced Serverless vendors for the Serverless project were consistently shorter than the timelines of the server-based briefs from server-experienced vendors. Their hourly rates were consistently higher, however.
The unique selling point of Serverless vendors was often their deployment and testing automation, which lead to higher quality results and faster delivery timelines. So you get high quality at a very fast pace but at a higher cost. There is less development time, so you would expect the cost to be lower; however, the actual cost will always be driven by market forces. We see the same with employee talent who will often also ask for a higher salary compared to similar talent without Serverless experience.
Some other insights that we had are that it is challenging to find experienced Serverless vendors. The Amazon partner site has links to vendors that are Serverless capable, which helped a bit, but the 160 vendors we approached were definitely skewed more towards those that were not experienced with Serverless. I was okay with that in this particular research because I think it reflects the market. It's what you would also experience if you went looking for a vendor to work on your Serverless project.
The division of work was quite interesting too. Server-based brief estimates were 50% development, 50% everything else. In contrast, Serverless was 80 to 90% development and 10 to 20% the rest. This is again due to those automated deployment pipelines that experienced vendors will have in place for Serverless and because they integrate so easily and rapidly with the Serverless services.
Some of the less experienced vendors gave us some interesting reasons as to why their estimates were so high for the Serverless proposal. One frequently occurring reason or complaint, was that configuring all the individual services in the cloud would be very time-consuming. This indicates to me that they lack automation in their deployment practices which would definitely make Serverless a bit painful to implement, certainly with consistency.
To go deeper on this topic and to read many more related topics about Serverless Architecture please buy the book Serverless - Beyond the buzzword here: serverlessbook.co