DevOps,近年來逐漸成為一個熱詞。DevOps代表Development(開發)和Operations(運維)的合義——也就是促進開發(應用程序、軟件工程等)、技術運營與質量保障部門之間的溝通、協作、整合的過程、系統和手段。
正如虛擬化改變了數據中心的運營一樣,云計算的興起也預示著IT應用運維將發生重大變革。目前,IT運維團隊還一直處于以服務器為中心來驅動的運維模式,而具體的應用則扮演著次要作用。另一方面,云計算則是以應用為中心的運維模式。
隨著應用變得更趨于分布式,虛擬化并逐步融入云端,應用開發者和IT架構師都面臨著如何開發、交付和管理應用程序等眾多挑戰。
以應用為導向的運維
運行在云環境下的應用程序也需要具有高可用性、高可靠性和高靈活性,以應對更多更復雜的工作負載和監測。過去由IT運維基礎架構提供的這些功能現在將成為應用程序本身的一部分,這些運維能力需要融入到開發環境中。而在這些以應用為中心的新環境,運維團隊將需要與開發者協同創建這些應用程序,也就是剛才我們所介紹的“DevOps”。DevOps團隊是“一群采用新的方式實現更快、更好、更具效益和樂趣來推進開發和系統管理的人群。”
ADCs和DevOps
軟件定義的應用交付控制器(Application Delivery Controllers, ADC)在應對訊息萬變的環境帶來的挑戰方面能發揮重要功能,尤其是在使用靈活開發手段的組織機構中,這種應用交付控制器更能發揮作用。它能提供積極正面的生產級別最佳實踐,在開發和測試流程中可大幅降低維護成本,在業務和關鍵領域部署應用其效果更為顯著。
想象一下在開發和測試環節中如果ADC可以將整個生產環境進行“復制”,其意義有多大?
DevOps逐漸顯現
在開發和測試環節通過在生產網絡中進行物理配置、功能測試和載入,DevOps可實時重復測試和故障檢測,因為應用程序可以持續貫穿整個構建和整合流程。
此外,開發者也將可以更好地認識到部署在不同環境中的應用程序所面臨的潛在瓶頸。開發者也可以更積極地以更加完整的視角來看待應用程序是如何在生存環境中發揮功能的。通過這些問題的處理,可以更好地節約時間和資源。
無縫ADC對于應用開發者的意義
ADC以類似Apache或者MySQL的方式,無縫整合到應用程序堆棧中,會給開發者帶來一整套強大的工具。傳統的ADC架構其部署并沒有帶來真正意義上的改變,組織機構需要一個類似應用程序本身那樣的動態ADC。
具體的,一個機構選擇什么樣的軟件ADC(不是虛擬的)至關重要,它應該提供靈活的開發手段、支持DevOps并且還能提供開發、測試和運維不斷優化以實現更好更快的真實應用結果。
一些軟件ADC編程語言可使得DevOps團隊構建出應用部署策略能完全符合應用程序本身的功能。借此,開發者可以快速、簡單地部署監測、優先級和路由、應交付等政策,從而幫助失學戰略性業務目標。此外,某些功能模塊還可以幫助開發者節約時間,并更專注于戰略挑戰而不是日復一日的維護活動。
結論
每個開發者應該都能訪問到應用程序開發工具,以更好地融入現代質量保障/測試平臺。這些工具可以用來測試實際部署環境中面臨的各種疑難問題。此外,每個開發者和測試團隊應該也有一個軟件ADC,擁有豐富且熟悉的腳本語言和可重復使用進行編程、撰寫代碼的ADC。