TCO of Microservice Architecture: Part I
Mohammed Mehedi Hasan
Agentic AI Researcher | CS PhD Student | Software Engineer | Architect | Ex-Engineering Director@ShopUp
When we will be calculating the TCO of Microservice Architecture we need to come up with numerical values. In this article, I tried to enable the readers to bring some numbers out of the benefits they can learn from the internet or books. From my experience, I have assigned different weights of different types of benefits which can be different for others depending on their use cases. But it can be a good starter to think like this for anyone
The Benefits of Scalability:
a. Is application going to achieve 10x growth over the next two years? (+10 points)
b. Does your application traffic vary drastically over the day? Like between a busy hour and non-busy hour, traffic ratio is very high? (+20 points)
c. Does your team spend more than two days to upscale or downscale your infrastructure in a month? (+30 points)
d. Do you have users skewed around some specific features and these have different peak hours? For example, you have 10 features and customers mainly use 3 features, maybe one in the morning, another in the afternoon, and another in the weekends. (+40 points)
The Benefits of Deploymentment Independence:
a. Do you have multiple teams? (+5 points)
b. Does your team have very tightly coupled coding practices and spend more than 15% of the time for code reviews of every normal/easy feature? (+10 points)
c. Can you split your data into some domains/databases without much hassle? (+10 points)
d. Do you have any plan to introduce new programming languages or databases in the next 1 year and do not want to disrupt the current stability? (+ 15 points)
c. Do your team members wait in a queue to deploy dependent features and the average waiting time is more than a day for each feature? (+30 points)
d. Do you face change in one feature and break another feature at least once in a quarter? (+30 points)
The Benefits of Automation & Tooling:
a. Do you foresee that your team will adopt new open-source tools and technologies more and more to make their life easier? (+15 points)
b. Do your team needs canary deployment, A/B testing, etc. super hyped use cases? (+15 points)
c. Do you have features that you want to save when some other features of your application are suffering? In other words, does fault isolation has any value to your business? (+20 points)
d. Does your team missing the full visibility(monitoring and alerting) of your application from a single source of truth? (+25 points)
e. Does your team still have a manual process for scanning, deployment, and testing? (+25 points)
The Benefits of Cloud Nativity:
a. Are you lagging behind DevOps and Agile practices? (+15 points)
b. Do you have any vendor locking in your current application and you want to get rid of that? (+ 25 points)
c. Do you have any plan to move your application to different cloud platforms in the next 2/3 years? For example, you are in a private data center and want to move to AWS, or you are in AWS and want to move on to Digital Ocean for low cost, etc. (+30 points)
d. Does your infrastructure dictate your application performance too much? (+30 points)
To be continued...
Software Engineer at Meta
3 年Great stuff
Project Lead | Master Network Engineer | Business Intelligence | Automation at Layer SYSTEM
4 年Each point is the most important, which will help to make a quick decision. There are enough attractions to follow your articles.