<div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="font-family:arial,sans-serif;font-size:13px">Decoupling is the key to manage large complex infrastructure setups.</span></blockquote>
<div><font face="arial, sans-serif">Thats pretty much it.</font></div><div><font face="arial, sans-serif">If anything, i'd add one tweak to the above - </font><span style="font-family:arial,sans-serif;font-size:13px">"Decoupling, combined with comprehensibility, is the key to manage large complex infrastructure setups."</span></div>
<div><br></div><div>I'll take comprehensibility over efficiency any day of the week, and twice on Sundays. </div><div>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.</div>
<div>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.</div>
<div><br></div><div>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.  </div>
<div>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...</div>
<div><br></div><div>Cheers</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jul 8, 2014 at 7:27 AM, Jesper Louis Andersen <span dir="ltr"><<a href="mailto:jesper.louis.andersen@gmail.com" target="_blank">jesper.louis.andersen@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class=""><br><div class="gmail_quote">On Mon, Jul 7, 2014 at 6:05 PM, Garrett Smith <span dir="ltr"><<a href="mailto:g@rre.tt" target="_blank">g@rre.tt</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div style="overflow:hidden">This IMO is a rebranding of the Service Oriented Architecture (SOA)<br>
moniker that was hijacked by software vendors and enterprise IT to use<br>
to sell non-SOA technology.</div></blockquote></div><br></div>Indeed. They took Jack Daniels and rebottled it on Ardbeg 18yo bottles. This is only going to work for so long.</div><div class="gmail_extra"><br></div><div class="gmail_extra">


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.</div>


<div class="gmail_extra"><br></div><div class="gmail_extra">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.</div>


<div class="gmail_extra"><br></div><div class="gmail_extra">Decoupling is the key to manage large complex infrastructure setups.<span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br>J.
</font></span></div></div>
<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div style="font-family:Helvetica;word-wrap:break-word"><div style="margin:0in 0in 0.0001pt"><font color="#1f497d" face="Calibri, sans-serif"><span style="font-size:15px"><b><div style="font-style:italic;margin:0px;font-family:Calibri">
<b style="color:rgb(17,85,204)"><a href="http://www.gravatar.com/avatar/204a87f81a0d9764c1f3364f53e8facf.png" style="color:rgb(17,85,204)" target="_blank">Mahesh Paolini-Subramanya</a></b></div><div style="margin:0px;font-family:Calibri">
<span style="font-weight:normal">That tall bald Indian guy..</span><br></div></b></span></font></div></div><div style="font-family:Helvetica;word-wrap:break-word"><div style="margin:0in 0in 0.0001pt"><font color="#1f497d" face="Calibri, sans-serif"><span style="font-size:15px"><b><div style="margin:0px;font-family:Calibri">
<div style="font-family:Helvetica;word-wrap:break-word"><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:'Times New Roman',serif"><span style="font-size:11pt;font-family:Calibri,sans-serif"><div style="margin:0px;font-family:Calibri;color:rgb(1,108,226)">
<a href="https://plus.google.com/u/0/108074935470209044442/posts" style="color:rgb(17,85,204)" target="_blank">Google+</a><span style="color:rgb(31,73,125)">  | <a href="http://dieswaytoofast.blogspot.com/" style="color:rgb(17,85,204)" target="_blank"><span style="color:rgb(1,108,226)">Blog</span></a></span> <span style="color:rgb(31,73,125)">  | <span style="color:rgb(1,108,226)"><a href="https://twitter.com/dieswaytoofast" style="color:rgb(17,85,204)" target="_blank">Twitter</a></span></span><span style="color:rgb(31,73,125)">  | </span><a href="http://www.linkedin.com/in/dieswaytoofast" style="color:rgb(17,85,204)" target="_blank">LinkedIn</a></div>
</span></div></div></div></b></span></font></div></div></div>
</div>