A Serverless Perspective on AWS SNS
Forcing a piece of technology into every use case at every stage of the company is one of the worst, yet surprisingly common, mistakes made! We are repeatedly seeing cases of people who use Kubernetes for everything, even for a blog which could just run from a monolithic instance! We have also seen people using Serverless at places which doen’t make sense and blame it on the tech! In this write-up, I want to focus on challenges faced by Startups and how Serverless can help in addressing those.
Unpredictability
As an entrepreneur myself for over a decade and have found three startups in three different industries, unpredictability has been a common theme! We are always iterating many ideas, testing hypothesis, proving or disproving them. One can easily get stuck due to rigid tech choices and limited iterations. You need infrastructure that is loosely coupled and easy to discard, the last thing you want is a discarded idea which continues to produce bills!
While this is one kind of unpredictability, there is another one in scalability. You have no idea whether you are building for a few hundreds of users or a few thousands of users! If you assume a few thousand and build infra but you only end up getting a few hundred of users, that’s a massive waste of funds which is hard to come by in the initial phases. On the contrary, if you assume hundreds of users and end up getting thousands of users, your infra starts failing at places you didn’t anticipate! Not being able to serve the new customers you managed to acquire is the worst nightmare for any startup!
Developing on Serverless can put you at ease in these kinds of unpredictable situations. Infrastructure that doesn’t generate bills unless you use it actively, at the same time can scale up or down based on needs without any human intervention.
Hiring talent can be hard!
Hiring tech talent has always been challenging and will continue to be so! As a startup, you need to find ways to do things with as less people as possible! When I started my second bootstrapped startup WheelsBox, I was in the same place. A team of four including myself were able to build a full suite of features (not MVP) in a matter of 8 months! I couldn’t have imagined doing this if it weren’t Serverless! We could focus on business needs than server needs!
Build for unit economics from Day 1
Most companies today has no visibility on their tech cost. They do on the very large picture which is to say “we spend X thousand USD on tech every year”. If you ask them on the unit economics level, they will be clueless! For ex: how much is the per-delivery cost of a food delivery app? per ride cost of a cab-hailing app? per transaction cost on an e-commerce app? Serverless allows us to get the unit economics right by accurately calculating the cost per business value created. Once you have this under control it doesn’t matter if you scale to 100 users or 100 users. Off course, there are some cost which will be perpetual like storage, which will continue to grow with your business.
Security & Compliance
Compliance is generally much easier to achieve in Serverless since the responsibility model pushes mostly towards cloud providers. Operating systems, databases, patches, ports, networks are all managed by the cloud provider taking away a huge amount of security responsibility away from us. One of the insure tech companies that we worked with managed to get SOC2 compliance under a week!
Overall, Serverless can be a great choice for startups due to its ability to handle unpredictability, ease of hiring talent, ability to build for unit economics from day 1, and improved security and compliance. By using Serverless infrastructure, startups can focus on their business needs rather than server needs, scale up or down based on needs without human intervention, accurately calculate cost per business value created, and take advantage of cloud providers’ managed security features.