<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>