diff options
Diffstat (limited to '.html/12factor/7-port-binding.html')
| -rw-r--r-- | .html/12factor/7-port-binding.html | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/.html/12factor/7-port-binding.html b/.html/12factor/7-port-binding.html new file mode 100644 index 0000000..738e1b0 --- /dev/null +++ b/.html/12factor/7-port-binding.html @@ -0,0 +1,124 @@ +<!DOCTYPE html> +<html> +<head> + <title> + The Codex » + Factor 7: Port Binding + </title> + + <link + rel='stylesheet' + type='text/css' + href='http://fonts.googleapis.com/css?family=Buenard:400,700&subset=latin,latin-ext'> + <link + rel="stylesheet" + type="text/css" + href="../media/css/reset.css"> + <link + rel="stylesheet" + type="text/css" + href="../media/css/grimoire.css"> +</head> +<body> + +<div id="shell"> + + <ol id="breadcrumbs"> + + <li class="crumb-0 not-last"> + + <a href="../">index</a> + + </li> + + <li class="crumb-1 not-last"> + + <a href="./">12factor</a> + + </li> + + <li class="crumb-2 last"> + + 7-port-binding + + </li> + + </ol> + + + + <div id="article"> + <h1 id="factor-7-port-binding">Factor 7: Port Binding</h1> +<p><a href="http://www.12factor.net/port-binding">This</a> is the exact point where the +Heroku-specific features of the approach overwhelm the general features.</p> +<p>Factor 7 is over-specific:</p> +<ul> +<li> +<p>It presupposes the existence of a front-end routing layer, without providing + any insight into how to deploy, configure, provision, or manage one.</p> +</li> +<li> +<p>It demands HTTP (by name) rather than a more flexible “any well-standardized + protocol,” without explaining why. (Web apps can have non-HTTP internal + components.)</p> +</li> +<li> +<p>It dismisses the value of “pre-existing” container ecosystems that don't + work the way Heroku does. Have a giant, well-managed + <a href="http://glassfish.org">Glassfish</a> cluster that you deploy components to? TOO + BAD, not Heroku-like enough for these guys even though many aspects run + along similar philosophical lines.</p> +</li> +<li> +<p>It dismisses the value of unix-as-a-container. Unix domain sockets with + controlled permissions? Psh, let's go through the network stack instead. + SysV IPC? (Yeah, I know.) Network. Pipes? Network. There's an implicit + exception for “intra-process” communication, but it's never really + identified or reasoned about.</p> +</li> +<li> +<p>Have you <em>seen</em> the kinds of process control interfaces developers invent, + when left to their own devices? Signals and PID files are well-established + conventions, and smart, competent people still fuck those up all the time. + Command-line arguments are another frequent case of NIH stupidity. Do you + really want every app to have its own startup API?</p> +</li> +</ul> + </div> + + + +<div id="comments"> +<div id="disqus_thread"></div> +<script type="text/javascript"> + /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */ + var disqus_shortname = 'grimoire'; // required: replace example with your forum shortname + + /* * * DON'T EDIT BELOW THIS LINE * * */ + (function() { + var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; + dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; + (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); + })(); +</script> +<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> +<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a> +</div> + + + + <div id="footer"> + <p> + + The Codex — + + Powered by <a href="http://markdoc.org/">Markdoc</a>. + +<a href="https://bitbucket.org/ojacobson/grimoire.ca/src/master/wiki/12factor/7-port-binding.md">See this page on Bitbucket</a> (<a href="https://bitbucket.org/ojacobson/grimoire.ca/history-node/master/wiki/12factor/7-port-binding.md">history</a>). + + </p> + </div> + +</div> +</body> +</html>
\ No newline at end of file |
