title: How do you scale your applications and datastores horizontally using AppHarbor and DB add-ons
body: <p>If you're talking directly to AWS then you have a few options, but essentially you'd do the following to scale your apps:</p>
  
  <h2>Scaling App Servers on EC2</h2>
  
  <p>You'd use a combination of CloudWatch and the EC2 services to look at perf metrics, and based on that spin up and spin down EC2 app instances as you'd see fit.</p>
  
  <h2>Scaling SQL and NoSQL dbs</h2>
  
  <p>This is a bit different depending on the DB, but <a href="http://vimeo.com/52252773" rel="nofollow">AWS abstracts a lot from you</a>, so if you're using their services there are ways to scale horizontally programatically with DBs.</p>
  
  <h2>AppHarbor Questions</h2>
  
  <ul>
  <li><p>Appharbor introduces the notion of workers. Are workers like multiple instances, and do they get automatically load balanced?</p></li>
  <li><p>Can I add/remove workers programatically? If so, based on what metrics?</p></li>
  <li><p>If you're using an add-on, say MongoLab for simplicity sake, do you have to manage your sharding manually by have multiple MongoLab dbs, or do add-on providers provide that abstraction for you?</p></li>
  <li><p>Essentially, what is the Horizontal Scaling story for AppHarbor?</p></li>
  </ul>