2019 年,還是有很多人會對“雲原生”充滿了疑惑甚至誤解。這想必也是為何我們一直能夠在不同場合聽到關於雲原生的各種不同定義的原因所在。有人說,雲原生就是 Kubernetes 和容器;也有人說,雲原生就是“彈性可擴充套件”;還有人說,雲原生就是 Serverless;而後來,有人乾脆做出判斷:雲原生本身就是“哈姆雷特”,因為每個人的理解都不一樣。
實際上,自從這個關鍵詞被 CNCF 和 Kubernetes 技術生態“借用”之初,雲原生的意義和內涵就是非常確定的。在這個生態當中,雲原生的本質是一系列最佳實踐的結合;更詳細的說,雲原生為實踐者指定了一條低心智負擔的,能夠以可擴充套件、可複製的方式最大化地利用雲的能力、發揮雲的價值的最佳路徑。所以說,雲原生並不指代某個開源專案或者某種技術,它是一套指導軟體與基礎設施架構設計的思想。這種思想,以一言以蔽之,就是“以應用為中心”。
正是因為以應用為中心,雲原生技術體系才會無限強調讓基礎設施能更好的配合應用,以更高效的方式為應用“輸送”基礎設施能力,而不是反其道而行之。而相應的, Kubernetes 、Docker、Operator 等在雲原生生態中起到關鍵作用的開源專案,就是讓這種思想落地的技術手段。以應用為中心,是指導整個雲原生生態和 Kubernetes 專案蓬勃發展至今的重要主線。
2020 年,隨著容器、尤其是 Kubernetes 的迅猛發展,CNCF 基於 Kubernetes 這樣一個“種子”迅速構建起來一個以數百個開源專案組成的龐大生態,使得雲原生的落地趨勢越來越清晰:以容器的形態落地,把“以應用為中心”進行到底。
DDD(領域驅動設計)的思想發端於 2004 年,在過去的十餘年時間中一直不溫不火,直到最近兩年才得到越來越多的關注度。有人說,正是託微服務的福,DDD 才有了流行的土壤。實際上,目前微服務的劃分方法裡全球共識的就是 DDD,但 DDD 的核心思想並不僅僅侷限於微服務本身。因為微服務是一種架構風格,而 DDD 是一種思想。微服務定義的九大核心特質,跟 DDD 的原則是完全一致的,這在某種程度上也是業界願意在微服務上下文中採用 DDD 方法和實踐的原因。
雖然 DDD 的關注度日漸提升,但在實踐過程中,也遇到了敏捷開發式的尷尬:如何調整組織架構以適配 DDD?
過去業界提到敏捷開發,都說對個體的要求太高,但實際上並不是。表面上看敏捷對開發人員的技能要求高,實際上是因為敏捷開發要求調整組織架構,很多人不願意動,因此業務和技術協作上的問題很難解決。
DDD 面臨的困境同樣如此。在過去,技術這條線的劃分可能是開發一部、開發二部,業務這條線的劃分可能是業務一線、業務二線。但 DDD 的劃分理念是從業務角度劃分成領域,領域再劃成服務,落地的時候採用微服務架構,以前的劃分方式完全適配不了。所以直接造成 DDD 落地難的阻礙也是組織結構。具體表現就是協作不起來,各條線相互甩鍋,領導抱怨團隊人員能力不夠。
可以預見,隨著微服務和中臺思想的持續升溫,2020 年 DDD 將會變得更加流行,但由此帶來的問題也會愈加凸顯。
2018 年至今,Service Mesh 的熱度直線上升,而隨著 Kubernetes 生態體系的逐漸建立和完善,基於 Kubernetes 應用程式的規模和複雜性將增加,Service Mesh 將成為有效管理那些應用程式所必需的一切。企業對其的需求將會快速增長。
我們認為,2020 年 Istio 作為控制平面的一種技術實現仍將在 Service Mesh 領域扮演核心角色。Istio 獲得業界廣泛關注的原因,在於背靠 Google 公司的內部工程實踐,以及對工程實踐的再思考和重新提煉。而在國內也有阿里巴巴等大玩家在參與其中。未來市場上可能還有其他競爭者的空間,但市場的整合將於 2020 年開始。
從長遠來看,我們很可能會看到類似 Kubernetes 的情況,其中出現了贏家,公司開始標準化那個贏家。目前來看,業界正在圍繞 Istio 建立生態,Istio 似乎最有可能成為事實上的 Service Mesh。
2019 年 Service Mesh 的解決方案用例較為單一,展望 2020 年,相信會有更多的公司通過實踐而對 Service Mesh 的價值更有體感,通過創造更多的成功使用者故事、案例而加速 Service Mesh 的普及。也許,2020 年將成為 Service Mesh 技術的普及年。
Gartner 最近的一份報告表明,到 2020 年,全球將有 20% 的企業部署無伺服器架構。這說明無伺服器架構不只是一個流行語,更是一種眾所周知的雲端計算趨勢,並且已經在軟體世界掀起一場革命。大型廠商(如亞馬遜、微軟和谷歌)已經在無伺服器架構領域重資投入,追趕革命的浪潮。
Serverless 已經從觀望期走向了落地程式,O’Reilly 近期的一份千人樣本的調查顯示:超過 40% 受訪者已在使用,50% 開發者想要嘗試。2020 年 Serverless 的發展將在以下幾個方面取得更多進展:
- Serverless 計算平臺的能力有了長足進步,變得更加通用;
- Serverless 正在從偏離線業務進入線上業務;
- Serverless 生態不斷髮展,在應用構建,安全,監控報警等方面湧現了很多開源專案和創業公司,工具鏈越來越成熟;
- 使用者對 Serverless 的接受度不斷增加,除了網際網路等迅速擁抱新技術的行業,傳統企業如銀行使用者也開始採用 Serverless 技術;
- Java 語言、社群不斷努力,試圖成為 Serverless 平臺的主流語言;
- 基於 WebAssembly(WASM)的 FaaS 方案有望出現。
雖然前端一直是推陳出新速度最快、開發者最愛抱怨“學不動”的技術領域,但是回顧剛剛過去的 2019 年,多位專家都會這樣告訴我們:2019 年大前端領域增速放緩,並沒有出現很多顛覆性技術。
仔細想想這個說法確實也站得住腳,無論框架、語言還是前後端分工,2019 年並未出現重磅新聞,主要的“廝殺”都在細分領域展開。這未嘗不是好事,可能意味著前端正在走向成熟。
不過如果非要在 2019 年看似平淡的前端圈選擇一個超過預期、2020 年值得關注的技術趨勢,我們可能會選擇 WebAssembly(Wasm)。
WebAssembly 至今已經發展了三四年時間,2019 年發展速度之快超乎我們想象。3 月份 Mozilla 提出 WASI ;Mozilla、Fastly、英特爾與紅帽宣佈成立 Bytecode Alliance(位元組碼聯盟);2019 年末的大事件則是 WebAssembly 進入 W3C 成為正式推薦標準。
Docker 聯合創始人在 Twitter 上說的一句話更是給 WebAssembly 添了一把火:
“如果 WASM+WASI 在 2008 年就已誕生,那麼我們就用不著建立 Docker 了。”
但是如果你認為 WebAssembly“真香”,可能又錯了。最近對 JavaScript 開發人員進行的一項調查顯示,只有一小部分人在使用 WebAssembly,因為目前大家還找不到放棄 JavaScript 的理由。
不過進入 2020 年,WebAssembly 在商業化上的程式可能會加快,如果你還沒有關注和學習 WebAssembly,建議你補上這個功課。
Wasm 現階段的應用場景還比較少,主要的幾個應用場景都集中在前端密集計算業務的優化上,除此之外也有 AI、區塊鏈上的嘗試。我們預測 2020 年 WebAssembly 應該主要還是以標準制定及基礎設施(瀏覽器、編譯器等)實現發展為主,在 Post-MVP 沒有被完全落地的情況下,Wasm 很難跳出目前的幾個應用場景來進行能夠放到生產環境上的試驗,這也是 2020 年 Wasm 將會面臨的一個比較大的挑戰。
當然現階段對於 JavaScript 開發者而言,由於現階段 Wasm 標準的落地進度並沒有達到可以為 JavaScript 開發者或者前端開發者提供很多的、能夠解決前端實際問題的 Wasm 落地場景,因此導致更多的小夥伴只是採取觀望態度。2020 年這樣的情況是否會有所改善?可能還要看 Wasm 標準在工具鏈和瀏覽器層面的落地實現程度。
除了 WebAssembly,2020 年值得關注的前端趨勢還有很多,比如 Serverless,比如前端智慧化。
前十多年,大資料的發展主要集中在技術框架上,社群出現了一系列優秀作品,比如引領大資料風潮的 Hadoop,比如計算引擎 Spark、Flink ,比如訊息中介軟體 Kafka 等等,可以說,大資料領域的技術框架已經比較成熟。我們認為新的一年中,大資料領域將迎來大資料的容器化浪潮。
IT 基礎設施往雲上遷移是大勢所趨,由於來自雲平臺的競爭,Hadoop 正面臨越來越大的阻力。去年 6 月 Cloudera 和 Hortonworks 合併,股價暴跌 40%。雖然 Hadoop 不太可能很快就會消失,但它的採用可能會減緩。
同時出於對成本以及對廠商鎖定的擔憂,促成了向混合方法的演變,包括公用雲、私有云和本地部署的組合。在混合雲時代,容器依靠其自身標準化、一次構建隨處執行的能力,非常適合用於大資料系統的構建和管理。目前已經有大量的大資料系統原生支援 on Kubernetes,例如 Spark 官方版本從 2.3 開始就可以無需任何修改直接跑在 Kubernetes 上,而且“更好地在 K8s 上執行”已成為後續版本演進的的重大策略。行業也已湧現出多個案例。資料基礎架構正在從 Hadoop 到雲服務再到混合雲 / Kubernetes 環境的三個階段過渡,目前這一過程正在加速。
當然除了容器化浪潮外,2020 年大資料領域還會迎來資料實時以及全鏈路整合的趨勢。資料本身的價值是隨著時間推移而快速降低的,以 Kafka、Flink 為代表的流處理計算引擎已經為實時計算提供了堅實的底層技術支援,實時資料計算已融入各種企業場景。大資料的實時性包括快速獲取和傳輸資料、快速計算處理資料、實時視覺化資料、線上機器學習和模型實時更新等各個環節,每個環節都會影響整體實時性。
傳統的機器學習和大資料兩套技術也逐漸在融合,從原始資料匯入到資料準備、資料訓練到模型部署,整個是一套閉環,大資料和 AI 平臺的整合與協同將是未來發展的一個趨勢。比如在 Spark 社群裡也提出了 Hydrogen 計劃,在應用層把大資料和 AI 開源的框架全部串聯在一起,通過分散式的排程方式,把這些框架排程到分散式資料與 AI 平臺之上。
除此以外,2019 年”資料中臺“的概念可謂火了一把。2020 年依然是大資料發展的一個值得關注的趨勢。
2019 年,由於預訓練模型 BERT 以及 GPT 2.0 的發展,深度遷移學習成為 AI 領域的熱門詞彙。準確地說,預訓練模型是自然語言處理領域新的 baseline,如果要在完全不依賴 BERT 的基礎上,提出一個與 BERT 效果相當或者更好的新模型,目前來看可能性非常低。業界大部分 NLP 成果均是基於 BERT 的各種改進或者在對應業務場景上進行應用的,而且 BERT 的改進方向比較多,已經出現各種可用的變種 。
目前,XLNet、RoBERTa 等各種 BERT 的改進預訓練模型,雖然是通過增加預訓練的資料進一步提升效果,但除了增加資料,還做了許多模型方面的優化,這些突破都不是僅僅依靠堆資料就能帶來的成果。
我們認為:2020 年,深度遷移學習將基於預訓練模型有更多改進,比如對效能要求較高的場景需要對模型做一些改進和方案上的優化,雙向語言模型有可能出現訓練和預測不一致的現象,以及在長文字處理、文字生成任務上的不足。同樣值得期待的是,該領域未來可能會出現更加輕量級的線上服務模型。擴充到自然語言處理領域,除了不斷提升預訓練模型的效果,未來如何更好地與領域的知識圖譜融合,彌補預訓練模型中知識的不足,也是新的技術突破方向。
圖神經網路(GNN,Graph Neural Networks)是 2019 年 AI 領域最熱門的話題之一。雖然深度學習目前已經在諸多領域擁有了顯著的應用成果,但因果推理和可解釋性仍是短板,這幾年學術界和工業界都在探索新的方向。圖神經網路是用於圖結構資料的深度學習架構,將端到端學習與歸納推理相結合,業界普遍認為其有望解決深度學習無法處理的因果推理、可解釋性等一系列瓶頸問題,是未來 3 到 5 年的值得關注的重點方向。
展望 2020 年,最可以確定的一點是:GNN 依然會保持如今快速發展的態勢。從理論研究上看,不斷解構 GNN 相關的原理、特色與不足,進而提出相應改進與擴充,是非常值得關注的部分,如動態圖、時序圖、異構圖等。另外,一直以來研究 GNN 所用的標準資料集,如 Cora、PubMed,相對來說場景單一、異構性不足,難以對複雜的 GNN 模型進行準確評價。針對這一問題,近期史丹佛大學等開源的 OGB 標準資料集有望大大改善這個現狀。在新的評價體系下,哪些工作能夠脫穎而出?值得期待。
從應用上看,除了在視覺推理、點雲學習、關係推理、科研、知識圖譜、推薦、反欺詐等領域有廣泛應用外,在其他諸如交通流量預測、醫療影像、組合優化等場景下,也出現了一些 GNN 相關工作。在這其中,如何準確有效地將圖資料與 GNN 二者有機結合到相關場景,是應用上需要著重考慮的。相信 2020 年,會出現更多這樣的工作來擴充 GNN 的應用邊界。此外,GNN 要真正在工業界大規模落地,底層系統架構方面仍需做大量工作。業界期待著一個更為開放、高效能,且支援超大規模分散式圖網路計算的主流平臺的出現。
作為認知智慧領域核心技術之一,目前知識圖譜已運用到語音助手、聊天機器人、智慧問答等熱門的人工智慧應用場景中,並覆蓋泛網際網路、金融、政務、醫療等眾多領域。儘管發展火爆,但現在知識圖譜在構建和落地過程中還面臨著諸多挑戰:首先,對人工構建的依賴度還較高,仍然缺乏從大規模資料裡獲取的手段;其次,知識圖譜的構建技術成本很高。為解決上述問題,目前有很多公司都在做一些自動化構建知識圖譜的探索工作,如明略科技開發了自動圖譜構建工具,將一些中間構建過程自動化;騰訊正在基於聚類演算法和強化學習結合的模式開發 schema 自動構建和根據反饋調整知識圖譜的能力….
2019 年知識圖譜構建技術已經從過去的完全人工編輯,進化到了場景化定製 NLP 知識抽取配合人工模板和稽核的模式,正在經歷人工構建 – 群體構建 – 自動構建這樣的技術路線。自動化構建知識圖譜的特點是面向網際網路的大規模、開放、異構環境,利用機器學習技術和資訊抽取技術自動獲取網際網路資訊。
2020 年,我們可以預見的是:大規模知識圖譜的自動化、高質量構建將成為重要的發展趨勢。具體來看,首先,知識圖譜的 schema 自動構建和圖表示推理將成為關注的重點;其次,隨著知識圖譜在各個行業的深入落地,會有更多面向領域知識圖譜的自動化構建方案湧現出來,比如智慧醫療、智慧金融等相關知識圖譜及推理應用建設;此外,隨著 5G 的到來,5G 知識圖譜的構建也值得我們期待。
2019 年,區塊鏈技術迎來了兩支“強心劑”,一支是以 Facebook Libra 為代表的穩定幣技術,另一支是中共中央政治局集體學習區塊鏈技術,國家最高領導人對區塊鏈技術給予高度肯定。
在過去一年中,各大主要分散式賬本技術(DLT)、各大公司的聯盟鏈技術團隊都做出了不少改進,已經顯著增加了相關方案解決實際問題的潛力。技術的相對成熟,讓區塊鏈能在未來的一年裡結合企業業務得到落地發展。
我們認為,區塊鏈未來主要有兩點值得關注:一是區塊鏈之間的互操作性,2020 年我們很可能會看到更多區塊鏈系統的相互融合,跨鏈技術也有望進一步突破;二是穩定幣支付技術。支付是區塊鏈的看家本領,穩定幣避免了其他型別數字貨幣幣值不穩、劇烈波動的弊端,從而使數字貨幣能夠真正應用於日常支付等業務場景中。
同時,在 Facebook Libra 的影響下,各國央行數字貨幣之間的競爭加劇,尤其我國的央行數字貨幣已是“呼之欲出”,未來國際金融體系勢必會發生大變革。全球各國政府都比較重視這塊兒的發展,相信在未來會掀起穩定幣的熱潮。
本文轉自:InfoQ