<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<br>
</div>
<div id="appendonsend"></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size: 11pt;" face="Calibri, sans-serif" color="#000000"><b>From:</b> Ale <ale-bounces@ale.org> on behalf of Allen Beddingfield via Ale <ale@ale.org><br>
</font><i><br>
</i></div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="PlainText"><i>Relying on automation and abstraction IS the problem.<br>
People know how to create a configuration in Ansible or Salt to install a service and make changes to a system, but they have no clue what that is actually doing.
<br>
</i></div>
<div class="PlainText"><i><br>
</i></div>
<div class="PlainText">That's an argument that is as old, or older, than technology.  I agree with you.   At some point, the system will be good enough and free of problems enough where Ansible becomes the base.  In the 90s I configured X11 with vim and emails
 to ALE.  Today, whatever distribution I run does it for me. <br>
</div>
<div class="PlainText"><br>
</div>
<div class="PlainText">There is a place for automation.  It allows us to ask a question, on a grand scale, and get a result quickly back.  "Are all the systems up?"  I say something like this about that "I want to walk past my office, peek inside at my monitor,
 see on one page that all is green, and keep walking".  <br>
</div>
<div class="PlainText"><br>
</div>
<div class="PlainText">I automate as much as possible anyway because I want to spend the time in the beginning addressing problems. 
<br>
</div>
<div class="PlainText"><br>
</div>
<div class="PlainText">Abstractions become a problem when they become too big to learn how they do what they do.  Years ago I wanted to learn Astrix.  FreePBX's dial plans were complex to the point one would think they were purposely obfuscated.  I went back
 to a simple Linux distrro, Asterisx from sources, O'Reilly book, and vim as my config tool. 
<br>
</div>
<div class="PlainText"><br>
</div>
<div class="PlainText">Abstractions become a problem when the user does not know how to abstraction interfaces with the system.  I have programmers that know Java and can code Java for Tomcat.  They can't provide much assistance when I run into problems configuring
 or solving configuration problems with Tomcat.  I often have to provide custom paths of upload, scripts, etc because they are used to Maven which allows them to do one thing.  Write Java code, click button for upload.   These abstractions typically require
 the host to be very specific.</div>
<div class="PlainText"><br>
</div>
<div class="PlainText">It's a balancing act.  Without abstractions you have more work.  On a grand scale, this more work can be too much work.  With an abstraction you have less work, but you are in tyrannical situation where the abstraction enforces your hosts
 to conform in some way to what it wishes to work with. <br>
</div>
<div class="PlainText"><br>
</div>
<div class="PlainText">Automation works best with fewer variables.  An environment with all the same hardware, same OS, same versions, etc would work well with Ansible.  It would work well with the least experienced admin because any weird b behavior is most
 likely hardware failure.  Abstractions work well in a world of rules.  Honestly, I prefer the world where I write most of the rules. 
<br>
</div>
</span></font></div>
</body>
</html>