D and microservices

Mengu via Digitalmars-d digitalmars-d at puremagic.com
Wed Oct 7 01:52:30 PDT 2015


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. :)


More information about the Digitalmars-d mailing list