This is a little opinion, but I think you have the right to do so. Of course, there are advantages to deploying a single package for all roles (atomic updates, version control, etc.). However, in more complex scenarios, I found that splitting into different deployment options and hosting services worked well. If you need geo-redundancy, you should still have different deployment options.
If you are careful about version control (assuming your deployments are communicating), you can easily have different deployment options and benefit from faster deployments. We found that our work roles have a much higher deployment rate than our web roles, so it makes sense to split web roles. With the new Windows Azure feature for websites, we are seriously looking to break them down even more and simply launch the web part of our application. Our API can go there or even deploy other dedicated instances.
The only thing we did not do was split between the subscriptions. I do not think there is a technical reason for this. There may be a business challenge to get around quotas, but the reality is that subscribing doesn't matter. This can be a real pain later, however, if you use the Mgmt API to use different subscription identifiers for different hosting services. I would also hesitate to mix and match repositories and hosted services from different signatures for management purposes. Probaby is a good idea to keep it all in the same unit.
source share