GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — fullstackpython.github.com/servers.html at reStructuredText · sergio6678/fullstackpython.github.com Expand file tree/ Copy pathservers.htmlMore file actions 211 lines (204 loc) · 12.2 KB / Copy pathservers.htmlFile metadata and controls211 lines (204 loc) · 12.2 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 <!DOCTYPE html> <html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content="Full Stack Python shows how an entire Python web application is built and deployed. Each section of the guide explains a different key concept, from the server through the Python WSGI web framework to the front end JavaScript."> <meta name="author" content="Matt Makai"> <link rel="shortcut icon" href="theme/img/full-stack-python-logo-bw.png"> <title>Full Stack Python</title> <!-- Bootstrap core CSS --> <link href="theme/css/fsp.css" rel="stylesheet"> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script> <![endif]--> <style> html, body { font-size: 18px; color: #222; background: #fefefe; } body { padding-top: 30px; } .footer { padding: 20px 0 30px 0; } a, a:hover {border-bottom: 1px dotted; color: #444;} a:hover {text-decoration: none; color: #000;} .logo-title {font-size: 56px; color: #403072; padding-top: 80px; font-family: "News Cycle", "Arial Narrow Bold", sans-serif; font-weight: bold; line-height: 30px; margin-left: 5px;} .logo-title a, .logo-title a:hover {color: #000; text-decoration: none; border-bottom: none;} .logo-title a:hover {color: gray;} .logo-image {vertical-align: top; border: none;} a.list-group-item.active {background: #444; border: 1px solid #222;} a.list-group-item.active:hover {background: #444; border: 1px solid #222;} #sidebar {margin-top: 30px;} @media (max-width: 600px) { .logo-header-section { margin: 20px 32px 0 0; } } </style> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-19910497-7']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> </head> <body> <a href="https://github.com/makaimc/fullstackpython.github.com" class="github"> <img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub" /> </a> <div class="container"> <div class="row"> <div class="col-md-12"> <div class="logo-header-section"> <a href="/" style="text-decoration: none; border: none;"><img src="theme/img/full-stack-python-logo-bw.png" height="42" width="42" class="logo-image" /></a> <span class="logo-title"><a href="/">Full Stack Python</a></span> </div> </div> </div> <div class="row"> <div class="col-md-8"> <h1>Servers</h1> <p>There are four options for setting up infrastructure to serve a web application:</p> <ol class="arabic simple"> <li>"Bare metal" servers</li> <li>Virtualized servers</li> <li>Infrastructure-as-a-service</li> <li><a class="reference external" href="../platform-as-a-service.html">Platform-as-a-service</a></li> </ol> <div class="section" id="bare-metal"> <h2>Bare metal</h2> <p>The term <em>bare metal</em> refers to purchasing the actual hardware and hooking it up to the Internet either through a business-class internet service provider (ISP) or <a class="reference external" href="http://webdesign.about.com/od/colocation/a/what_colocation.htm">co-locating the server</a> with other servers. A "business-class" ISP is necessary because most residential Internet service agreements explicitly prohibit running web servers on their networks. You may be able to get away with low traffic volume but if your site serves a lot of traffic it will alert an ISP's filters.</p> <p>The bare metal option offers the most control over the server configuration, usually has the highest performance for the price, but also is the most expensive upfront option and the highest ongoing maintenance. With bare metal servers the ongoing operating cost is the electricity the server(s) use as well as handling repairs when server components malfunction. You're taking on manual labor working with hardware as well as the rest of the software stack.</p> <p>Buy actual hardware from a vendor either pre-built or as a collection of components that you assemble yourself. Here is an <a class="reference external" href="http://duartes.org/gustavo/blog/post/building-a-quad-core-server">example of a server buildout</a>. The post is a couple of years old but those are the rough components you need to put together your own server. You can also buy pre-configured servers from Dell or HP. Those servers tend to be in smaller case form factors (called "blades") but are correspondingly more expensive than putting off-the-shelf components together yourself.</p> </div> <div class="section" id="virtualized-servers"> <h2>Virtualized servers</h2> <p>Virtual private servers (VPSs) are slices of hardware on top of a larger bare metal server. Virtualization software such as <a class="reference external" href="http://www.xen.org/">Xen</a> and <a class="reference external" href="http://www.vmware.com/virtualization/what-is-virtualization.html">VMWare</a> allow providers such as <a class="reference external" href="http://www.linode.com/">Linode</a> and <a class="reference external" href="http://prgmr.com/xen/">prgmr</a> (as well as a many others) to provide fractions of a full server that appear as their own instances. For example, a server with an 8-core Xeon processor and 16 gigabytes of memory can be sliced into 8 pieces with the equivalent of 1-core and 2 gigabytes of memory.</p> <p>The primary disadvantage of virtualized servers is that there is resource overhead in the virtualization process. In addition, physical constraints such as heavy I/O operations by a single virtualized instance on persistent storage can cause performance bottlenecks for other virtualized instances on the shared server. Choosing virtualized server hosting should be based on your needs for urgency of service ticket requests and the frequency you require for ongoing maintenance such as persistent storage backups.</p> <div class="section" id="virtualized-servers-resources"> <h3>Virtualized servers resources</h3> <p><a class="reference external" href="http://blog.redfern.me/choosing-a-low-cost-vps/">Choosing a low cost VPS</a></p> </div> </div> <div class="section" id="infrastructure-as-a-service"> <h2>Infrastructure-as-a-service</h2> <p>Infrastructure-as-a-service (IaaS) overlaps with virtualized servers because the resources are often presented in the same way. The difference between virtualized servers and IaaS is the granularity of the billing cycle. IaaS generally encourages a finer granularity based on minutes or hours of server usage instead of on monthly billing cycles.</p> <p>IaaS can be used in combination with virtualized servers to provide dynamic upscaling for heavy traffic. When traffic is low then virtualized servers can solely be used. This combination of resources reduces cost at the expense of greater complexity in the dynamically scaled infrastructure.</p> <p>The most common IaaS platforms are <a class="reference external" href="http://aws.amazon.com/">Amazon Web Services</a> and <a class="reference external" href="http://www.rackspace.com/cloud/">Rackspace Cloud</a>.</p> <p>The disadvantage to IaaS platforms is the lock-in if you have to write custom code to deploy, dynamically scale, and generally understand your infrastructure. Every platform has its quirks. For example, Amazon's standard <a class="reference external" href="http://aws.amazon.com/ebs/">Elastic Block Store</a> storage infrastructure has at least an order of magnitude worse I/O throughput than working with your local disk. Your application's database queries may work great locally but then when you deploy the performance is inadequate. Amazon has <a class="reference external" href="http://aws.amazon.com/about-aws/whats-new/2012/07/31/announcing-provisioned-iops-for-amazon-ebs/">higher throughput EBS instances</a> but you will pay correspondingly more for them. EBS throughput is just one of many quirks you need to understand before committing to an IaaS platform.</p> <div class="section" id="infrastructure-as-a-service-resources"> <h3>Infrastructure-as-a-service Resources</h3> <p><a class="reference external" href="http://libcloud.apache.org/">Apache Libcloud</a> is a Python library that provides a unified API for many cloud service providers</p> <p><a class="reference external" href="http://aws.amazon.com/python/">Amazon Web Services official documentation for Python</a></p> <p><a class="reference external" href="https://github.com/boto/boto">boto</a> is an amazing Python library for working with Amazon Web Services</p> <p><a class="reference external" href="http://docs.rackspace.com/sdks/guide/content/python.html">Rackspace official documentation for Python</a></p> </div> </div> <br/> Next read the <a href="/operating-systems.html">operating systems</a> section. </div> <div class="col-md-offset-1 col-md-3" id="sidebar"> <div class="list-group"> <a href="/introduction.html" class="list-group-item ">Introduction</a> <a href="/servers.html" class="list-group-item active">Servers</a> <a href="/operating-systems.html" class="list-group-item ">Operating Systems</a> <a href="/web-servers.html" class="list-group-item ">Web Servers</a> <a href="/platform-as-a-service.html" class="list-group-item ">Platform-as-a-service</a> <a href="/databases.html" class="list-group-item ">Databases</a> <a href="/wsgi-servers.html" class="list-group-item ">WSGI Servers</a> <a href="/web-frameworks.html" class="list-group-item ">Web Frameworks</a> <a href="/task-queues.html" class="list-group-item ">Task Queues</a> <a href="/static-content.html" class="list-group-item ">Static Content</a> <a href="/caching.html" class="list-group-item ">Caching</a> <a href="/web-browsers.html" class="list-group-item ">Web Browsers</a> <a href="/web-application-security.html" class="list-group-item ">Web Application Security</a> <a href="/monitoring.html" class="list-group-item ">Monitoring</a> <a href="/web-analytics.html" class="list-group-item ">Web Analytics</a> <a href="/api-integration.html" class="list-group-item ">API Integration</a> <a href="/source-control.html" class="list-group-item ">Source Control</a> <a href="/configuration-management.html" class="list-group-item ">Configuration Management</a> <a href="/dependency-management.html" class="list-group-item ">Application Dependencies</a> <a href="/no-sql-datastore.html" class="list-group-item ">NoSQL Data Stores</a> <a href="/about-author.html" class="list-group-item ">About</a> <a href="/change-log.html" class="list-group-item ">Change Log</a> </div> </div></div> <hr/> <div class="footer pull-right"> <a href="http://www.mattmakai.com/" class="underline">Matt Makai</a> 2014 </div> </div> <script src="http://code.jquery.com/jquery-2.1.0.min.js"></script> <script src="theme/js/bootstrap.min.js"></script> </body> </html> |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |