Most teams use the remote development technics to reduce the wasting of time when setup big projects’ complex environment. Normally, they use virtual disk mapping, such as samba server or sshfs. And then they map the remote disk to local directory. The final result is that everyone in the team will be happy to use their favorite tools to play with the project, and don’t need to worry about the product environment.
But these solutions all have a same disadvantage. They store the development files on the remote machine, which means if the network is bad or out of access, the development will be a painful tragedy.
Here I’d like to introduce my thought about the distribute virtual disk mapping development. In one word, we mapping in a reverse way. So if we simply virtual mapping out local disk to the remote machine this problem will be solved? Of course not. We still need network to connect to our development environment. So why not distribute the development machine as a virtual machine to every developer and lock the vm, only allow user mapping their own disk to his local vm. As the vm is solidified, so when can easily sync all virtual machines by script program, then use scm to manage these scripts.
We all know it’s better to store everything on the cheap, secure and safe cloud? But why GIT finally beat the SVN? Because we put to much trust on that the network is everywhere and fast enough. But on the contrary, the network is never good enough and if the cloud is down our only repo will disappear. So that’s why people want a copy to keep things more reliable.