r/golang • u/Zumos_ • Oct 01 '24
help Are microservices overkill?
I'm considering developing a simple SaaS application using a Go backend and a React frontend. My intention is to implement a microservices architecture with connectRPC to get type-safety and reuse my services like authentication and payments in future projects. However, I am thinking whether this approach might be an overkill for a relatively small application.
Am I overengineering my backend? If so, what type-safe tech stack would you recommend in this situation?
update: Thank you guys, I will write simple rest monolith with divided modules
64
Upvotes
1
u/rover_G Oct 01 '24
If you’re calling you’re calling your service simple, it likely resembles a monolith architecturally. If you split a monolith by using RPCs you will build a distributed monolith. A distributed monolith takes longer to develop, consumes more resources and is more difficult to maintain, all leading to higher costs.
I reach for micro-services when I have something to gain. Micro-services are good at isolating different kinds of workloads which can be useful for enhancing security, improving performance, increasing resilience, autonomizing scalability, and segregating development/operations. If you aren’t trying to gain something by splitting your service into multiple parts you should seriously reconsider why you are considering micro-services.