2009-01-11 94 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可以定位所有這些版本。