Sunday, July 18, 2010

vmware player - distributed teams: Interesting challenge & current thoughts

We have a person developing software in India for the client in the US. Indian team is developing in Windows (WAMP stack) while the US team is using it on Linux (LAMP stack). It could be trivial to have the Indian team to ensure no Windows specifics are used to develop the software. This is easy said than done if the Indian developer is short of resources (network) and having less professional experience (Kid out of school - or smart high school student).

Few alternate possible solutions and their challenges.
  • Solution 1: Use vmware player on the US & Indian side so that both have good chance of seeing identical information.
  • challenge1 for Solution 1: The Indian team still need to download (read as bandwidth i$$ue) vmware player & the virtual appliance.
  • challenge2 for Solution 1: If the correct virtual appliance is not readily available, the system need to be created in one place (US?) and the virtual disk shipped to other location (storage + bandwidth restriction) - use free file transfer sites like YouSendIt. You might be limited to 100MB limit.
  • Solution 2: Use WebEx for sharing other sites' screen and discuss.
  • challenge 1 for Solution 2: WebEx probably don't come for free.
  • challenge 2 for Solution 2: This assumes both parties getting oneline at the same time. Offline, independent verification is difficult with this method.
  • Solution 3: Have each team take screen shots or record the screen as a proof of what they see.
  • challenge 1 for Solution 3: This approach is good after the product stabilizes and there are few bugs that need fixing. Time consuming and limited use in the early stages.
Once we agree that vmware player will be used we still would have the challenge of syncing up the systems on 2 continents.
  • Solution 4: Save the virtual disk and keep exchanging it between teams.
  • challenge 1 for Solution 4: The virtual Disk can be super big for transfer and viewing incremental.
  • Solution 5: Send only vmware disk incremental between teams.
  • Challenge 1 for solution 5: Does vmware really provide this facility? Can this be plugged in?
  • Solution 6: Install the OS on web drive (like free GMail drive) and have the 2 teams use the common data.
  • Challenge 1 for solution 6: Still bandwidth can be a problem.
  • Challenge 2 for solution 6: File name length, file type and file size can still be limited
  • Challenge 3 for solution 6: When large files change, there can be a penalty on change update in terms of bandwidth.
  • Solution 7: Install software and the engine (vmware player + linux) on local machine. Store the moving parts on remote storage like GMail drive.
  • Challenge 1 for solution 7: high initial cost (time, effort & skill needed) to make this happen
  • Challenge 2 for solution 7: Challenge 2 & 3 for solution 6 is applicable for this solution too
  • We need encryption along with key sharing between remote teams for external storage.
  • Solution for large file size in terms of MySQL - use text based database. This is ugly and probably wouldn't work when single table is larger.
  • We need a true block level external storage device for managing larger file sizes.

Blog Archive