Azure Application Drive size limit and Running Multiple WebSites in the cloud

First thing i tried was i deployed multiple websites (with minimum templates and config) in one packages.  And then from the background task i was downloading all the dynamic templates (*.aspx, *.ascx)  from the corresponding blob and copying to site root.  I got an exception because it exceed the size limit of 1GB.  In my project every site consumed 300MB worth of dynamic templates including some static files.  I had 10+ sites and hence i need atleast 3GB application drive size but by default Azure will provide only 1GB of application drive either E or F.  Unfortunately this cannot be changed.  Then I tried this work arounds proposed by microsoft support person.  it seems to be working for me but yet to run the performance test…

  1. Create the empty or minimum files with package for all the sites so that your package is deployed
  2. Move the rest of the dynamic template or static files to blob storage.
  3. Run the background task (you must configure this in your package)
    1. Use Local Storage in your code and download all the data in specific folders at local storage
    2. Windows Server 2008 supports Symbolic links and this way even when your files are stored in Local Storage, still they appear to be inside the Application drive.
    3. After you download the blob from Azure Storage please create symbolic link from your application folder to local storage.
    4. Use mklink command to create the symbolic link to the folder (ex.,)

i.            Mklink /D <targetdrive> <source drive>

ii.            Ex., MKLINK /d E:\Sitesroot\help  C:\Resource\help

iii.            MKLINK /d E:\Sitesroot\1\help  C:\Resource\help

iv.            MKLINK /d E:\Sitesroot\2\help  C:\Resource\help

You can find related documents from the following url:

http://msdn.microsoft.com/en-us/library/gg433110.aspx

http://en.wikipedia.org/wiki/NTFS_symbolic_link