虚拟实验室/testing台架构的最佳实践是什么?

目前,我正在为一个小型(最多5个)开发团队准备一个用于Windows Server + SQL Server + AD + Sharepoint + Exchange + IIS(ASP.NET)+ Biztalk +?开发和testing的小型虚拟环境。

不同的方法有什么优点和缺点,例如。 在不同的机器上拆分,或者把每台机器的所有东西打包好。

我的经验是什么是我应该遵循的架构和各种系统/服务器布局方面的最佳实践。 分享什么和每个人分裂什么。

我希望在开发和testing过程中获得一定的灵活性(所以团队成员不会彼此踩脚趾),并限制需要传播设置,整合工作项目和在事情中断时恢复更改所需的pipe理工作。

它不应该是一个日常开发工作环境,更不是一个二级开发人员testing环境,而是一个不具有正式变更过程的集成或QAtesting环境。

海事组织这两个边界的解决scheme是:

  1. 为每个开发团队成员创造一个包容各方的机器,让他们自由pipe理
  2. 创造一个由不知何故forms化的变更请求过程pipe理的共享环境

你会推荐什么金手段,为什么?

这真的取决于开发人员将如何使用它,以及他们多久可能会破坏事情。 如果每个开发人员每天都需要将自己的代码部署到testing环境中,并且可能会覆盖其他开发人员的testing设置,那么您可能会考虑为每个开发人员提供自己的testing环境。 如果一个开发人员代码的错误可能会影响所有其他开发人员在那里工作,是否可能locking整个服务器等,如果testing人员想要在他们的环境,如Exchange和AD设置的东西他们自己的自定义要求,然后他们可能再次需要自己的testing框。

也就是说,如果每个开发人员在IIS中运行自己的站点,运行在它自己的应用程序池中,并且只需要像Exchange和AD这样的资源的共享访问权限,那么可能是单个共享环境。 您可以将AD分成OU,这样用户帐户的创build和删除不会影响其他用户等。

  1. 对每个成员来说都是没有意义的,因为使用会有很大的差异。 注意并检查Visual Studio 2010(即将推出),它具有实验室pipe理模块和最佳实践。