Another option would be to run some of the stack locally and some in Azure. There are numerous reasons why people may think this is a good idea. However, the only two that resonate with me are performance or applications that for some reason won't run in Azure but could be cajoled to be running on a local Azure stack. Even with these two reasons, I would have to be convinced it to mix and match local and remote Azure environments. My general experience has not been good on this front. I really believe in all in or all out when possible.
I have talked about this before, but the truth is you shouldn't move your system to the cloud -- you should instead re-architect it for the cloud. Since Microsoft, Google, and Amazon are all very different in their PaaS offerings, to be successful you have to code specifically for any environment you are in. So even though the chances of moving a company from hosted Azure to local Azure are close to zero, it will make moving to the cloud an easier decision for those in charge. Being one of those people, I really enjoy one less tough decision to make in my day.
Sign up for CIO Asia eNewsletters.