1
votes

Say you are a freelance Azure developer working under contract for several companies. What's the best way to set up the necessary Azure accounts and resources so that everything is neat and tidy? I see at least two options here:

  1. As a developer, you have your own Azure account under your name, and you place there all the resources (web sites, databases, storage containers, virtual machines, etc.) that the companies you work for will ever need.

  2. You ask each company you work for to create their own Azure accounts, and then make you a user with admin privileges under them.

I don't think option 1 makes much sense. It is good in that you keep everything under control, and it's easy to reuse or copy resources between companies or projects if needed. Problem is, things get soon messy and there is no way, as far as I know, to separate resources belonging to different projects and companies. Also, this options means that you are charged for everything, unless there is a way (which I'm not aware of) to redirect charges to your customers. In other words, this option only works if the person paying for the services, the person administering the services, and the person doing development are the same one. And this is rarely the case.

Option 2, in turn, is better because resources are cleanly separated, each under its own account; on the cons side, however, it's much harder to copy and reuse stuff between companies and projects. Also, you rely on your customers to create, set up and maintain their Azure accounts, and they may lack qualified staff to do it. In addition, who in the company is going to create and hold the Azure account? Since Azure accounts are linked to an individual (rather than to an organization), I've found that some organizations are reluctant to identify a single person who is going to act as the Azure account owner. Finally, this options if much cleaner from the billing perspective, although I don't understand how this would work if I am added as a user to multiple Azure subscriptions from a number of companies. Would I see all of them when I log in?

So my question is, which option is preferred, or is there an alternative option which I am missing? Are there documented best practices to organize your Azure accounts and resources for multi-company, multi-project situations? How would the developer "see" the Azure resources from the multiple customers when he/she logs into Azure? Thank you.

1

1 Answers

1
votes

I would always want second option for some reasons. 1)You don't need to pay for azure hosting,and don't need to worry about renewals etc.probably just reminding the company is your part. 2)secondly, not many companies would want there code or environment being shared under single subscription which also has other companies code and roles. this is general opinion for layman user as it can be thought of as security issue.