On Tuesday, 6 October 2015 at 23:01:43 UTC, Laeeth Isharc wrote:
On Tuesday, 6 October 2015 at 19:31:20 UTC, Mengu wrote:
a half of it is the buzz and other half of is not. remember people talking about reactjs, go and rails being buzz? they were the same. we have built an online payment gateway and we are about to decouple our application and switch to microservices architecture. we have an api, a dashboard, a checkout page, mobile flow. we have to deal with accounting and reporting as well. and there is no way that this application will turn into a giant monolith. i don't want that. nobody wants that. it will become something we cannot handle.

now a question for you. do you wish you had built it from components from day one? or do you see creating it as a blob to start with and then when the right divisions are clear factoring these out into micro-services as simply a natural part of the design process? because you know much more by having started, and it's not so hard to refactor at this stage.

it's the latter for me. i am glad we have everything coupled together. this way we are able to see what parts can live by themselves and what parts cannot. and when you're building a start-up, i hardly believe designing microservices is the way to go. if you have time, if you have resources then go and design your microservices architecture. take your time, use your resources. but i didn't. i was one man and i did not have the time. now we are 4 people. we are not adding new features anymore and we know what kind of future is out there for our application. right now almost 95% of our application can be decoupled, do not depend on each other in terms of code. they can just communicate and get things done. also it means more uptime, more developers, more resources, etc.

we already have two microservices. one is for card vaulting and the other one is for end of day and cash report download/process service from the banks and other payment gateways. sometimes the industry you are in will push you that way. and... one of the most important things for me with microservices is that now I can get Haskell and D in our codebase. :-)


another thing is whenever we do deployments we have to take down the whole application and go offline

pretend I'm asking you before it was deployed in production...

nobody suggests starting with microservices architecture because you'll never know where things will lead you however when it becomes a giant the suggestion is to use microservices.

some people do. but I would have thought the point I made above is the real reason. it doesn't take very long to write it that way from the beginning IFF you know what you want it to look like before you start. and maybe you don't. but I am interested in what your experience has been.

nobody, in their right minds, then. :)

Reply via email to