M型的企業軟件——AWS re:Invent 之我見

我記得幾年前亞馬遜雲的 AWS re:Invent 會議只是個幾百人的小型活動。完全沒有料到,在過去的十年裡,AWS re:Invent 已經發展成為世界上最大的技術會議之一。議題依然是亞馬遜雲的產品與服務。亞馬遜雲如今在企業計算領域佔據著主導地位,已經成為軟件創新的標杆與熱點。因此, AWS re:Invent 大會是值得軟件行業每個人都密切關注的。

M型的企業軟件——AWS re:Invent 之我見

AWS re:Invent 2019年會於12月2日至12月6日在拉斯維加斯舉行 。共有6.5萬名參會者,門票1700美元。這些參會者自己付費來了解亞馬遜雲的產品,來學習其他亞馬遜雲客戶是如何購買或使用亞馬遜雲服務的。這完美地證明了亞馬遜雲的成功!拉斯維加斯雖然經常舉辦大型活動和會議, 但是,這樣規模的技術大會也已經讓拉斯維加斯辦會能力達到了極限。

在一週的時間裡,AWS re:Invent 徹底改變了拉斯維加斯大道的面貌,使之成為一個縱橫5個大型會議中心的演講盛會。從一個會場走到下一個會場經常需要一個小時。作為參會者, 我體驗了亞馬遜雲生態系統的各種創新,思考了這些創新將如何影響整個軟件行業。

我的感悟是:軟件軟件在變得更加抽象的同時也在變得更具象。連接商業與硬件的中間層將變得越來越重要。

軟件正變得越來越抽象


亞馬遜雲是一家計算基礎設施提供商。它之所以發展得如此壯大,是因為基礎設施是大多數機構的痛點。雲計算應該是簡單的ーー像供應電力或自來水一樣,供應計算能力。然而,隨著越來越多企業採用亞馬遜雲,它也變得越來越複雜。AWS 現在已經有超過100種不同的產品。

為了續寫前面的成功,自然而然,亞馬遜雲要推出更簡單、更容易使用的基礎設施產品。換句話說,軟件正變得越來越抽象,從而隱藏紛繁複雜底層基礎架構裡面的細枝末節。

M型的企業軟件——AWS re:Invent 之我見

今年 re:Invent 大會最熱門的話題之一就是無服務器的微服務。在理想狀態下,開發者無需擔心服務器、虛擬化、容器、操作系統、平臺、資源,以及管理服務器帶來的複雜性。為什麼不可以讓開發者直接把編寫好代碼部署到雲中,然後由雲服務自動調整資源以滿足各種負載?經過多年的探索,隨著 Docker、 k8s 和相關技術的進步,無服務器的底層基礎設施軟件終於走向成熟。在這次 re:invent 大會上,無服務器微服務的使用場景是最熱點的議題之一。

M型的企業軟件——AWS re:Invent 之我見

亞馬遜雲首席執行官 Andy Jassy 在主題演講中, 發佈了幾款人工智能產品,如亞馬遜欺詐探測器、亞馬遜CodeGuru、亞馬遜客服中心 Connect 和亞馬遜 Kendra。這些本質上都是亞馬遜云為應用程序開發者提供的打包的 AI 微服務。

M型的企業軟件——AWS re:Invent 之我見

Jassy 的另一個重大發布,是 SageMaker Studio。它是一個基於網頁的集成開發環境,可以完成 AI 用戶的建模,訓練,推理等需求。通過它,用戶可以直接與亞馬遜雲後端的 AI 微服務進行交互。可見,亞馬遜雲現在不僅構建基礎設施服務,而且還為業務用戶提供方便使用此類服務的用戶界面。

無服務器微服務的時代可能終於要到來了。通過無服務器,軟件正變得越來越抽象,越來越脫離其底層的基礎架構。

軟件正變得越來越具象


在軟件基礎設施的另一面,軟件在越來越接近硬件。它在減少抽象度,變得更具體。

推動這種演變的原因是,我們已經進入了後摩爾定律時代。用戶所要求的性能改進不能再簡單地通過提升 CPU 速度來滿足了。亞馬遜雲開創了在特定領域(如網絡、並行處理和人工智能推理)中提供高性能的定製硬件以提高性能。

M型的企業軟件——AWS re:Invent 之我見

