Virtual Machine 中進行開發專案優點 => VM & Docker
[Virtual Machine 中進行開發專案優點] 在OS 更新頻煩的 現時環境 避面受非技術因素干擾需要穩定的作業環境! 開發者有很多方式去建構自己的開發環境,以 PHP 開發來說,你可以手動ㄧ一安裝每個需要的軟體,像是PHP, Apache, MySQL, phpMyAdmin, 或是你可以選擇別人打包好的軟體包,像是 XAMPP , MAMP , WAMP ,或是透過像Homebrew、APT/YUM 這種套件管理程式來協助你安裝軟體。 然而隨著 Web Application 的架構日益複雜,新的技術和 framework 也不斷產生,像是 NodeJS、MongoDB、 AngularJS、Memcached 等等,若是以專案為導向的公司,可能還需要因應不同的專案來配置不同的軟體架構。然而不同的軟體彼此之間可能會有衝突,像是如果A專案使用 PHP 5.3, 但是B專案使用 PHP 5.5, 你該怎麼辦? 若是你更新了你的電腦作業系統,或是電腦整個掛點了,你該怎麼辦?有新的成員加入團隊,要重頭開始協助他安裝開發所需要的環境? 另外,除了開發者本身的開發環境外,大型的軟體公司通常還會有 Staging Server 和 Production Server,另外針對軟體測試通常還會有另外的測試環境。我想大家常常聽到的一句話就是 "這在我電腦上可以跑啊!",環境的不同常常導致這樣的問題產生,因此如何確保這些環境都能一樣,減少不確定的變因,是開發過程中一個相當重要的議題。 因此,我們可以發現以下的問題,在我們的開發生涯當中,多少都會遇過: 1. 設定過程繁雜且很難重複:安裝開發環境相當花時間,當電腦壞掉或是有新進成員,安裝環境常常讓人一個頭兩個大。 2. 環境無法獨立:不同的專案需要不同的開發環境,軟體版本可能互相影響。 3. 開發環境和 production 環境不同:要開發者的使用和 production 一樣的作業系統,基本上是不太可能的。 Virtualization(虛擬化) to the rescue 虛擬化其實不是一個很新的概念,不過通常用在實際的Production環境上,但隨著上述的問題不斷產生,已經有越來越多的開發者將虛擬化的概念帶到自身的開發環境中,甚至有許多的開放原始碼軟體,
留言
張貼留言