4 ms·
Microservices are good for large complex systems, with many developers making many changes. It sounds like your system is rather simple, I don’t think you need
by jbob2000 7y ago
Microservices are good for large complex systems, with many developers making many changes. It sounds like your system is rather simple, I don’t think you need to pursue this architecture, especially just starting out - you’ll need to write too much infrastructure and you probably don’t need the scalability.
- gigatexal 7y agoYeah I agree. If prototyping an idea why not start with a monolith and a single DB before going microservices for even scaling is needed?
- c89X 7y agoSo you would recommend implementing authentication and handling credit cards from scratch? The reason I'm going with this approach is because although I do use a monolith and a single (hosted) DB for my business logic my understanding was that implementing high-impact, high-complexity (non competitive advantage) systems like authentication and credit card handling are best 'outsourced'. This outsourcing of high-impact, high-complexity does come with the disadvantage of now having to deal with external services. As far as I can tell, the atomicity/transactional problem with these external services generalises to microservices - hence the microservices tag.
- gigatexal 7y agoNo of course not. You have third party thing working like authentication. Bake that into your application in a simple flow where if it works the user gets added to the database or gets access etc to things. Then you would be able to use transactions in the DB
- yen223 7y agoTo be clear, if you're interacting with external services that you don't control, you will run into the problem of coordinating transactions. Doesn't matter if you're running a single-server monolith. (That's why the OP considers this a microservice)