[erlang-questions] Microservices vs. Erlang processes

Mahesh Paolini-Subramanya mahesh@REDACTED
Tue Jul 8 13:52:59 CEST 2014


>
> Decoupling is the key to manage large complex infrastructure setups.

Thats pretty much it.
If anything, i'd add one tweak to the above - "Decoupling, combined with
comprehensibility, is the key to manage large complex infrastructure
setups."

I'll take comprehensibility over efficiency any day of the week, and twice
on Sundays.
Combining comprehensibility with decoupling gives me the ability to not
just deal with problem spaces individually, but to *understand* the impact
of changes to these problem-spaces in isolation.
Loosely speaking, this allows me to look at the overarching system in two
orthogonal realms - the individual (decoupled) sub-systems, and the
*interconnections* between these sub-systems.  And yes, the
'comprehensibility' argument extends to both the sub-systems *and* the
interconnections.

Micro-services are all well and good, but taken to the extreme (which I
pretty much guarantee you *is* going to happen) will end up as yet another
rolling disaster.  Divide And Conquer may have been great for the British
Empire, but when combined with the natural human tendency to Chop Even
Finer ends up throwing comprehensibility out the window.
This will, au nécessaire, result in millions of wee-tiny-services, each
more twisty than the other, quite a few of which replicate functionality
from elsewhere, all of which ends up creating more work for consultants.
 Which may very well be the end-game, now that I think of it...

Cheers


On Tue, Jul 8, 2014 at 7:27 AM, Jesper Louis Andersen <
jesper.louis.andersen@REDACTED> wrote:

>
> On Mon, Jul 7, 2014 at 6:05 PM, Garrett Smith <g@REDACTED> wrote:
>
>> This IMO is a rebranding of the Service Oriented Architecture (SOA)
>> moniker that was hijacked by software vendors and enterprise IT to use
>> to sell non-SOA technology.
>>
>
> Indeed. They took Jack Daniels and rebottled it on Ardbeg 18yo bottles.
> This is only going to work for so long.
>
> The whole *crux* of SOA/MS is component isolation. To manage large complex
> systems, you need to split them into distributed entities and make
> communication between services asynchronous+resilient. This is exactly the
> design where a system like Erlang excels.
>
> The client I am working for uses Erlang as an orchestration service in
> front of a large RabbitMQ cluster. Most microservices are written in
> Node.js, python, ocaml, whatnot. And Erlang mediates between the services.
> It is nice because a lot of the concurrency problems can be lifted into the
> Erlang-world and handled there. While still keeping a boring sequential
> program written in Python to do other things on the side. RabbitMQ allows
> horizontal scaling and a common interface for messaging with a well-defined
> protocol/driver interface.
>
> Decoupling is the key to manage large complex infrastructure setups.
>
>
> --
> J.
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
>


-- 

*Mahesh Paolini-Subramanya
<http://www.gravatar.com/avatar/204a87f81a0d9764c1f3364f53e8facf.png>That
tall bald Indian guy..*
*Google+ <https://plus.google.com/u/0/108074935470209044442/posts>  | Blog
<http://dieswaytoofast.blogspot.com/>   | Twitter
<https://twitter.com/dieswaytoofast>  | LinkedIn
<http://www.linkedin.com/in/dieswaytoofast>*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20140708/375bacd9/attachment.htm>


More information about the erlang-questions mailing list