隨著數字產業蓬勃發展,傳統云計算產業走向成熟,大數據、物聯網、人工智能、區塊鏈等技術百花齊放,開發者的黃金時代來臨。然而新技術層出不窮,開發者如何判斷有技術能力和實踐技能是否達到市場的需求。對此,阿里云攜手 Forrester 對中國開發者進行專業調研,重磅打造出《云原生開發者洞察白皮書》。報告顯示,云原生讓開發者看到了更多可能,“人人都是云原生開發者”已然成為潮流趨勢。
云原生時代下,全新的開放新范式是什么?云原生開發者應具備的能力素質模型和必備技能有哪些?
由 CSDN 重磅打造的《大咖來了》中,我們邀請到 Forrester 首席分析師 Charlie Dai、阿里云容器服務負責人易立、阿里云云效研發平臺負責人陳鑫,由 CSDN 副總裁于邦旭主持,以《云原生時代,開發者能力大公開》為主題,共同探討云原生時代下,開發者需要具備的能力模型以及成長機遇,幫助企業和開發者捋清思路,尋找最高效的技能進階之路,并全球首發開發者都應關注的《云原生開發者洞察白皮書》。
掃描下方二維碼,查看精彩回顧:
從左到右:于邦旭、易立、 Charlie Dai
01 什么是云原生?
易立:當前云原生已是 IT 界的“網紅”,但是大家對云原生有不同的理解。如云原生計算基金會CNCF 認為云原生技術有利于各組織在公有云、私有云和混合云等新型動態環境中,構建和運行可彈性擴展的應用。云原生的代表技術包括容器、服務網格、微服務、不可變基礎設施和聲明式API。這些技術能夠構建容錯性好、易于管理和便于觀察的松耦合系統。結合可靠的自動化手段,云原生技術使工程師能夠輕松地對系統做出頻繁和可預測的重大變更。
阿里云認為,所有生于云、長于云,因云而生的軟件、硬件和架構都屬于云原生,這樣就擴大了云原生的范圍,涵蓋云原生數據庫、云原生AI、云原生大數據等領域。
易立
02 云原生時代下,開發者的挑戰與機遇
Q:云原生時代下,開發者面臨最大的挑戰是什么?
易立:一是企業豐富多變的業務需求和落后的開發生產力之間的矛盾。隨著互聯網數字化的深入,企業 IT 部門已經成為核心部門,但受限于各種各樣的 IT 基礎設施和研發流程,采用過去的開發方式很難創造新的價值,云原生對開發者帶來研發效能的提升,讓開發者關注于業務創新而不是基礎設施。
以每年的雙 11 為例,大促期間為了支撐運營活動,前端需求修改頻繁。去年,阿里集團開始大規模在前端應用 Severless ,前端開發者的開發生產力提升了 40%,滿足快速的業務需求。
二是云原生帶來很多新概念,其背后技術棧的復雜性和開發者之間的認知能力也存在很大矛盾。所以“全棧”概念流行,但真正全棧開發者是很苦的,不僅需要懂前端框架,還得懂后端框架、應用部署、安全、穩定生產等,給開發者造成巨大的負擔和壓迫感。開發者需改變思維,思考如何用云的方式、云的技術來解決問題,或許不需要重新造很多輪子,便能實現云價值的最大化。
三是企業上云后,云原生和傳統 IT 軟件開發的方式、組織結構間存在一定矛盾。過去的開發、測試、運維是瀑布型,每個人只負責自己模塊,出問題后各自甩鍋,效果很低。上云后,DevOps 流行起來,業務人員可以參與到研發流程中,他自己可以實現需求。這些變化需要組織思考。如果上云后,企業還只是采用傳統的租物理機、虛擬機形式,還是沒辦法把云的能力充分用起來,應該思考云原生的想法,怎么最大化利用其彈性,重構云原生架構,如何使用 DevOps 開發方式讓研發流程變得高效,基礎設施變得更加彈性和韌性。
陳鑫
陳鑫:在服務企業完成云原生轉型的過程中,遇到以下問題:
一是云原生帶來新技術概念的理解門檻。比如 K8S 對資源模型層全新的抽象,其理念和概念和傳統的面向過程運維模式、面向虛擬機的玩法,是有很大區別,需要開發和運維人員轉變相關概念。
二是基于云原生技術體系,開發者需轉變開發方法。需優先選擇云原生中間件,應用 Severless、微服務等技術,以及新的軟件交付方式。這些方法相較于傳統軟件開發存在較大變化,我們需重新學習。
三是開發團隊的流程和文化變革,云原生技術是推崇 DevOps 文化,云原生技術大大降低了系統演進到 DevOps 的門檻。如我們可以使用 Docker 輕松定義軟件的運行環境,使用 K8S 編排輕松定義存儲、計算、網絡所依賴的軟件架構,以及更容易使用云原生的中間件來處理限流、降級、灰度發布等。DevOps 的落地對于團隊職責的分工以及文化的影響巨大。如今,開發、測試、運維等角色被納入到廣義的“開發人員”范疇。
廣義的“開發人員”需圍繞云原生生態體系來開發相關的自動化能力,來實現軟件交付能力的進一步提升,不斷優化流程和工具,來貢獻到生態體系。
以上三點對概念理解的門檻、重新學習軟件方法、流程和文化落地,對于開發者來說既是挑戰,也是機遇。對于開發者而言,我們正值技術變革浪潮,可以在企業內兌現效能紅利,從而提升個人效率和工作的幸福感。對于企業而言,全面采納云原生技術的話,將在未來的軟件競爭中贏得先機。
Charlie Dai
Charlie Dai:很高興 Forrester 與阿里云合作發布《云原生開發者洞察白皮書》,幫助開發者更好地了解中國云計算市場的過去、現在與未來。云原生對于開發者而言,有以下三個方面的重要意義:
一是云原生技術可幫助開發者將自身的技術能力融合現代化技術,幫助我們更好地適應未來,把握未來的發展機遇。
二是橫向幫助開發者在其他新興技術領域進行探索。K8S 的出現不僅對云計算本身起到重要的推動作用,還賦能其他技術體系,使得開發者可基于同一個平臺,開發云計算、機器學習、大數據、物聯網、區塊鏈等的工作。
三是因為云原生平臺具有自動化的能力,可以幫助開發者加速開發過程。開發者有更多時間關注業務、和客戶溝通上,幫助我們跳出技術人員視角,更好地看清客戶需要什么、業務上的痛點,這樣可以更加聚焦和突顯自己的價值。
對于企業而言,具有重要的戰略意義:
一是“全云實踐”。我們可以在云上做全棧,不管是哪個層次上的服務,通過云平臺均可具備這樣的能力。還可以通過云上做設計開發、編碼測試、協同等涵蓋云上全生命周期,這就是“全云開發”的概念。
二是云原生可以幫助實現“人人都能做開發者”愿景,對于每個企業來說,均面臨開發者資源短缺的情況。云原生技術可讓運維人員加速進入到開發過程中,借助DevOps自動化能力,幫助我們更快將一線客戶需求反饋進來。還有不少業務人員可借助低代碼的能力,幫助我們加速面向業務應用的開發,“人人都是開發者”時代來臨。
三是基于云原生平臺加速數字化創新,各個方面新興技術領域可以基于云原生進行平臺化賦能。
03《云原生開發者洞察白皮書》背后的意義
Q:為什么阿里云攜手Forrester推出《云原生開發者洞察白皮書》?
陳鑫:上述我們談到開發者在云原生時代下所面臨的痛點、所需提升的知識點,如何用書面表達出來,業界尚沒有特別清晰的定義。阿里云關注開發者成長,于是聯合知名的咨詢機構 Forrester 發布白皮書,希望給廣大開發者一些指導性意義。
在這之前,阿里云對開發者有深入的洞察。以我所在的團隊為例,為阿里巴巴集團和阿里云研發開發工具,近幾年來,我親身經歷了阿里巴巴集團從線下自建 IDC 到云托管 ,再到云原生的技術轉變,了解不同技術階段開發者的痛點和解決方案。
第一個階段是從線下的自建 IDC 到云托管的過程中,開發者享受的云計算基本是虛擬化,在云上通過軟件將龐大復雜的物理資源進行虛擬化,體驗大規模的資源彈性、按量付費、數據安全等服務。這些技術讓軟件開發不再受限于基礎設施,同時降低了軟件應用新技術的成本。
第二個階段是從云托管到云原生階段,隨著 Docker 和 K8S 技術的應用,提升應用的交付和部署效率,但由于 K8S 生態體系的軟件交付、運維理念與傳統模式存在革命性變化,因此給開發者帶來學習新知識、使用新工具的成本。因此,我們提出了新的概念,基于云的開發,使用全云的工具,在云上開發。
為了克服這些痛點,我們提出云上開發者概念,即使用全云工具在云上開發。通過工具和云計算的結合,來進一步降低開發者理解云原生的技術門檻,豐富企業特性,給企業提供落地方案。希望廣大云上開發者也可以享受這個紅利,《云原生開發者洞察白皮書》便是從此出發的。
Q:《云原生開發者洞察白皮書》給開發者哪些指導作用?涵蓋哪些重要信息?
Charlie Dai:
一、開發者不僅關注技術本身,還需要具備全局視角,既要關注技術,同時還需關注業務和個人素質的能力提升。
二、開發者的技術能力非常重要。對于開發者需具備的云原生技術能力模型,可從六個維度思考:(1)關注基礎設施、應用架構、部署架構等架構;(2)培養從基礎設施到平臺,再到應用服務等技術棧能力;(3)隨著開源組件的不斷下沉,開發者要利用好平臺來支撐各式不同的框架;(4)整個軟件開發生命周期之間存在各種交集,我們需具備其他角色所具備的能力,幫助自己來豐富和完善自己;(5)具備相關編程語言能力;(6)了解新興技術領域,提升整體能力。
三、開發者應有自身個性化的發展生長路徑。發明二進制的數學家萊布尼茲曾說過:世界上沒有完全相同的兩片樹葉。我們每個開發者也是如此,需觀察自己與市場的平均水平相比,是否存在欠缺,而后有針對性的制定發展規劃。
四、漸進式發展策略。每個開發者在不同階段的關注點可能不一樣,我們定義了初級、中級、高級三個不同的層次,從上文提到的六個不同維度,以及其他業務和素質能力,幫助大家把握當前自己處于哪個狀態。
04 云原生時代下,開發者能力模型大公開
易立:開發者有不同的類型,不同的開發者在云原生時代將扮演不同的角色。從一個企業 IT 架構師的角度來看,他應該對云有更多了解,了解在云上如何構建穩定的新系統,并適應彈性、成本、安全等需求。同時,他也要思考如何將企業的 IT 架構變成面向云原生、混合云、多云的架構。
對于運維人員而言,由于其一部分基礎設施維護的工作交給云廠商,所以自己的能力要升級為SRE,通過技術手段來確保系統的穩定性,提升研發效率。一是可通過 API 來操作基礎設施,以更好地滿足業務需求的發展,二是在 K8s 上構建平臺化技術,來支撐微服務、AI、數據庫、大數據等技術。
對于平臺開發團隊而言,上云后,需要思考過去自己維護的中間件、數據庫等,是否直接利用云廠商的相關能力,讓自己不再疲于奔命支撐多變的業務需求?另外,如果有混合云的需求,可考慮在 Kubernetes 上構建平臺化能力,賦能不同類型的中間件,提升標準化和自動化的水平。
對應用開發者而言,勇敢嘗試 Severless 等開發方式,讓自己聚焦業務創新的核心價值,同時還可嘗試新工具以提升研發和運維效率。
陳鑫:《云原生開發者洞察白皮書》分別從技術、業務、素質三大能力范疇來總結開發者所需要具備的素質模型和必備技能。
我具體分享下技術方面的技能,涵蓋全棧開發能力、平臺框架應用能力、敏捷開發能力,以及多技術域的融合能力等。從我的角度而言,擁有平臺框架的運用能力和敏捷開發能力在云原生時代,是最為關鍵的。另外,每位開發者需具備敏捷開發能力,不僅包括基于云原生,如何使用 IDE 工具、研發流程管理工具等,還包括了最基礎的技能,如寫好 API、寫好測試用例、與團隊做好代碼審查等能力。這些技能是我們在云上構建應用程序的基礎,只有在熟練掌握這些敏捷開發方法和架構設計方法、軟件研發流程后,才能幫助開發人員更好地管理團隊,獲得更快的競爭機會。
05 云原生未來發展趨勢
Charlie Dai:一是更加面向應用。如開發、部署、DevOps 等能力將更多為上層所應用。
二是更簡化。隨著 Severless、低代碼技術的發展,將加速和簡化應用開發過。
三是分布式。5G 讓應用負載更加泛在化,我們需關注開發能力在邊緣側如何和云端有機協同起來。
四是新興技術體系的平臺化賦能。
易立:云原生的范圍包含公共云、私有云、本地云、邊緣計算、IoT 等,云原生將無所不在,變得無所不能,將支撐更多應用負載,AI、大數據、數據庫等新技術創新也是圍繞云原生這體系展開。另外,云原生復雜性將進一步下沉,不僅 Serverless 有更大發展,越來越多 AI 能力也加入進來,讓用戶可以更低成本、更低門檻地享受到云原生技術紅利。
陳鑫:云原生已被業界廣泛的采納,正處于高速發展階段。最近一兩年提出以應用為中心的云原生軟件開發模式,基于此,阿里云提出 OAM 云原生應用模型。
目前我所在的阿里云“云效”平臺,它便是探索以應用為中心的云原生軟件開發模式。為什么強調應用?因為 K8S 核心是面向資源的模型,對于開發者而言,它缺少一層抽象,這層抽象是可以和一項業務服務相對應。因此我們把這層業務的抽象叫應用,應用可能包含一組環境、配置、交付流程資源,多個應用組合起來就變成了一個完整的業務系統。“云效”平臺后續將推出面向云原生應用工具平臺,具備以下三個特點:
一是降低普通開發者理解云原生的門檻,通過應用環境、研發流程的概念來屏蔽云原生本身的復雜度,開發者只需申請應用,使用模板完成初始化,就可一鍵上線。
二是云原生關鍵的發展趨勢是實現關注點分離,開發者應重點投入在編碼、質量和驗證上,每個應用的基礎設施以及架構安排,可以架構組來統一確定,提供全局規則配置,防止開發出現一些誤操作,影響系統穩定性,這就是關注點分離。也就是說更專業的人在云原生體系里做更專業的事,讓開發更加聚焦于業務開發。
三是迎更容易落地 DevOps,在 DevOps文化下,面向應用的運維應由開發者來擔任。工具平臺的責任是將運維門檻和操作導致故障的概率降到最低,所以這個工具平臺在可觀測性、集成云產品以及使用體驗上下很大功夫。
我本身就是研發“云效”的,我相信工具和云原生技術的結合,能更好地去推進企業“Developer in Cloud”,因此推進“全云開發”將是未來云原生的重要趨勢。
06 云原生時代,開發者的成長秘笈
Charlie Dai:一是開發者需要要持續學習,才能夠跳出舒適區,積極擁抱變化,適應未來的變化。二是擁有全局視角,避免忽略對業務、客戶的理解,盡早培養相關能力。三是知行合一,幫助自己把握未來成長方向。
易立:一是保持好奇。好奇心是驅動力,我們學會發現問題,并持續用新方法、新技術來解決問題。二是關注問題的本質。技術發展變化太快,我們開發者更需要沉下心來學習好計算機知識,打好基礎。三是樂于分享。分享是理解別人和表達自己的最好方式,在分享的過程中,還可系統地梳理學到的知識,幫助自己梳理與鞏固。
陳鑫:一是在軟件工程領域是沒有“銀彈”的,需要不斷地應用新技術、提升編碼技能、使用新工具等,才能完成從量變到質變的轉變。云原生本身是個系統工程,我們要持續保持學習。二是云原生還在高速發展中,它可能存在不完美的地方,建議開發者積極投入到相關開源的技術建設中。
想更多了解《云原生開發者洞察白皮書》?立即掃碼下載!
閱讀原文:
https://developer.aliyun.com/special/native/developer?utm_content=m_1000289169