Microservices aren’t enough
When planning to augment a technology infrastructure, it's not enough to take existing systems and “just add water”— the water being microservices and containers. I’ve worked on projects where containerizing existing apps was seen as a major breakthrough, while a rebuild from the ground-up after years of iterative add-ons was needed — regardless of containers. Microservices and containerization are useful innovations and should be investigated, if not implemented; but there is more to consider beyond the pure engineering costs which these tools may superficially belie:
- Will your infrastructure require a human to manage?
- Will you need a fully staffed DevOps/SRE team to support your operations?
- How much will it cost to run the system at full scale?
- Can you reduce costs while you are running the POC for the first few months before you get funded?
- How costly will it be to handle the occasional traffic spikes?
- How well will your system protect the customer’s data?
- How can you best support the future development and testing efforts?
- What is the cost of maintaining your systems’ regulatory compliance?
Answer these questions to ensure you count the cost before you build.
This list derived principally from Become an Awesome Software Architect by Anatoly Volkhover.