正如他們崗位職能說明的那樣,DevOps團隊的工作人員要比幾乎所有其他IT人員更了解云計算。DevOps團隊知道如何針對新部署的軟件進行應用配置,他們知道如何與舊系統通過接口進行交互。當然,這也使他們非常善于對傳統軟件實施云計算遷移。
DevOps團隊的人員都知道傳統文件系統、分布式文件系統以及對象存儲(例如亞馬遜簡單存儲服務)的來龍去脈。他們還知道如何處理大規模分析應用和非關系型數據庫。他們可以幫助用戶把現有應用邏輯遷移至可擴展并完全在云計算中運行的服務。
企業可以通過在云計算中的虛擬機上運行所有的應用來簡化應用從傳統硬件到云計算的遷移工作。但是,更好的辦法是真正地把所有邏輯業務完全通過網絡規模級技術來實現(通常每次一小部分)。DevOps團隊能夠幫助處理負載平衡、容錯、域名系統延遲以及狀態檢查等問題。
此外,DevOps團隊通常被要求提交分析報告。這是因為他們擁有所有的信息,他們能夠訪問所有的底層基礎數據,其中包括流量數據和日志分析記錄。這種類型的數據在評價應用運行性能和尋找瓶頸所在時時非常有用的。DevOps人員能夠幫助針對每一次部署發布進行部署管理和bug追蹤。此外,他們還能夠有助于確定每個發布的速度變化和性能差異。
DevOps團隊的強大工具
即便是具有最高度功能化的DevOps團隊也是需要第三方工具來管理諸如云計算這類的分布式環境。對于這樣的環境來說,某些工具是特別有用的。
諸如FlowDock或HipChat這樣的實用工具能夠幫助開發團隊的成員互相以及與DevOps人員保持聯系。諸如Asana或Basecamp這類服務能夠有助于跟蹤開發任務以及在應用發布中的注意事項。
諸如Freshdesk、Zendesk或Get Satisfaction這樣以客戶為中心的支持門戶網站可讓用戶直接與管理層或開發團隊進行需求溝通。這將有助于觸發新的或改進的功能,并確保客戶的需求能夠得到滿足。一個DevOps團隊能夠幫助建立這些服務,并讓團隊成員了解相關技術。
能夠做到這一點的人
如果您希望確保有人能夠編寫出能夠經受測試的高質量代碼,那么你可能需要在代碼發生問題時就讓程序員從床上爬起來解bug。而一個DevOps團隊并不希望在半夜三更被一個電話叫醒,所以他們希望確保擁有所有的工具,從而確保有盡可能多的任務能夠實現自動化實施。
如果有一臺服務器死機,就應立即更換并,如有可能還需保留所有相關的日志以供日后分析。此時,試圖修復服務器將是不明智的;當自修復系統檢測到問題時,企業用戶可以非常容易地使用一個自動觸發的簡單API調用來替換它們。而異常檢測可向用戶提前提出系統中存在的潛在風險因素或泄漏警告。
DevOps團隊的成員需要成為云計算和云計算服務配置的權威專家。他們需要了解非關系型數據庫的優勢,如有需要還應知道如何高效地擴展關系型數據庫。他們應能夠向開發人員展示他們應用的有問題部分,并確定應在哪一種類型硬件上運行應用的每一個部分,從而幫助開發人員實現成功。他們可通過架構圖來幫助確保用戶系統實現黃金分割——一方面可確保用戶應用的容錯性能,另一方面也不會讓應用運行變得緩慢。他們將能夠識別算法,區分能夠實現擴展和不能擴展的算法,從而確定資源容量擴展是否適當。