成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

優化您的“內部開發循環”以提高開發速度

開發 開發工具
容器化的優勢通過確保環境一致性和簡化部署而累積到外部開發循環中。但它給內部開發循環帶來了摩擦。構建容器并等待它們啟動所花費的時間會降低開發人員高效編碼所需的迭代速度。

關鍵在于找到本地開發速度和容器優勢之間的平衡,而使用合適的工具和實踐,這是可以實現的。

譯自Optimize Your 'Inner Dev Loop' to Increase Developer Velocity,作者 Matt Voget。

就像每個流行文化都有一個辛普森一家笑話一樣,科技界的一切都有一個 XKCD 漫畫。一個很好的例子是“編譯,”,來自 2007 年。

十七年后,編譯已經有點不受歡迎了。但我們都知道這張漫畫現在會說什么:“我的代碼正在容器化。”

容器化在擴展開發方面發揮了重要作用。它允許開發人員在開發的不同階段以及從本地機器到生產服務器創建一致的環境。

這種一致性消除了古老的“在我的機器上可以運行”問題,并顯著減少了與配置相關的問題。

但它也帶來了新的問題。容器構建和注冊表上傳對工程師來說純粹是停機時間。

容器化可能很慢,這會影響生產力。這種稅收通常用于運行和測試代碼,然后在代碼發生更改時再次支付。你可以看到由此展開的問題。

圖片圖片

情況并非總是如此。在沒有容器的情況下,傳統的開發循環更快,允許更高的速度和更多的迭代。

我們能否在不犧牲容器優勢的情況下恢復這種速度?可以。

內部和外部開發循環解釋

這里的問題在于“內部開發循環”。內部開發循環是開發人員在本地工作于功能或錯誤修復時執行的一系列活動。它通常包括:

  1. 編寫或修改代碼
  2. 構建應用程序
  3. 運行和測試更改
  4. 必要時調試
  5. 提交代碼

這個循環在一天中重復進行,其效率極大地影響了開發人員的生產力。這個循環越快越流暢,開發人員可以進行的迭代次數就越多,從而更快地解決問題和開發功能。

相比之下,“外部開發循環”涵蓋了更廣泛的開發生命周期,包括:

  1. 規劃和任務分配
  2. 代碼審查和協作
  3. 持續集成和部署
  4. 暫存和生產發布
  5. 監控和反饋收集

容器化的優勢通過確保環境一致性和簡化部署而累積到外部開發循環中。但它給內部開發循環帶來了摩擦。構建容器并等待它們啟動所花費的時間會降低開發人員高效編碼所需的迭代速度。

在容器化之前,內部開發循環可能看起來像這樣:

圖片圖片

因此,在傳統的內部開發循環中,我們每次開發迭代只需 5 分多鐘,只有 10 秒的“稅收”停機時間。回顧容器化版本,這延長到了 9 分多鐘,其中近一半是“稅收”。

如果開發人員每天編碼 6 個小時,我們從容器化遷移到容器化后,迭代次數從 70 次減少到 40 次。在為期兩周的沖刺中,這將損失 300 個循環。

因此,優化容器化環境中的內部開發循環對于保持高開發速度至關重要。

降低內部開發循環的停機時間稅

在容器化環境中簡化內部開發循環是奪回失去速度的關鍵。我們必須找到方法來最大限度地減少容器化和部署帶來的“稅收”,同時保留容器提供的一致性和可移植性優勢。現代工具和實踐在這里發揮作用。

一種越來越流行的方法是本地到遠程開發。這種方法允許開發人員在本地運行代碼,同時無縫連接到遠程 Kubernetes 集群。像 Ambassador 的Telepresence這樣的工具使開發人員能夠像本地機器是遠程集群的一部分一樣進行編碼。

