D and microservices

Mengu via Digitalmars-d digitalmars-d at puremagic.com
Tue Oct 6 12:31:18 PDT 2015


On Tuesday, 6 October 2015 at 19:07:32 UTC, Nick Sabalausky wrote:
> On 10/06/2015 01:54 PM, Russel Winder via Digitalmars-d wrote:
>> On Tue, 2015-10-06 at 16:21 +0000, Dejan Lekic via 
>> Digitalmars-d wrote:
>>> On Tuesday, 6 October 2015 at 16:12:12 UTC, Russel Winder 
>>> wrote:
>>>> Has anyone got a small example of microservices using D, with
>>>> Vibe.d or otherwise, that I can make use of? I need some
>>>> examples of small microservices for a session at μCon 2015.
>>>
>>> As far as I know, there is no implementation of microservices 
>>> as
>>> we see in the Java world. IMHO, D community should come up 
>>> with a
>>> good microservices architecture. As you pointed out, it could 
>>> be
>>> based on vibed.
>>
>> Pity, microservices is a very fashionable thing just now, and 
>> Go is wiping
>> the floor with Node and Java. Well that bit is opinion but… 
>> many people are
>> getting into all this non-blocking, event-driven, shared 
>> memory stuff and
>> boiling their brains, whereas the Go folk are doing blocking 
>> stuff using
>> dataflow which is much easier to program.
>>
>
> Felt stupid for not being hip to this "microservices" thing you 
> say, so just looked it up. But it sounds to me like it's 
> basically just a buzz-driven rediscovery of the basic 
> principles of proper encapsulation and Unix philosophy ("do one 
> thing and do it well").
>
> (Kinda like how "cloud" sounds like a big fancy new revolution 
> until you realize it's just the hip new word for "internet" or 
> "hosted". Or "Facade design pattern" vs plain old "It's a thin 
> wrapper".)
>
> Does that sound about accurate, or am I missing something?

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.

another thing is whenever we do deployments we have to take down 
the whole application and go offline. i know there are other 
workarounds but when we only want to deploy mobile payments or 
the api, other functionalities should continue working and our 
customers should be able to pay.

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.

one other benefit of using this microservice is that you don't 
have to look for specific language programmers. you only need to 
hire good programmers as the only requirement  is to do one thing 
and and doing it well. the rest is about communication.


More information about the Digitalmars-d mailing list