2009-01-11 105 views
1

这是我看到很多但从未真正想到的事情之一。你认为Web应用程序开发的目的(特别是ASP.NET WebForms/MVC)。你认为做这样的事情是有好处的,如果是的话,它会带来什么样的好处?使用虚拟化技术进行Web开发的优势

通过虚拟化我的意思是使用的产品,如Hyper-V的分离喜欢你的SQL和Web Server的服务器上下文等

回答

2

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

服务器的虚拟化,在web应用上下文中,与通常的IT并无太大区别 - 互联网上的大多数服务器(包括StackOverload的)都是为了处理峰值负载而购买的,并且大部分时间都花在闲置周期,所以当你有超过一定的数量时,虚拟化它们是有意义的。

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

一切移动到云中,使在许多情况下有道理的,但可能是一个separate full-sized question :)

+0

对不起,我不清楚,但我的意思是使用像Hyper-V的东西来实现SQL/Web服务器等。 – 2009-01-11 19:41:26

2

一分大优势我看到的是,每一个开发商可以有他/她自己的沙盒从事于。如果有人弄乱他/她的沙箱,他/她可以拍一张干净的图像,一切都可以。所以我想这意味着有足够的空间进行实验而不会损失宝贵的时间恢复到正常设置,您可以简单地进行回滚。

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

1

我唯一会使用虚拟的ASP.Net开发是,如果应用程序需要特定的设置,如依赖已安装的软件,奇怪的设置或特定的份额。每个开发者都有自己的网络服务器,可以运行他们自己的数据库,所以如果它是一个“基本”的网络应用程序,我并没有看到太多的虚拟价值..很难打破任何与基本的网络应用程序部署:)

1

在开发环境中的虚拟环境是把几个不同的服务器上的一个盒子中有用的话题,你可以有一个用于您的Web应用程序的实例,一个用于您的服务,另一个用于数据库等。如果您使用单独的服务器,则可以模仿您的生产环境。

在生产环境中使用虚拟化的好处之一是您的应用程序不受限于特定的机器。如果您想将您的Web服务器实例移动到另一个框中,则这样做很简单。您不需要在新服务器上安装或配置相关内容,并希望所有内容都能正确设置。

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

1

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

1

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