一個很好的例子是 AWS Nitro。它提供了一套專用的硬件 i/ o卡、控制器和安全芯片。通過利用軟件基礎設施,利用 Nitro 硬件的優勢,亞馬遜雲能夠交付新的更快更經濟的 EC2 虛擬機。受益於 Nitro,亞馬遜雲在2018年新增的 EC2 虛擬機比前一年增加了3倍。

M型的企業軟件——AWS re:Invent 之我見

Peter DeSantis 在他的主題演講中演示了通過 Nitro 和硬件優化的網絡軟件棧,EC2 c5n.x18large 的性能幾乎能夠隨著CPU數量的增加而線性提升。這已經達到了克雷超級計算機的性能指標。這樣一來, 亞馬遜雲可以向客戶提供“超級計算機服務”。

在2019年的 re:Invent 中,亞馬遜雲一口氣宣佈了好幾個用於加速人工智能和大數據業務的芯片和硬件。

M型的企業軟件——AWS re:Invent 之我見

Graviton2 是基於 ARM 架構設計的 CPU。與英特爾、 AMD 公司的 x86 cpu 相比,Graviton2 性能提高了40% ,成本降低了20% 。它還為數據壓縮的工作負載提供了硬件加速。

M型的企業軟件——AWS re:Invent 之我見

AWS Inferentia 是為人工智能而設計的硬件處理器。對於神經網絡的計算負載,Inferentia 比一般 CPU 快3倍,還便宜40% 。

M型的企業軟件——AWS re:Invent 之我見

AQUA 是一種新的硬件加速緩存,可以將數據倉庫應用程序的查詢性能提高10倍。

隨著硬件越來越專業化,對軟件的需求也不斷增加,這些軟件可以“本地”訪問硬件並使用其特定功能。從這個意義上說,軟件正變得越來越不抽象。與開發通用的上層應用不同,開發者必須處理特定硬件的不同之處和特定功能。

M 形態中的機會


綜上所述,隨著上層抽象軟件和底層具象軟件的重要性越來越受關注,傳統中間件如通用應用服務器和容器的重要性可能將被削弱,形成了一個兩邊高中間低的 M 形狀。

這會催生新一代的中間件,才能讓微服務的開發和部署變得更加容易。在我看來,正在興起的 WebAssembly 技術可能正好契合了這種需求。


作為中間件的 WebAssembly


Webassembly (Wasm) 最初是作為 web 瀏覽器中的一個高性能執行引擎而出現的。支持多語言(還支持像 Rust 這樣的流行新語言) ,多平臺,輕量級,速度快,並且通過模塊化的安全模型提供本地硬件訪問。這些特性使 Wasm 成為本地雲微服務的強大執行引擎。

  • 與 Java 和 JavaScript 虛擬機相比,Wasm 支持更多的編程語言、更輕便,並提供對特殊硬件的訪問。
  • 與 Docker 這樣的容器相比,Wasm 更輕更快。

Wasm程序無需任何改變就可以運行在任意主機上。

Wasm 還有一個更精確的模塊化安全模型,可以訪問本地操作系統和硬件。

瞭解關於服務器端 WebAssembly 的原理和歷史[1]


新的希望


Second State 公司提供了為服務器端應用程序優化的 Wasm 編譯器、運行時和本機硬件模塊。請允許我在這裡給自己的公司打個廣告,介紹一下最近在該領域發佈的兩個開源產品。

  • Second State虛擬機的開發者預覽[2]
  • Second State Wasm 編譯器的開發者預覽[3]


歡迎開發者和我交流看法,發送郵件到 [email protected] 與我聯繫。


展望未來


我們相信,Wasm 將在區塊鏈、人工智能和雲原生的微服務中有廣泛的應用。我們希望在今後的AWS re:Invent看到越來越多的 Wasm 應用。在此之前,讓我們一同參加2020年2月在谷歌舉行的 WebAssembly 峰會(WebAssembly Summit),討論 WebAssembly 在服務器端的前景!

References


[1] 瞭解關於服務器端 WebAssembly 的原理和歷史:
https://juejin.im/post/5ddd1fbbf265da05b6354685
[2] Second State虛擬機的開發者預覽:
https://github.com/second-state/SSVM
[3] Second State Wasm 編譯器的開發者預覽:
https://github.com/second-state/SOLL



分享到:


相關文章: