天天看點

綜述 DevOps

​<code>​devops​</code>​ 常見于各大雲計算提供商。​<code>​devope​</code>​被用于打破開發者和運維者之間的壁壘,目的是縮短軟體開發周期并提供高品質的持續內建。

devops

devops is a set of practices that combines software development (dev) and information-technology operations (ops) which aims to shorten the systems development life cycle and provide continuous delivery with high software quality. (wikipedia)

這樣的說法很抽象,來看看各個服務商都是怎麼描述自家的 devops 的吧。

coding devops 包括代碼托管、項目管理、測試管理、持續內建、制品庫等多款産品和服務,涵蓋軟體開發從構想到傳遞的一切所需,使研發團隊在雲端高效協同,實踐靈活開發與 devops,提升軟體傳遞品質與速度。 (tencent cloud)

devcloud是集華為研發實踐、前沿研發理念、先進研發工具為一體的研發雲平台; 面向開發者提供研發工具服務,讓軟體開發簡單高效。(huawei cloud)

利用 devops 縮短版本釋出間隔時間,提高可靠性,在競争中保持領先地位; devops 是一種日益常見的軟體傳遞方法,開發和營運團隊以速度、品質和控制協作建構、測試、部署和監控應用程式。 devops 與任何類型的軟體項目都相關,無論架構、平台或用途如何。常見用例包括:雲原生和移動應用、應用內建以及現代化和多雲管理。 成功的 devops 實施通常依賴于一組內建的解決方案或“工具鍊”,用于消除手動步驟,減少錯誤,并超越小型孤立團隊實作擴充。 (ibm devops)

無論是才剛開始執行 devops 實作,還是期望與現有工具鍊和流程內建,都可以采用 azure devops 技術更加快速、安全地建構端到端的持續傳遞管道。減少工具集維護耗費的時間,更加專注于客戶價值。通過 devops 技術生成、釋出、測試并監視雲和移動應用程式非常簡單可靠,可讓使用者使用任意工具鍊持續實作創新。(azure devops)

devops 是一項組織和文化運動,旨在加快軟體傳遞速度,提高服務可靠性,并在軟體利益相關方之間建立共享所有權。了解如何提高軟體傳遞的速度、穩定性、可用性和安全性。(google cloud)

aws 可以提供一套靈活的服務,讓各家公司利用 aws 和 devops 實踐經驗來更加快速、可靠地建構和傳遞産品。這些服務可以簡化基礎設施的預置和管理、應用程式代碼的部署、軟體釋出流程的自動化以及應用程式和基礎設施性能的監控。devops 集文化理念、實踐和工具于一身,可以提高組織高速傳遞應用程式和服務的能力,與使用傳統軟體開發和基礎設施管理流程相比,能夠幫助組織更快地發展和改進産品。這種速度使組織能夠更好地服務其客戶,并在市場上更高效地參與競争。(aws devops)

從上面多家雲服務商的描述大概可以窺探 devops 一二了吧。目前來說,devops更多的還停留在理念層面,它使用容器、kubernetes 和微服務等服務,多提供代碼托管、工作流、軟體測試、持續傳遞等功能。越是大型的企業,提供的服務更全面、進階、層次更高。反觀國内的提供商還是有一些差距的。

根據文章 ​​《devops漫談之一:devops、ci、cd都是什麼鬼?》​​的說法,devops是 ​<code>​development​</code>​ 和 ​<code>​operations​</code>​ 的組合,是一種方法論,是一組過程、方法與系統的統稱,用于促進應用開發、應用運維和品質保障(qa)部門之間的溝通、協作與整合。以期打破傳統開發和營運之間的壁壘和鴻溝。

綜述 DevOps

根據另一篇文章《devops簡介》的說法:

devops的一個巨大好處就是可以高效傳遞,這也正好是它的初衷。puppet和devops research and assessment (dora) 主辦了2016年devops調查報告,根據全球4600位各it公司的技術工作者的送出資料統計,得出高效公司平均每年可以完成1460次部署。

與低效組織相比,高效組織的部署頻繁200倍,産品投入使用速度快2555倍,服務恢複速度快24倍。在工作内容的時間配置設定上,低效者要多花22%的時間用在為規劃好或者重複工作上,而高效者卻可以多花29%的時間用在新的工作上。是以這裡的高效不僅僅指公司産出的效率提高,還指員工的工作品質得到提升。

devops另外一個好處就是會改善公司組織文化、提高員工的參與感。員工們變得更高效,也更有滿足和成就感;調查顯示高效員工的雇員淨推薦值(enps:employee net promoter score)更高,即對公司更加認同。

綜上,devops 緻力于促進開發人員和運維人員的溝通,及時遞交需求、完成軟體測試、回報問題、自動化傳遞。可以免去很多機械化的操作。這麼說,作者認為這和 ​<code>​工作流​</code>​ 的理念也有一些像。

工作流(work flow)就是工作流程的計算模型,即将工作流程中的工作如何前後組織在一起的邏輯和規則在計算機中以恰當的模型進行表示并對其實施計算。工作流要解決的主要問題是:為實作某個業務目标,在多個參與者之間,利用計算機,按某種預定規則自動傳遞文檔、資訊或者任務。簡單地說,工作流就是一系列互相銜接、自動進行的業務活動或任務。我們可以将整個業務過程看作是一條河,其中流過的就是工作流。(mba 智庫)

将一切可流程化的工作流程化,搭建一個高靈活性的工作流平台,将這一平台應用于各個領域,這已成為大勢所趨。微軟的 ​​folw​​,跨平台的 ​​ifttt​​,蘋果的 ​<code>​捷徑​</code>​,開源的 ​​n8n​​ 等等工具都在緻力于将機械化的工作流水線化,進而提高工作效率。​<code>​gis​</code>​ 專業的部落客最近也在想,能不能将地信的種種應用做成模版,進而将分析過程簡化,降低 ​<code>​gis​</code>​ 的使用門檻,讓更多的人可以使用到。

使用廣泛的 git hosting 平台 gitlab 也因其強大的 ci/cd 功能而聞名,實際上在使用 gitlab 時是需要綁定 google cloud platform(gcp) 的 google kubernetes engine 服務進行使用的。其實還有開源可用的 jenkins 可以作為 ci/cd 的有力工具。

工具衆多,開源可用,工作流和持續內建有着衆多類似之處,但究竟會怎樣還是要實踐後才知道。

​​wikipedia/devops​​

​​coding devops​​

​​devcloud​​

​​ibm devops​​

​​azure devops​​

​​google cloud devops​​

​​aws devops​​

​​introduction to ci/cd with gitlab​​​

​​devops漫談之一:devops、ci、cd都是什麼鬼?​​

​​baidu/baike/devops​​

--------------------- author: ​

​frytea​​title: 綜述 devops

copyright: this work by ​

tl-song is licensed under a ​​creative commons attribution-noncommercial-sharealike 4.0 international license​​.​

綜述 DevOps

​​