I am a freelancer and plan to work with other freelancers in the coming time. Since I would be owning the project(s), I want to own the development environment as well. We all will be working out of our respective locations. I have been contemplating using Amazon's EC2 service for the purpose of erecting a development environment and giving desired access to the others involved.
With the above in mind, I have several queries:
- Is this a good idea in the first place? Is it better to have VMs created and distributed (physically) to the members of the team? Of course I lose control in this case and data is vulnerable.
- Should I just buy a Large instance, install all desired tools, create users and provide them access as per role?
- Should I just buy a Large / Extra Large instance, build VMs inside the instance, one each for every role and instantiate instances per user? I am not sure right now how the access would work out. How one would be able to directly access a VM instance running inside the EC2 instance.
- There are tools that help in managing the EC2 instances w.r.t. the EC2 APIs. However, w.r.t. what I have explained above (specially point # 3), are there tools that can help in the management / monitoring of instances and VMs within?
There may be many more complexities that I cannot think of at this point. Will appreciate inputs / directions in case someone has been through this already.