天天看點

雲原生時代來臨,開發者如何适應雲原生開發環境?

雲原生應用理念經過幾年的落地實踐已經得到企業市場的廣泛認可,雲原生應用更是成為企業數字化轉型的必選項。基于雲原生技術架構衍生的産品和工具,已經逐漸應用在開發者的日常工作當中。

近日,全球最具影響力的咨詢機構Forrester聯合阿裡雲釋出《雲原生開發者洞察白皮書》,JFrog中國首席架構師王青受邀參與該白皮書的編寫。Forrester首次定義雲原生時代開發者的能力模型,助力開發者擁抱雲原生技術,實作開發者自身的轉型。

早在2020 年IDC釋出的報告中,曾提到在未來的 3-5 年,軟體制品的數量會越來越多,到 2025 年,全球會出現520M 個應用,超過 60%的企業軟體版本的部署頻率為 1 天,甚至更短。軟體釋出的種類也越來越多,Go、Maven、Docker、NPM 等類型的制品會不斷的從研發中心建構出來,并推送到雲環境進行部署。同時,由于開發者不熟悉雲資源的使用,且依賴大量的開源軟體,導緻開發的軟體遇到了部署難、安全管控難、傳輸慢等常見問題。

這樣就給開發者帶來一個新的挑戰:開發者如何将制品快速的分發到各個雲原生環境進行快速、安全的釋出?我認為開發者需要從以下幾個方面做出改變。

一、軟體供應鍊安全可控

在雲原生環境下,你的服務極有可能是對網際網路開發服務的,由于開發者使用的依賴包往往來自于網際網路公有倉庫,這就使得使用了開源軟體的應用容易被黑客攻擊。大家可以嘗試在雲環境中安裝一個 Jenkins 直接對外提供服務,用不了幾天就會被黑客攻擊,并且在你不知情的情況下種下木馬,去挖礦或者執行其他任務。

我們應該如何解決?

整個部署過程必須使用自動化工具來保障軟體供應鍊的安全可控,應當通過自動化工具自動生成軟體物料依賴清單 SBOM,并實時掃描依賴包的漏洞風險和 License 合規性。開發者應該使用實時的開源元件分析工具,進行實時的 SAST 靜态應用安全掃描,在開發階段把已知的安全漏洞掃描出來,并根據優先級進行修複。參考以下操作流程:

1.1 使用Sonarlint 進行靜态代碼掃描,實時修複漏洞

雲原生時代來臨,開發者如何适應雲原生開發環境?

1.2 在IDE中安裝JFrog插件,實作開源元件漏洞和License的合規性檢查

雲原生時代來臨,開發者如何适應雲原生開發環境?

通過對開源軟體供應鍊的掃描,實作對依賴的管控。

在建構過程中,自動收集軟體物料清單 SBOM 如下:

雲原生時代來臨,開發者如何适應雲原生開發環境?

通過自動的依賴清單收集,能夠清晰的定義軟體版本的依賴資訊,以及依賴元件的漏洞掃描資訊和 License 合規性資訊。

二、面向雲資源的部署

開發者在雲原生環境下,想要實作應用的部署,必須熟悉雲資源的類型,進而将雲資源的字段從應用配置中抽取出來,這樣才能實作一次建構,處處運作。以 Kubernetes 應用開發為例,開發者之前在本地配置的資料庫、存儲、端口等配置都需要抽取出來,定義成 YAML 檔案的變量,抽象成 Helm Chart,這樣開發者在本地開發配置的程式内,不做任何修改,隻通過修改應用的 Chart Values檔案,即可實作雲環境的适配。

雲原生時代來臨,開發者如何适應雲原生開發環境?
雲原生時代來臨,開發者如何适應雲原生開發環境?

三、 Docker鏡像高效分發

當版本釋出之後,需要具備快速、高效的将版本分發到多地資料中心、邊緣節點、IOT 裝置等能力,例如支援大檔案分片分發,支援 Docker 鏡像的 P2P 分發等能力。

雲原生時代來臨,開發者如何适應雲原生開發環境?

Docker 鏡像的P2P分發将成為大企業在雲原生環境下的必備能力,通過 P2P 分發,能夠極大的提升 Docker 鏡像的下載下傳速度,快速的将新功能部署在伺服器上,更快的給使用者帶來價值。

雲原生時代已經來臨,在雲原生的環境下,企業及開發者想要占據先機,快人一步,就必須實作流動式的軟體版本釋出,才能在釋出頻率越來越快的将來站穩腳跟,奮勇前進。

添加小助手微信:JFrogjiewachina,您将獲得《雲原生開發者洞察白皮書》

繼續閱讀