Using http://docs.orchardproject.net/Documentation/Deploying-Orchard-to-Windows-Azure I\'ve successfully deployed Orchard into Azure.
After every 20mins or so withou
You're right about the app pool recycle - the default idle timeout is 20 minutes. If you set this to 0 (infinite), you won't see the pause after 20 minutes of inactivity.
Steve Marx blogged about how to do this. It involves a startup task calling an elevated command script that sets app pool timeout:
%windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.processModel.idleTimeout:00:00:00
I'm afraid the extra small instance may not be a very good fit for Orchard, which can hardly be described as "extra small". The Orchard site for example runs on two normal web instances. It runs pretty fast, and as it's permanently hit by users, you very rarely see a cold start. If the problem is inactivity then your only possibility is indeed to artificially hit the site or to increase the app domain timeout. Still, even a cold start should not take more than a few seconds on a reasonably-sized server, so that it takes minutes should be enough of a sign to turn you away from extra small.