12月16-17日,由CNCF、網易數帆、VMware、PingCAP和阿里雲聯合主辦2020 Cloud Native Day雲原生生態大會線上召開,來自聯合主辦方及字節跳動、Zilliz、百勝中國等公司的17位重磅演講嘉賓,帶來2天主題分享,解析雲原生領軍企業和組織、頭部用戶的雲原生戰略與實踐,剖析雲原生技術帶來的機遇與挑戰,幫助雲原生技術使用者和愛好者加深對技術的理解,同時推進雲原生與企業IT的融合。
在大會的第一天,網易數帆輕舟事業部總經理陳諤結合網易數帆旗下輕舟雲原生平臺近五年來的三次重大技術變遷,分享了網易及廣大數位化進程中的企業在IT、業務架構上的需求演進背後的邏輯,軟體生產與雲原生之間的關係,以及網易數帆對未來的思考。
陳諤將雲原生軟體生產分為三個階段,包括業務架構微服務化階段、雲計算作業系統階段和應用平臺階段,分別以服務治理與監控體系建立、中間件全面融合Kubernetes、應用視圖與運維視圖分離為重要特徵。他斷言,雲原生的發展已經歷了微服務階段,當前處於雲作業系統階段,而應用平臺階段的發展也已經起步並將是未來的發展方向。
雲原生的起點:幹掉微服務架構的複雜性
微服務階段技術演進的訴求發端於網際網路/移動網際網路的興盛,明晰於微服務架構的複雜性。網際網路時代,業務方需要在高度的業務複雜性下快速迭代軟體。陳諤指出,分而治之是最符合直覺的解決辦法,當時微服務架構也已被提出,但拆分後的技術複雜性是不可忽略的因素,需要和迭代效率放在一起來權衡。 而雲計算的出現首先解決了碎片化的計算資源獲取問題,剩下的就基於雲計算提供一個技術棧來應對微服務架構的複雜性。
針對上述問題,網易數帆在實踐的過程中逐漸形成了輕舟微服務平臺,包括API 網關、服務治理框架、持續交付服務、全鏈路應用監控和分布式事務等五個組件。其中,持續交付平臺負責調用雲計算接口準備計算資源,並將製品發布至雲上的各個環境;API網關解決分散的微服務架構作為一個整體應用對外提供接口的問題;服務治理解決服務的註冊發現、以及服務間路由策略的問題;全鏈路監控解決微服務的監控診斷問題;分布式事務中間件解決了服務拆分後事務保障的難題。
高潮:雲OS基於K8s整治資源管理,簡化環境維護
微服務大規模應用的後遺症,就是計算資源的生命周期管理、運行時環境維護複雜以及資源利用率低下等。陳諤舉了兩個例子:一個是大促後彈性資源下線難,將一些節點下線,影響評估是否準確?服務的剩餘副本數是否合理?服務是否能自動恢復到目標的副本數?另一個是調整集群調度分布困難,如希望將服務分布在不同的物理節點或邏輯上的服務分組,只能在靜態初始化時做到,一旦後續發生變更就無法很好保障。
容器、Kubernetes的出現使這些問題迎刃而解。容器鏡像帶來了層級化、易於組合/重用的優勢,且管理便捷、可與調度、生命周期管理銜接;Kubernetes則帶來了L1 CMDB,精準維護集群狀態使調度策略變更、故障恢復、擴縮容等生命周期管理相關的操作得以實現自動化,同時還支持業務只需感知Kubernetes API而無需關注IaaS層API。基於此,網易數帆將業務、中間件等負載由Kubernetes支撐,並將微服務支撐能力下沉(即Service Mesh),形成一個雲計算作業系統。
陳諤分享了網易數帆雲作業系統的三個案例,包括網易內部網易內部的資源利用率優化、高新製造業客戶的多雲管理以及企業的軟體供應商環境統一等實踐。(詳情請關注後續視頻回放。)
雲原生未來:應用平臺助推軟體生產能力普惠
網易數帆在實踐雲OS的過程中也發現了新的問題和新的機遇。
問題是開發人員的技術棧負擔過重,微服務架構的採用使得中心化的運維職責部分(如容量規劃以及調度策略、網絡、存儲配置等)卸載到了研發角色,而研發普遍不擅長處理這些工作,「然而我們認為軟體生產能力的提升不應以技術門檻的提高為代價。」陳諤強調說。
機遇在於統一的運維界面意味著將特定類型應用的運維標準化、自動化的可能性,從開發到運維轉換,作為在軟體生產過程中最具挑戰的環節之一有望得到大幅的優化。
作為雲原生的底座Kubernetes一直沒有應用層面的抽象,陳諤認為未來需要將應用的概念分離出來,來降低應用開發人員的認知負擔。當前社區的OAM模型的嘗試,也是網易數帆重點關注的一個方向。
在以應用為中心的方向上,網易數帆希望基於雲原生的普及實現軟體生產能力普惠,讓更多的人可以參與到應用開發中來,並擁有良好的開發效率。畢竟當前企業數位化的過程中,IT團隊的交付能力經常成為瓶頸,一些有價值但不是非常核心的系統往往長期處於需求排隊的狀態。
陳諤表示,軟體生產能力的普惠主要是解決開發能力與運維能力這兩方面的問題。開發能力方面通過縮小場景範圍、弱化抽象能力、表達能力,提供所見即所得的編輯能力來降低開發人員的認知負擔,這也是歷史上低代碼平臺類產品常見的策略。
運維能力方面,運維能力的缺失使非專業人員的代碼產出無法融入企業的IT環境成為標準的企業服務,從而僅限於個人或小範圍使用,而雲原生的技術使我們可以為應用生成標準的運維配置、策略的描述,並且這些配置在雲OS的統一運維界面下普遍適用。
網易數帆的實踐是打造了能與雲原生體系結合的低代碼平臺,面向初級開發者,面向信息管理系統類的應用,基於MVVM的模型,但開發者無需理解程式語言的抽象、MVVM框架,網絡,遠程調用等概念,而只需理解業務的數據模型,編寫必要的邏輯,並通過可視化的方式拖拽界面元素實現應用。
陳諤介紹,該平臺設計成能生成符合雲原生標準的製品,如容器鏡像與Helm charts,既能在輕舟的容器雲中自動部署運行,也能在客戶的Kubernetes集群中部署,簡單應用可以直接通過容器部署。客戶只要有面向K8s的運維機制,無需開發者提供額外信息即可基於製品部署運維,並能兼容客戶運維體系的規範。
客戶需要更高級的能力時,也能以輕舟平臺為雲OS來擴展持續交付、自動部署、服務治理、API管理、中間件自動化運維等能力。
(免責聲明:本網站內容主要來自原創、合作媒體供稿和第三方自媒體作者投稿,凡在本網站出現的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,並對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網站中的網頁或連結內容可能涉嫌侵犯其智慧財產權或存在不實內容時,應及時向本網站提出書面權利通知或不實情況說明,並提供身份證明、權屬證明及詳細侵權或不實情況證明。本網站在收到上述法律文件後,將會依法儘快聯繫相關文章源頭核實,溝通刪除相關內容或斷開相關連結。 )