

Web Hosting for App Developers - monkbent
http://www.marco.org/2014/03/27/web-hosting-for-app-developers

======
dmdeller
> AWS, Azure, Heroku, App Engine, Parse, and similar services aren’t free,
> easy, or automatic.

I don't know why he lumps in AWS with Heroku. At least when I read AWS, I
think of EC2, which is very similar to Linode or Digital Ocean (which he is
complimentary of). I suppose there's also Elastic Beanstalk, which is more
similar to Heroku, but I doubt that's what most people think of when they read
'AWS'.

> Ideally, your servers should be disposable and easily recreated. The only
> backups you should need are your source code (which should include any
> required server-setup scripts) and your database’s data.

Ugh, _please_ don't mix server-specific setup scripts in with your app source
code. Now when you want to switch from CentOS to Ubuntu, you're hosed. The
server environment should be able to host your app without any modifications
to the app itself, and the code that makes this environment ready to host an
app should be separate from the app code, so that you can drop it into a
different kind of environment at any time. This is one of the main ideas
behind [http://12factor.net](http://12factor.net).

~~~
statictype
He's not really saying it should be mixed with your app's source code (He's
talking more about mobile apps with a server backend rather than web apps).
More that it should be hosted in source control alongside your application
code.

Want to switch your server to a different platform? Add a new setup script for
that platform to your 'setup' folder in source control.

------
VengefulCynic
I know way too many developers whose understanding of server infrastructure
only extends as far as the API for S3. Marco's advice is dead-on: learn the
nuts and bolts rather than becoming reliant on a leaky abstraction. You can
always specialize to a specific cloud host after you understand the basics...
much harder to go the other way if you've made your app reliant on Amazon or
Rackspace-specific services.