這個想法很簡單但很強大:開發人員無需為每次代碼更改構建和部署容器,而是可以在本地運行一個正在開發的服務,并使其實時與遠程集群中的其他服務交互。這種方法提供了幾個優勢:

  1. 更快的反饋循環:開發人員可以立即看到其更改的影響,而無需等待其完整應用程序容器化和部署。
  2. 熟悉的本地開發:工程師可以使用他們喜歡的工具和 IDE 來保持生產力。
  3. 訪問遠程資源:開發人員可以像訪問本地資源一樣與遠程集群中的數據庫、微服務和其他資源進行交互。
  4. 減少資源使用:需要更少的遠程開發環境,這可能導致成本節省。
  5. 協作開發:由于個人攔截等功能,團隊可以在同一個集群上同時工作,而不會互相干擾。

采用這些工具和實踐可以顯著減少內部開發循環的“稅收”。讓我們用這種優化方法重新審視我們之前的示例:

圖片圖片

在這種優化方案中,我們將迭代時間縮短到大約 6 分鐘,只有大約 30 秒的停機時間稅。這意味著在 6 小時的編碼時間內大約可以進行 60 次迭代——這比容器化版本有了實質性的改進,并且更接近我們最初的預容器速度。如上所示,使用本地測試,開發人員循環比傳統循環略長,但仍然比常規容器循環快得多,并且它包含容器化的優勢。雙贏!

目標不是放棄容器——它們在擴展和生產方面的優勢太寶貴了。相反,混合方法可以將本地開發的速度與容器化環境的一致性和可靠性相結合。

通過專注于優化內部開發循環,我們可以幫助開發人員恢復他們失去的速度,從而導致更多迭代、更快的功能開發,以及最終更快地獲得更好的軟件。關鍵是找到本地開發速度與容器化優勢之間的平衡——有了合適的工具和實踐,這種平衡是可以實現的。

最終,您的開發過程可以如此流暢,以至于您甚至沒有時間在容器化時查看 XKCD。

責任編輯:武曉燕 來源: 云云眾生s
相關推薦

2022-04-08 13:14:44

Android應用安全谷歌

2013-10-11 10:59:42

2024-07-25 08:25:35

2021-04-25 08:00:00

開發軟件質量保證

2021-07-19 10:35:48

云平臺開源軟件開發

2020-12-25 11:59:51

新冠疫苗黑客Lazarus

2011-06-07 15:54:51

網站排名內部優化

2024-11-28 10:04:14

2024-01-16 09:39:13

Docker系統

2021-01-28 08:00:00

Windows 10Windows微軟

2014-04-23 14:40:06

iOS開發KVO內部實現

2011-05-30 13:15:05

PHP

2011-05-30 13:28:00

PHP

2020-07-20 10:27:09

現代交付ITCIO

2010-08-23 13:45:32

無線路由器設置

2015-07-20 10:54:47

IOS提高效率工具

2020-09-14 10:28:35

敏捷性ITCIO

2015-12-15 09:50:12

Linux開發效率工具

2022-09-05 14:17:48

Javascript技巧

2023-11-22 08:26:03

HutoolJava工具集
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品欧美 | 欧美日本久久 | 欧美日韩国产高清 | 求个av网址 | 国产午夜在线观看 | 久久伊人一区 | 成人国产免费观看 | 五月天综合影院 | 久久久91精品国产一区二区精品 | 欧美在线a | 日韩精品免费在线观看 | 精品国产成人 | 女女百合av大片一区二区三区九县 | 国产91成人 | 日韩欧美网 | 人人干人人干人人干 | 黄视频免费观看 | 国产精品欧美一区二区三区不卡 | 嫩草黄色影院 | 久久久久国产精品 | 国产精品福利网 | 91中文视频 | 蜜桃一区二区三区 | 99久久免费精品国产男女高不卡 | 亚洲人精品 | 国产精品亚洲精品 | 亚洲一二三区免费 | 国产中文字幕av | 精品国产乱码久久久久久蜜退臀 | 久久99视频这里只有精品 | 亚洲高清视频在线观看 | 亚洲综合国产 | 亚洲精品区 | 成年人免费在线视频 | 天堂va在线 | a免费视频 | 国产精品亚洲视频 | 97精品久久 | 1区2区视频 | 欧美极品在线观看 | 九一在线观看 |