How to scale technology?
As a start-up founder you probably lie awake worrying about “How will my technology cope with another 10 or even 100 thousand users overnight?”. Firstly, if you genuinely have this concern, congratulations it’s a great problem to have! Most start-ups never get to the stage of having to worry about exponential growth.
Secondly, your major concern at this stage shouldn’t be rapidly adding shiny new features but things not breaking catastrophically so you retain customers and don’t suffer irrevocable reputational damage.
Microservices, Function-as-a-Service, Serverless…?
Should you build your software as a number of microservices, should you use serverless database, should you use AWS Lambdas/Azure Functions/Google Cloud Functions, do we need an API Gateway…? Too many technologies, too many buzzwords, and too many choices.
In fact, you’re probably worrying about the wrong choices.
Not ‘Can my tech scale’ but ‘Can my Engineers scale my tech’?
If you’ve read my other writings you’ll recognise a theme, I like to think of software as existing within layers of ecosystems.
Scaling your technology successfully relies on the ecosystems that it’s developed within, which depend, incongruously, on constraints.
If you pick the right constraints for your technology team(s) you provide the right guard rails and support for your team(s) which in turn will provide the right technology and architecture to respond rapidly to change, like rapid user growth.
If you want to hear more about my thoughts on how to scale or software ecosystems let me know in the comments.