<metaname="description" content="Full Stack Python explains each layer of the web application stack, from the server up through the rendering in a user's browser.">
<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 <ahref="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 <ahref="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>
<h3>Infrastructure-as-a-service resources</h3>
<ul>
<li>
<p><ahref="http://www.screamingatmyscreen.com/2012/12/the-cloud-vs-dedicated-servers/">The cloud versus dedicated servers</a></p>
</li>
<li>
<p><ahref="https://www.digitalocean.com/community/articles/5-common-server-setups-for-your-web-application">5 common server setups for your web application</a>
is a great introduction to how hosting can be arranged.</p>
</li>
<li>
<p><ahref="http://libcloud.apache.org/">Apache Libcloud</a> is a Python library that
provides a unified API for many cloud service providers.</p>
</li>
<li>
<p><ahref="http://aws.amazon.com/python/">Amazon Web Services has official documentation</a> for running Python web applications.</p>
</li>
<li>
<p><ahref="https://github.com/boto/boto">boto</a> is an extensive and well-tested
Python library for working with Amazon Web Services.</p>
</li>
<li>
<p>Rackspace also has <ahref="http://docs.rackspace.com/sdks/guide/content/python.html">official documentation for Python</a>.</p>
</li>
<li>
<p><ahref="http://feross.org/how-to-setup-your-linode/">How to set up your Linode for maximum awesomeness</a>
shows how to work with a VPS once you've got the server up and running.</p>
</li>
</ul>
<h2>Servers learning checklist</h2>
<p><iclass="fa fa-check-square-o"></i>
Sign up for a hosting provider. I recommend getting a
<h4>Interested in a complete Full Stack Python book with detailed tutorials and example code? Sign up here and you'll get an alert email if a book is created. No other emails will be sent other than sign up confirmation.</h4>
$("#mc-embedded-subscribe-form").unbind('submit');//remove the validator so we can get into beforeSubmit on the ajaxform, which then calls the validator