[Accelerate State of DevOps 2021 快速摘要]
找一些自己有興趣的地方, 快速用 Google 翻譯一下
主要發現
1. 表現最好的人正在成長並繼續提高標準
在我們的研究中,優秀的執行者現在佔團隊的 26%,並且縮短了他們對生產變更的準備時間。該行業繼續加速發展,團隊從中看到了有意義的好處。
2. SRE 和 DevOps 是互補的理念
利用我們的站點可靠性工程 (SRE) 朋友概述的現代運營實踐的團隊報告了更高的運營績效。優先考慮交付和卓越運營的團隊報告了最高的組織績效。
3. 越來越多的團隊正在利用雲,並從中看到了顯著的好處
團隊繼續將工作負載轉移到雲中,而那些利用雲的所有五種功能的團隊會看到軟件交付和運營 (SDO) 性能以及組織性能的提高。多雲的採用也在增加,因此團隊可以利用每個提供商的獨特功能。
4. 安全的軟件供應鍊是必不可少的,也是驅動性能的驅動因素
鑑於近年來惡意攻擊的顯著增加,組織必須從被動實踐轉變為主動和診斷措施。在整個軟件供應鏈中集成安全實踐的團隊快速、可靠和安全地交付軟件。
5. 良好的文檔是成功實施 DevOps 功能的基礎
我們第一次測量了有助於這種質量的內部文檔和實踐的質量。擁有高質量文檔的團隊能夠更好地實施技術實踐並整體表現得更好。
6. 在充滿挑戰的情況下,積極的團隊文化可以減輕倦怠
團隊文化對團隊交付軟件和實現或超越組織目標的能力有很大影響。在 COVID-19 大流行期間,具有生成性 1,2 文化的包容性團隊經歷較少的倦怠。
=========================================================
Technical DevOps capabilities
我們的研究表明,通過採用持續交付進行 DevOps 轉型的組織更有可能擁有高質量、低風險和具有成本效益的流程。
具體而言,我們衡量了以下技術實踐:
• 鬆散耦合架構
• 基於主幹的開發
• 持續測試
• 持續集成
• 使用開源技術
• 監控和可觀察性實踐
• 數據庫更改管理
• 部署自動化
我們發現,雖然所有這些實踐都改進了持續交付,但鬆散耦合的架構和持續測試的影響最大。
例如,今年我們發現,達到可靠性目標的精英執行者採用松耦合架構的可能性是低績效同行的三倍。
松耦合架構 (Loosely coupled architecture)
我們的研究繼續表明,您可以通過努力減少服務和團隊之間的細粒度依賴關係來提高 IT 性能。事實上,這是成功持續交付的最強預測因素之一。使用鬆散耦合的架構,團隊可以相互獨立地擴展、失敗、測試和部署。團隊可以按照自己的節奏前進,小批量工作,減少技術債務,並更快地從失敗中恢復。
持續測試和持續集成
與我們前幾年的發現類似,我們表明持續測試是成功持續交付的有力預測因素。達到可靠性目標的精英執行者利用持續測試的可能性是其 3.7 倍。通過在整個交付過程中結合早期和頻繁的測試,測試人員與開發人員在整個過程中一起工作,團隊可以更快地迭代和更改他們的產品、服務或應用程序。您可以使用此反饋循環為您的客戶提供價值,同時還可以輕鬆整合自動化測試和持續集成等實踐。
持續集成還改進了持續交付。達到可靠性目標的精英執行者利用持續集成的可能性是其 5.8 倍。在持續集成中,每次提交都會觸發軟件的構建並運行一系列自動化測試,這些測試會在幾分鐘內提供反饋。通過持續集成,您可以減少成功集成所需的手動和通常複雜的協調。
持續集成,由 Kent Beck 和它起源的極限編程社區定義,還包括基於主幹的開發實踐,接下來討論。
基於主幹的開發
我們的研究一致表明,高績效組織更有可能實施基於主幹的開發,其中開發人員小批量工作並經常將他們的工作合併到共享主幹中。事實上,達到可靠性目標的精英執行者使用基於主幹開發的可能性是其 2.3 倍。低績效者更有可能使用長期存在的分支並延遲合併。
團隊應該每天至少合併他們的工作一次——如果可能的話,一天多次。基於Trunk的開發與持續集成密切相關,所以你應該同時實現這兩種技術實踐,因為它們一起使用時影響更大。
部署自動化
在理想的工作環境中,計算機執行重複性任務,而人類專注於解決問題。實施部署自動化可幫助您的團隊更接近此目標。當您以自動化方式將軟件從測試轉移到生產時,您可以通過實現更快、更高效的部署來縮短交付週期。
您還可以降低部署錯誤的可能性,這在手動部署中更為常見。當您的團隊使用部署自動化時,他們會立即收到反饋,這可以幫助您以更快的速度改善您的服務或產品。雖然您不必同時實施持續測試、持續集成和自動化部署,但當您將這三種實踐結合使用時,您可能會看到更大的改進。
數據庫變更管理
通過版本控制跟踪更改是編寫和維護代碼以及管理數據庫的關鍵部分。我們的研究發現,與表現不佳的同行相比,達到可靠性目標的精英執行者進行數據庫變更管理的可能性要高 3.4 倍。此外,成功進行數據庫變更管理的關鍵是所有相關團隊之間的協作、溝通和透明度。雖然您可以從特定的實施方法中進行選擇,但我們建議,無論何時您需要對數據庫進行更改,團隊都應在更新數據庫之前聚在一起並審查更改。
監控和可觀察性
與前幾年一樣,我們發現監控和可觀察性實踐支持持續交付。成功實現可靠性目標的精英執行者的可能性是其 4.1 倍
擁有將可觀察性納入整體系統健康狀況的解決方案。可觀察性實踐讓您的團隊更好地了解您的系統,從而減少識別和解決問題所需的時間。我們的研究還表明,具有良好可觀察性實踐的團隊會花更多的時間進行編碼。對這一發現的一種可能解釋是,實施可觀察性實踐有助於將開發人員的時間從尋找問題的原因轉移到故障排除並最終回到編碼上。
開源技術
許多開發人員已經利用開源技術,他們對這些工具的熟悉是組織的優勢。閉源技術的一個主要弱點是它們限制了您將知識傳入和傳出組織的能力。例如,您不能聘請已經熟悉您組織工具的人,開發人員也不能將他們積累的知識轉移到其他組織。相比之下,大多數開源技術都有一個社區,開發人員可以使用它來提供支持。開源技術具有更廣泛的可訪問性、相對較低的成本和可定制性。達到可靠性目標的精英執行者利用開源技術的可能性是其 2.4 倍。
我們建議您在實施 DevOps 轉型時轉向使用更多開源軟件。
source: https://cloud.google.com/devops
同時也有400部Youtube影片,追蹤數超過4萬的網紅Dd tai,也在其Youtube影片中提到,茅台酒是一種醬香型大麯白酒,原產於貴州茅台鎮。茅台酒氣味芬芳香醇濃郁,不論氣味與口感均散發強烈香氣。一種說法是,歷史名酒「枸醬」即為茅台的雛形。西漢建元6年(公元前135年),漢武帝派唐蒙出使南越(今廣州)。其間唐蒙得飲名酒「枸醬」,感覺酒味絕美,回到長安後,向蜀商諮詢,蜀商說「獨蜀出枸醬,多持竊出...
版本控制流程 在 軟體開發學習資訊分享 Facebook 的最佳貼文
使用 CI/CD 工作流程自動化程式碼測試、佈署和版本控制。 在市場上建立和發佈 GitHub Actions ( GitHub 行動件 )
https://softnshare.com/github-actions/
版本控制流程 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
ref: https://faun.pub/the-best-infrastructure-as-code-tools-for-2021-b37c323e89f0
這篇文章是一個 IaC (Infrastructure as Code) 的推廣文,文章分成幾個部分,從 IaC 的基本概念與應用談起,接者分析了幾個常見的 IaC 工具,最後探討了實際的使用案例
文章偏長,對於 IaC 概念很熟悉的讀者應該可以很快速地看完,以下針對部分進行一些摘要
The need for Infrastructure as Code
作者先描述過去幫機房部署新伺服器時的各種流程,機器少量時能夠透過人力慢慢處理,但是這類型的操作繁瑣,重複且惱人
為了讓這些流程處理得更佳順遂與一致,會有各式各樣的 scripts 等相關工具被開發出來,而這些流程慢慢的會往自動化的方式去發展。
IaC 文化的興起會使得有愈來愈多獲得共識的工具被開發出來,這使得 IaC 的使用門檻會有機會降低,愈來愈多的使用者能夠更簡易的透過 IaC 的方式來管理與維護自身的架構
Benefits and reasons to implement IaC
IaC 帶來的好處是非常顯著的,譬如
1. 將 Config 檔案當作整個環境的 sing source of truth
2. 每次的部署都是基於上述的 Config 來部署,能夠確保每次部署都獲得一樣的結果,避免人為的反覆長期操作帶來的錯誤
3. 透過程式化的方式去建置環境能夠更快速的去應變各種環境需求,對於 testing, developing, production 等各種變化都可以透過 config 的差異來快速搭建
4. Config 也可以透過 Git 的方式去管理來獲得更好的可稽核性與管理性。
Principles and best practices of Infrastructure as code
作者這邊列出了幾個實作上的推薦方式
1. 透過版本控制的方式來管理 IaC 的設定檔案,能夠讓維運人員使用開發者常見的開發合作流程來管理 IaC
2. 將 IaC 的工具整合到 pipeline 的 CI/CD 流程,讓 CI 流程去檢查 IaC 的設定是否符合預期以及 CD 流程來幫忙自動部署修改架構
Infrastructure as code tools
這個區塊作者列出了幾個常見的工具,包含 Terraform, CloudFormation, Puppet, Pulumi 等,接者又透過一張大表格來比較 Terraform/Pulumi/CloudFormation 三者的差異
Pulumi 這工具這一兩年開始聲勢比較多,跟 Terraform 一個最大的差異我想就是撰寫的方式,可以透過 Js, Go, Python...等程式語言來描述架構而並非使用 Terraform 自定義的 DSL 來管理。
最後面作者也列舉了六七個適合 IaC 的使用場景,有興趣的歡迎閱讀全文
版本控制流程 在 Dd tai Youtube 的最佳貼文
茅台酒是一種醬香型大麯白酒,原產於貴州茅台鎮。茅台酒氣味芬芳香醇濃郁,不論氣味與口感均散發強烈香氣。一種說法是,歷史名酒「枸醬」即為茅台的雛形。西漢建元6年(公元前135年),漢武帝派唐蒙出使南越(今廣州)。其間唐蒙得飲名酒「枸醬」,感覺酒味絕美,回到長安後,向蜀商諮詢,蜀商說「獨蜀出枸醬,多持竊出夜郎。」於是唐蒙繞道取枸醬酒獻漢武帝。漢武帝以「甘美之」讚嘆,視為珍奇,當時即為貢品,故有「唐蒙飲枸醬而使西域」之說。清代詩人陳熙晉寫道:「尤物移人付酒懷,荔枝灘上瘴煙開,漢家枸醬知何物,賺得唐蒙習部來。」茅台鎮在清嘉慶、道光年間造酒已初具規模,據《遵義府志》記載,「茅台(釀酒的)燒房不下20餘家,所費山糧不下兩萬石」。而且所釀之酒曰「茅台燒」。但古釀造作房被太平天國翼王石達開進攻貴州時所毀。貴州茅台銷售策略有點特別,分為「內銷」、「外銷」兩種。一般情況下,五星茅台是內銷版本,飛天茅台是外銷版本。但目前在中國國內五星茅台和飛天茅台均有銷售,二者品質相同,飛天茅台價格比五星茅台高出10元人民幣,還額外贈送兩隻酒杯。
茅臺酒工藝中的“三長”主要指茅臺酒基酒生產週期長、大麯貯存時間長、茅臺酒基酒酒齡長。茅臺酒基酒生產週期長達一年,同一批原料要經過九次蒸煮(烤酒)、八次發酵、七次取酒,歷時整整一年時間。而其他名白酒生產週期只有幾個月甚至十多天。茅臺酒工藝的“季節性生產”指茅臺酒生產工藝季節性很強。茅臺酒生產投料要求按照農曆九月重陽節期進行,這完全不同於其他白酒隨時投料隨時生產的特點。採用九月重陽投料一是按照高梁的收割季節;二是順應茅臺當地氣候特點;三是避開高營養高溫生產時節,便於人工控制發酵過程,培養有利微生物體系,選擇性利用自然微生物;四是九月重陽是中國的老人節,象徵天長地久,體現中華民族傳統文化。茅臺釀造,選取原料(小麥、高粱、水)和釀造環境要求高之外,其生產工藝流程也是要求格外高。茅臺酒的生產工藝流程,主要分為四個大的工序(制曲、制酒、貯存與勾兌、檢驗與包裝)六個環節
版本控制流程 在 吳老師教學部落格 Youtube 的精選貼文
VBA到Python程式2019開發2班第2次迴圈資料結構&用For迴圈計算1到99&continue與break與step計算奇數&九九乘法表&format輸出&星號輸出三角形正向&轉為While迴圈與質數判斷&VBA版本&自訂函數&猜數字&MonthCAI)
01_重點回顧與迴圈資料結構
02_用For迴圈計算1到99
03_用continue與break與step計算奇數
04_計算九九乘法表第一列
05_計算九九乘法表多列
06_計算九九乘法表用format輸出
07_用S字串輸出與VBA輸出九九乘法表
08_星號輸出三角形正向與重複字元
09_星號輸出三角形反向與加空白
10_將For迴圈轉為While迴圈與質數判斷
11_練習題:質數判斷
12_練習題:質數判斷轉VBA版本
13_改寫為自訂函數有無回傳值
14_練習題猜數字
15_練習題猜數字限制只能猜三次
16_練習題MonthCAI
完整影音
http://goo.gl/aQTMFS
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/#!forum/tcfst_python_2019_2
懶人包:
EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
[初階]從VBA的自動化到PYTHON網路爬蟲應用
01 建置Python開發環境 3
02 基本語法與結構控制 3
03 迴圈敘述演示與資料結構及函式 3
04 檔案處理與SQLite資料庫處理 6
05 TQC+Python證照第1、2、3類:
基本程式設計與選擇敘述與迴圈敘述 12
06 TQC+Python證照第4、5類:
進階控制流程與函式(Function) 9
[進階]網頁資料擷取、分析與資料視覺化能力
07 網頁資料擷取與分析 3
09 實戰:處理 CSV 檔和 JSON 資料 3
10 實戰:PM2.5即時監測顯示器轉存資料庫 3
11 實戰:下載台銀外匯、下載YAHOO股市類股 3
12 實戰:下載威力彩開獎結果 3
13 TQC+Python 3網頁資料擷取與分析第1類:資料處理能力 3
14 TQC+Python 3第2類:網頁資料擷取與轉換 6
15 TQC+Python 3第3類:資料分析能力 6
16 TQC+Python 3第4類:資料視覺化能力 6
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著
出版社:碁峰? 出版日期:2016/11/29
吳老師 108/6/21
EXCEL,VBA,Python,自強工業基金會,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境,資料視覺化
版本控制流程 在 吳老師教學部落格 Youtube 的精選貼文
VBA到Python程式2019開發2班第2次迴圈資料結構&用For迴圈計算1到99&continue與break與step計算奇數&九九乘法表&format輸出&星號輸出三角形正向&轉為While迴圈與質數判斷&VBA版本&自訂函數&猜數字&MonthCAI)
01_重點回顧與迴圈資料結構
02_用For迴圈計算1到99
03_用continue與break與step計算奇數
04_計算九九乘法表第一列
05_計算九九乘法表多列
06_計算九九乘法表用format輸出
07_用S字串輸出與VBA輸出九九乘法表
08_星號輸出三角形正向與重複字元
09_星號輸出三角形反向與加空白
10_將For迴圈轉為While迴圈與質數判斷
11_練習題:質數判斷
12_練習題:質數判斷轉VBA版本
13_改寫為自訂函數有無回傳值
14_練習題猜數字
15_練習題猜數字限制只能猜三次
16_練習題MonthCAI
完整影音
http://goo.gl/aQTMFS
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/#!forum/tcfst_python_2019_2
懶人包:
EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
[初階]從VBA的自動化到PYTHON網路爬蟲應用
01 建置Python開發環境 3
02 基本語法與結構控制 3
03 迴圈敘述演示與資料結構及函式 3
04 檔案處理與SQLite資料庫處理 6
05 TQC+Python證照第1、2、3類:
基本程式設計與選擇敘述與迴圈敘述 12
06 TQC+Python證照第4、5類:
進階控制流程與函式(Function) 9
[進階]網頁資料擷取、分析與資料視覺化能力
07 網頁資料擷取與分析 3
09 實戰:處理 CSV 檔和 JSON 資料 3
10 實戰:PM2.5即時監測顯示器轉存資料庫 3
11 實戰:下載台銀外匯、下載YAHOO股市類股 3
12 實戰:下載威力彩開獎結果 3
13 TQC+Python 3網頁資料擷取與分析第1類:資料處理能力 3
14 TQC+Python 3第2類:網頁資料擷取與轉換 6
15 TQC+Python 3第3類:資料分析能力 6
16 TQC+Python 3第4類:資料視覺化能力 6
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著
出版社:碁峰? 出版日期:2016/11/29
吳老師 108/6/21
EXCEL,VBA,Python,自強工業基金會,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境,資料視覺化
版本控制流程 在 版本控制- 推廣API 的必吃
了解推廣API 版本控制模式,包括如何管理轉移和發出指定版本的要求。 ... 轉移只適用於某些特殊情況:需要作出的變更無法進入版本控制流程。一般而言,這通常是在基礎 ... ... <看更多>