I am evaluating MS cloud Home windows Azure for hosting 3 completely separated websites.

Every website features its own database and they're not connected, so 3 websites and three databases.

My goal would be to optimize costs to begin with-up projecting using the possible ways to scale on demand.

I must know:

  • If can be done to host 3 websites on a single instance (Extra small instance or Small instance).
  • if can be done to host 3 databases on a single Sql Azure database (and so i would use the quantity of SQL storage for my 3 databases) or each website database I must pay a clear case of SQL Azure.

Interesting time about this.

You are able to absolutely run multiple internet sites on a single instance, beginning with SDK 1.3, as full IIS has become running in Web Roles. As Jonathan stated using the MSDN article link, you are able to setup the websites element to define each website. It's also wise to browse the Home windows Azure Platform Training Package, with a lab particularly around creating a multi-site web role.

You may also make the most of something similar to Cloud Ninja or Home windows Azure Accelerator for Web Roles, which supplies a multi-tenant solution that you could load to your Web Role (browse the Cloud Cover Show video here for more information).

When hosting multiple websites, keep in mind that they are all discussing exactly the same assets with an instance. So you may discover that an additional Small instance will not meet your speed and agility needs (it's restricted to 768MB RAM and approximately. 5Mbps bandwidth). I think you will be fine with Small instances and scaling out since you need to deal with increased traffic.

You are able to certainly run 3 websites within the same instance. Take a look at this MSDN article that demonstrates how to create your configuration file such that you could host multiple websites inside a single role. One factor to notice though because you pointed out "scaling when needed" - whenever you scale a case with multiple websites, you're scaling the instance, meaning all the sites will scale together. You cannot scale one of the websites around the shared instance.

For that databases, theoretically you can do this, but it might be "manual" for the reason that you would need to all your tables over the three databsaes within the same database and also you would most likely wish to prefix all of them with some kind of indicator to ensure that you realize which table goes that application. This is really not really a suggested practice, but when it really works for the solution, then there's nothing technical stopping you against doing the work. If whatsoever possible, I would suggest multiple databases.