1

这是我经常看到但从未真正想到的事情之一。你认为是出于 Web 应用程序开发的目的(特别是 ASP.NET WebForms/MVC)。你认为做这样的事情有好处吗?如果有,会产生什么样的好处?

通过虚拟化,我的意思是使用 Hyper-V 之类的产品来分离 SQL 和 Web 服务器等服务器上下文。

4

6 回答 6

2

我看到的一大优势是,每个开发人员都可以拥有自己的沙箱来工作。如果有人弄乱了他/她的沙箱,他/她可以拍一张干净的图像,一切都好起来了。所以我想这意味着有空间进行试验而不会浪费宝贵的时间回到正常设置,你可以简单地回滚。

我有点怀疑您是否应该在生产环境中使用虚拟化。当然取决于应用程序。

于 2009-01-11T19:06:32.813 回答
2

第一个问题是,什么是虚拟化?你是说服务器虚拟化吗?您的意思是在每个开发人员的具有多个操作系统的笔记本电脑上运行 VMWare 吗?你的意思是把所有东西都移到云端吗?

在 Web 应用程序上下文中,服务器的虚拟化与一般 IT 中的虚拟化并没有真正的不同——互联网上的大多数服务器,包括 StackOverload 的,都是为了处理峰值负载而购买的,并且大部分时间都在闲置周期,因此对它们进行虚拟化当您拥有超过一定数量时才有意义。

桌面上的 VMWare(或其他操作系统上的其他并行)非常棒,因为 a)您的开发人员可以运行服务器环境的完整实例,包括连接在虚拟网络中的多个虚拟服务器 - 这与真实情况差不多你可以得到,减去硬件成本,减去开发人员与彼此服务器的关系。对于客户端,您可以使用 Linux 和多个 Windows 安装来快速测试各种浏览器、字体大小等 - 这也是一个巨大的胜利。

在许多情况下,将所有内容迁移到云端是有意义的,但可能是一个单独的完整问题的主题:)

于 2009-01-11T19:12:02.210 回答
1

我唯一一次使用虚拟机进行 ASP.Net 开发是应用程序需要特定设置,例如依赖已安装的软件、奇怪的设置或特定共享。每个开发人员都有自己的网络服务器,并且可以运行自己的数据库,所以如果它是一个“基本的”网络应用程序,我认为虚拟应用程序没有多大价值.. 使用基本的网络应用程序部署很难打破任何东西 :)

于 2009-01-11T19:10:03.260 回答
1

在开发环境中,虚拟环境有助于将多个不同的服务器放在一个盒子上,您可以为您的 Web 应用程序创建一个实例,为您的服务创建一个实例,为您的服务创建一个实例,为数据库创建一个实例,等等。单独的服务器。

在生产中使用虚拟化的好处之一是您的应用程序不依赖于特定的机器。如果您想将您的 Web 服务器实例移动到另一个盒子,那么这样做是微不足道的。您不需要在新服务器上安装或配置任何东西,并希望一切都正确设置。

我在测试虚拟实例时遇到的一个问题是,它对于某些应用程序的运行速度可能会变慢,特别是那些喜欢以 100% 运行 CPU 的工程应用程序。所以在你跳跃之前进行测试。

于 2009-01-11T19:14:01.507 回答
1

使用虚拟服务器,您可以在类似生产的环境中测试您的代码。也可以快速恢复到原始设置。对于许多应用程序,它在您编写代码之后但投入生产之前的这段时间很有用。

于 2009-01-11T19:16:38.987 回答
1

我是 virtualizaion 的粉丝,并在测试和生产(VMWare 和 Hyper-v)中使用它,但在过去的一年里,我发现它在开发机器上不太重要。TFS 为我提供了我需要的所有备份/回滚功能,多个版本的 .net 现在可以存在于同一台机器上,并且 VS2008 可以针对所有这些版本。

于 2009-01-11T20:07:52.503 回答