NetApp Tech OnTap NetApp Logo
NetApp Tech OnTap
     
DevOps 在 NetApp 的發展:「CodeEasy」是真正關鍵

採行 DevOps (development 與 operations 兩字合併而成),代表軟體開發方式的重大轉變。現今企業已經無法承受擴充瓶頸、資源配置延遲或缺乏適當測試和自動化工具所帶來的損失。NetApp 很早就加入 DevOps 的行列,打造出一個名為 CodeEasy 的內部環境,為擁有 2000 多人且散布各地的開發社群,自動執行開發與 QA 工作空間配置流程。

Tech OnTap 最近訪談 NetApp 建置發行工程經理 Kumaraswamy Namburu,討論 NetApp 為何積極擁抱 DevOps,以及企業採行 DevOps 後能獲得的好處。

TOT:NetApp 的工程與維運團隊為何決定推行 DevOps 文化?

Namburu:剛開始是為了節省時間。我們公司有 2000 位開發人員,幾年前,他們得耗費好幾個小時來建立沙箱以及進行建置和編譯。他們各自使用不同流程,可能拉長開發週期,徒增風險和不確定性。此外,我們也發現當時的開發方法不易擴充,所以我們必須有所改變。

TOT:DevOps 如何改變開發人員和維運人員的日常工作?你們又是如何推行 DevOps?

Namburu:他們可以專心做好自己的工作,不受干擾!開發人員受雇編寫程式碼,這是他們的專業所在。他們應該享有自助服務,不受後端複雜工作的干擾。開發人員看到 DevOps 的價值之後,很快就願意一起加入。現在 DevOps 的採行率已經達到 100%,但這並非一蹴而幾。

TOT:採行 DevOps 對你們的 IT 基礎架構做法有何影響?

Namburu我們需要換一種方式思考,採取不同的思維模式。我們會視情況使用公有雲,並利用 NetApp 私有儲存設備來維持對資料的主控權。為了保護智慧財產,我們也建立了 DevOps 私有雲環境。我們發現,與其遇上問題再耗費大量資源去解決,不如更有效率地管理我們的資料,簡單達成相同的目標。

TOT:你們使用什麼工具引進自動化功能,協助開發人員節省環境資源配置的時間?

Namburu:我們運用許多 NetApp 自己的技術,像是叢集式 Data ONTAP、檔案系統時間點 Snapshot 複本、FlexClone、接合路徑、不中斷營運和 SnapMirror。這些技術與版本管理系統 Perforce Helix 整合,此外,我們也用 NetApp 自行開發的軟體來自動執行生成新版本所需的整個工作流程。

例如,只要執行單一 CodeEasy 指令碼,開發人員就可以 Clone 任何環境,取得完整的開發或 QA 沙箱,而且不佔用任何儲存空間。然後他們可以將環境複寫到其他開發站台,以便不同時區的開發人員和 QA 團隊透過相同方式查看程式碼。

NetApp 軟體多年一直是開發人員倚重的工具,而在公司採行 DevOps 之際 NetApp 軟體更顯重要,因為它們能夠解決常見的困難點。尚未採用這些技術的公司只是徒然浪費儲存容量,做白工。

TOT:DevOps 工作流程的哪個階段可以看出採用 NetApp 技術的最大效益?

Namburu持續整合測試 (Continuous integration test,簡稱 CIT)。我們每隔 10 分鐘執行多個持續建置,每隔 3 小時執行多個 CIT,這些工作天天進行,為的是要測試應用程式功能的變更。如果某個變更中斷建置或測試,系統能自動找出造成中斷的變更,自動撤銷該項變更,並為開發人員提供自動重現問題的方法。我們針對這項流程使用精簡 Clone 和 Snapshot 複本,所以能縮短運算週期並節省儲存空間,我們的 DevOps 可因應長期需求進行擴充。

TOT:企業應該使用何種指標來衡量 DevOps 的成效和投資報酬?

Namburu這取決於各公司的困難點和想要達成的目標。以 NetApp 為例,我們最終目標是要顯著縮短上市時間並改善程式碼品質。如果繼續用舊方法做事,很難達成這樣重大的開發目標,至少不可能在同樣的時間之內完成。現在公司從系統到人力時間的所有資源,都能發揮最高效率。

TOT:對於剛開始採行 DevOps 的企業,您有何建議?

NAMBURU:先調整心態,再去考慮工具。你的困難點是在 SCM?建置?測試?效能?還是支援跨多個站台的開發人員?你的困難點相當大程度決定你要使用的工具,不過我們發現,幾乎所有工作流程都能受惠於 NetApp 儲存系統完善的 API 和資料管理服務。

Tech OnTap
立即訂閱
Tech OnTap 每月提供 IT 見解,並有大量可助您瞭解真實世界的最佳實務做法、工作祕訣與工具、幕後工程訪談、示範、同儕評論,及更多其他相關資訊。

請到 NetApp 社群中瀏覽 Tech OnTap,立即訂閱這份實用資訊。


關於 NetApp 工程開發工具

主要的 DevOps 應用軟體

  • Perforce Helix:版本管理和 SCM。
  • Jenkins:持續整合工具。
  • CodeEasy:內部開發流程自動化。

開發環境

  • 超過 2000 名開發人員。
  • 每位開發人員 150GB 的工作空間(含建置成品)。
  • 美國和印度共有四個一線站台。

儲存環境

  • 執行叢集式 Data ONTAP 8.3 的 NetApp FAS 系統。
  • 超過 4PB 的儲存容量用於 DevOps。

DevOps 案例研究

多年來,Despegar.com(拉丁美洲最大的線上旅遊網站)的開發人員可以存取的資源十分有限。在進入正式作業階段之前,他們仰賴維運人員配置開發基礎架構,之後則仰賴 QA 團隊測試應用程式。為了排除這些障礙,IT 組織採行 DevOps 方法,建置私有雲,讓開發人員可以自助存取基礎架構資源。

現在,透過結合使用 DevOps 方法以及基於 OpenStack 和 NetApp 技術建構的私有雲,該公司部署新應用程式及更新的次數可從一週 5 次提升到一週 1500 次以上。

請參閱 Despegar.com 案例研究(英文)。

  TRUSTe
與我們聯絡   |   如何購買   |   意見反應   |   工作機會  |   訂閱   |   隱私權政策   |   © 2016 NetApp