Amazon ec2 set up best practices for Rails app with mysql or postgres
<p>I have to setup ec2 for a medium rails app running on apache2, mysql, capistrano and a few background services. I would like to know what is the best practices that every developer usually does to set up his rails app. I would like to know what kind of setup that is easy to scale and can mimimic at least</p>

<ul>
<li>auto deployment</li>
<li>security</li>
<li>regular data backup and an easy and quick way to restore the data</li>
<li>server recovery</li>
<li>fault tolerance</li>
</ul>

<p>I am also interested in how to monitor the server status and performance and other kind of best practice would be also helpful. </p>

<p>ps: take into account also that my app database will grow a fast.</p>