为什么从程序员的角度来了解虚拟化有帮助?除了在几个不同的平台上进行测试和开发而不需要在操作系统之间切换之外,虚拟化对程序员来说很重要吗?在开发虚拟实例之前是否还必须牢记任何细节?
Dim*_* C. 13
我用它来测试我们的安装程序,因为检查应用程序是否可以在干净的操作系统安装上运行很重要.
我曾经做过这些测试,通过保持硬盘驱动器安装新的操作系统,并为(几乎)每次新的测试运行制作该磁盘的副本.这非常耗时,虚拟机解决方案为我节省了大量时间.请注意,这甚至允许您像使用两个非虚拟机一样轻松地进行远程调试.
注意:如果你有兴趣,我使用VirtualBox的,这是一个很好的和免费的虚拟化工具.
其中一个主要优点是将整个开发环境作为单个映像文件.我有一个完美配置的Windows Server,Visual Studio,ReSharper等版本.我可以轻松地在这个虚拟机的副本上尝试新版本的东西而不用担心它会导致问题.
我还可以备份整个开发环境,以便将其转移到另一台物理机器上.我单独在这个办公室里经历了3台机器,这本身就是救生员.
我看到的唯一真正的权衡是表现.您通常必须使用比实际拥有的更少的物理CPU核心和更少的内存.有了足够强大的机器,这不是一个问题.
编辑:正如nader所说,I/O对大多数项目来说显然也很重要.虽然与本机操作系统安装相比,在虚拟机上进行开发确实意味着相当大的I/O代价,但实际上我很少发现这是一个问题.SSD的卓越随机访问功能也有助于缓解这一缺陷.