對於長期在孤立的架構下工作的組織來說,轉移到協作式DevOps系統似乎是難以成功的。為了進一步提高效率,必須改變觀念,並進行團隊文化改變。例如:許多人認為只有自動化工具才能解決DevOps,其實這是不准確的。
只有當團隊團結一致並朝着一個共同的目標努力時,DevOps才會取得成功。
這是成功實現DevOps的前提:
DevOps實施需要時間
DevOps並不像開發和運維整合在一起那樣簡單。適應了孤立工作的團隊都發現很難適應協作工作。這是一次巨大的轉變,正確實施需要時間。
測試的質量成為貫穿交付管道的連續過程。這樣可以確保產品快速完成,並在到達交付時間點時就已經進行了足夠質量檢查和測試,以確保沒有錯誤。
分步實施
任何更改都需要時間。因此,更好地分階段實施DevOps。
- 步驟1:根據公司的要求,DevOps更改的第一步將是建立敏捷的開發過程。
- 步驟2:如果要為DevOps進行自動化,則組織需要適當的框架。
- 步驟3:實施持續集成的過程。編碼人員經常將其代碼推送到公共源代碼存儲倉庫中。編碼人員不是在周期結束時提交代碼,而是在軟件開發的每個節點都及時提交代碼,以便可以更早解決沖突。
- 步驟4:接下來是持續交付階段,這是集成階段的擴展。使用連續交付系統,確保最新代碼及時部署。
- 步驟5:然后將部署和測試階段設置為自動化。
- 步驟6:最后一步將是連續部署階段。此階段擴展了連續交付階段,在此階段,如果所有測試均通過,則軟件將自動部署。這樣做可以快速獲得反饋,並可以迅速進行處理。
領導的重要性
通過孤立的運營,所有領導角色的人物都被固定在了他們的核心領域。但是在DevOps中,leader們必須與其他流程團隊合作以確保操作順利進行。隨着團隊之間交互方式的可能變化,領導者必須對團隊成員的努力提供必需的支持。
在DevOps環境中,所有部門相互混合,以便每個人都知道在每個階段都會發生什么。這些過程是連續的。在這里,領導角色至關重要,以確保各個模塊之間的集成順利進行。DevOps的leader必須建立一個環境,使每個成員都能為項目的成功做出貢獻。
自動化和工具
盡管DevOps的成功很大程度上取決於團隊和流程,但不能否認工具在實現正確自動化方面的重要作用。從傳統的軟件工具轉移到DevOps工具是具有挑戰性的。但是,通過為合適的人員分配合適的工具,公司可以輕松地遵循連續的部署,集成,測試和交付過程。
DevOps成功的一些最佳工具是:
- 代碼存儲庫管理 –Subversion,Git,CloudForce,Docker Hub
- 服務器構建 –SonarQube,Jenkins,Artifactory
- 管理配置 – Ansible,Saltstack ,Puppet,Chef
- 連續測試自動化 –Selenium,RF,Jenkins,appium,UiAutomator,IBM Rational Functional Tester
- 虛擬基礎架構 – Microsoft Azure,Google Cloud,AWS Cloud,VMware vCloud
- 基礎架構雲端管理 –Docker,Azure Manager,Google Cloud Deployment Manager,AWS CloudFormation
即使市場上有數百種工具可用,公司也要決定合適的工具來集成和耦合,以實現連續的過程,確保了各階段之間的平穩運行。
團隊支持
短時間內的文化轉變似乎是不可能的。將開發,運營,測試和質量保證部門的人員,工具和流程整合到一個統一的流程中,這是一個很大的挑戰,必須耐心地解決。
DevOps的轉換過程必須以獲取長期利益的方式進行。從入門級到管理職位的團隊必須組成團隊,並且必須告知每個團隊所帶來的價值。成功的跨職能工作需要得到獎勵,領導者必須隨時提供幫助,以便順利過渡。
持續監控績效
領導者必須親身實踐,以確定限制產出的瓶頸。過渡和變化的系統將帶來一些挑戰。DevOps流程需要在開發,集成,測試,部署和工具操作中進行連續監控。確保建立適當的反饋系統,以便可以發現問題並使用所選工具糾正問題。
- 持續集成:通過在DevOps中進行持續集成,確保快速發布新開發的代碼。
- 連續交付:通過連續交付,您可以合並其他自動化和測試功能,以便准備部署最新代碼。
- 持續部署:在持續部署的最后階段,代碼將經過自動測試,然后在沒有任何人工干預的情況下投入生產。
結論
DevOps是一個巨大的轉變,不能一蹴而就。成功的DevOps環境需要逐步增加,團隊協作,強大的領導能力,正確的工具和自動化。
- 鄭重聲明:文章首發於公眾號“FunTester”,禁止第三方(騰訊雲除外)轉載、發表。
技術類文章精選
- java一行代碼打印心形
- Linux性能監控軟件netdata中文漢化版
- 性能測試框架第二版
- 如何在Linux命令行界面愉快進行性能測試
- 圖解HTTP腦圖
- 將swagger文檔自動變成測試代碼
- 基於java的直線型接口測試框架初探
- Selenium 4.0 Alpha更新日志
- Selenium 4.0 Alpha更新實踐
- 如何統一接口測試的功能、自動化和性能測試用例