使用 Dapr 縮短軟體開發週期
Microsoft DevOps 文件裡的文章(http://docs.microsoft.com/zh-cn/azure/devops/report/dashboards/cycle-time-and-lead-time?view=azure-devops)中的這張圖片在給我們介紹了 什麼是週期時間 以及 它如何影響我的專案流 時非常有影響力。
第一次輸入 "正在進行" 或 "已解決" 狀態類別到輸入 "已完成" 狀態類別,計算週期時間。當開發人員編寫程式碼時,能夠快速驗證更改並進行修訂對於保持較短的週期時間至關重要。
豐田生產方式之父大野耐一曾經說過:我們唯一要做的就是降低從接到訂單到交付產品給客戶的週期時間。週期時間的降低可以有效保證軟體的按時交付 。所以週期時間是軟體交付的核心目標。
特別是微服務的設計和開發,通常需要達成下列4個目標:
-
構建的API 驅動設計的微服務
-
一切都可以在本地構建、測試和執行,而無需複雜的設定。
-
雲端和本地依賴關係的等效性
-
裝置環境無關,可以自由在Windows,Linux,Mac 之間切換。
我們藉助於Dapr 可以非常容易的達成以上4個目標, 使用 Docker Compose 和 Dapr 技巧進行本地開發,測試和生產環境運行於Kubernetes, Kubernetes現在是各大雲廠的標配服務。藉助於Dapr 的語言無關性,平臺無關性,我們可以在環境上儘量的縮短了時間,保持較短的週期時間交付軟體。
我們可以在大腦裡面來回顧一下我們的開發過程,對於每個任務/程式碼更改:
-
開發人員會將更改部署到生產環境
-
如果發現任何錯誤,請重新部署舊 映象
-
在本地修復所有更改
-
推動其分支以生成可部署的內部版本,然後返回到 (1)
只有當開發人員脫離這個迴圈時,他們才能將他們的程式碼簽入主程式。這個過程太瘋狂了!僅第 4 步在映象建立和部署之間就花費了大約 20 分鐘。兩三個遺漏的錯誤可能會使開發人員在一天中花掉大約1個小時,並且考慮到除了日常工作之外,我們都在從事這項工作,這扼殺了生產力。還有可能要考慮到部署對依賴項的更改所需的週期,此處的部署花費了更長的時間。
- C# 對型別系統擴充套件性的改進
- ABP會臃腫嗎?
- .NET 為大型應用接入 ApplicationStartupManager 啟動流程框架
- Dapr 原始碼解析 系列文章彙總
- C# 學習經驗分享
- 基於.NET6的開源工業物聯網閘道器
- .NET 很好,你可能對它有一些誤解
- c#Clay開源的動態語言dynamic框架,讓您形如javascript的方式建立物件!
- .NET6結合Docker傻瓜式實現容器編排
- 一點雜感 以及 java8 Streams API 與 C# Linq 簡要對比分析
- .NET MAUI 應用程式中配置生命週期事件
- 如何使用c#編寫微控制器程式
- 可能是.NET領域效能最好的物件對映框架——Mapster
- 通過Dapr實現一個簡單的基於.net的微服務電商系統(十九)——分散式事務之Saga模式
- C# 11 中的引數 null 檢查
- 基於C#的計時管理器
- .NET 誕生已20週年,您的 .NET 技能是否還停留在2010 年?
- 虎年雲原生落地技術趨勢
- C#10 和 .NET6 程式碼跨平臺開發
- 通過Dapr實現一個簡單的基於.net的微服務電商系統(十八)——服務保護之多級快取