Serverless — Should it be an afterthought?
If you are part of IT ecosystem and haven’t lived under the rock for past couple of years then you must have surely heard of Serverless. There is a strong reason why the entire world is going gaga about this concept.
The concept is simple as a developer do only what you best do! Create functional, readable and performant code, but often in the past this wasn’t enough. As a developer you also had to worry about the infrastructure constraints, application performance monitoring, ensuring there is redundancy, ensure you have a service close to your users by doing regional deployments, constant monitoring of the functions to measure and improve the performance. All these concepts gave birth to DevOps which ensures that the post development tasks are automated, documented and you follow the best practices for moving the code from dev environment to production and ensure the sanctity of production environment is maintained.
Although investing in a separate DevOps team still makes sense for a lot of enterprise out there, but does it make sense for an early stage or a middle stage startup? Do you feel convinced on investing heavily on the maintenance of an infrastructure backing an application or service which hasn’t proven it’s worth in the market yet? As a startup you are constantly evolving, trying new ways of solving a problem, trying out different product features or even trying out different products. So as a technologist I would want to build the product quickly but at the same time build maintainable, scalable and easily deployable solutions with a strong check at the infrastructure cost. This is where serverless architecture really shines, it uplifts the DevOps culture while making the infrastructure maintenance easy for a developer which otherwise is a draconian task.
For a typical CRUD application where the flow is choreographed by the UI, the cost benefits of implementing such applications using serverless functions are plenty. The additional effort of maintaining the infrastructure, worrying about the scalability and the sunk cost in keeping the modules which are unused/rarely used running all the time isn’t justified.
While I continue to experiment Serverless architecture please stay tuned for more updates from me.