受騰訊云 Serverless 團隊之邀,Tim Wagner 在 Techo 開發者大會上為中國開發者發表了Keynote演講,演講中 Tim 發表了對 Serverless 技術的最新洞見和趨勢解讀,Tim Wagner 是 AWS Lambda的創始人,作為業界最早的 Serverless 實踐者,他無愧于 Serverless 教父之位,

本文內容整理自 Tim Wagner的演講實錄,由騰訊云 Serverless 團隊進行翻譯、校對和整理,下面就讓我們一起再次回顧一下,Serverless教父的這次精彩的主體演講,本文約3700字,閱讀時間約 9 分鐘,

原作者:Tim Wagner,翻譯&校對:王俊杰、劉傳

大家好,我是Tim Wagner,Vendia CEO和聯合創始人,我的整個職業生涯都在努力讓軟體和應用程式更容易開發,
早在2013年,我就找到AWS的高管團隊探討一個想法,是否能夠通過將確保程式運行的大部分復雜性作業從開發者轉移到云提供商,從而使得在云上創建應用程式變得更加簡單,云提供商已經擁有大量的專業知識、出色的運維工具和大量專業人員,致力于保持服務器和存盤服務全天候不間斷平穩運行,讓開發者不必擔心擴縮容、容錯或基礎設施維護,這會使軟體構建變得容易得多,
基于這個想法,AWS Lambda誕生了,盡管我們沒有使用Serverless這個詞,但它是云計算領域出現Serverless的開端 —— 一種無需考慮服務器和容器便可大規模運行代碼的方式,今天我想分享一些洞察,關于云,尤其是Serverless的發展方向,

在此之前,我們需要先回顧一下云計算的歷史發展,我將云計算分為三次浪潮,
第一次大約從2006年到2014年,主要是特征是在企業資料中心之外托管服務器,
對于那些較早的云使用者,我們稱他們為探索者,當時顛覆性的變化是虛擬機能夠在10分鐘之內運行起來,在這次浪潮中幾乎不涉及Serverless,這些探索者尋求的是遷移的兼容性,而不是云所帶來的新功能,而這意味著云服務與傳統服務器托管服務的差異盡可能小,此外,這些探索者通常都是分布式系統專家,在許多情況下,他們都會帶著自己的原有的流程和運維團隊來處理擴展、容錯和操作維護等問題,
第二波浪潮,建立在第一波基礎之上,比方說,AWS Lambda是完全基于現有服務(例如EC2和S3)構建的第一個服務,而不是直接使用裸金屬硬體構建的,第二波浪潮直到我們創造出那些新的云計算技術和云計算能力,才算真正開始,
第二波開發者實際上和以往已經有所不同,他們不再專注于純粹的系統遷移,他們愿意學習和采用新技術、新的做事方式,實作更快的上線速度、更高的開發效率、更高的安全性或更好的客戶體驗,包括 Serverless計算、Serverless佇列、Serverless資料庫、Serverless BLOB存盤,云服務上將這一套技術提供給開發人員,這些開發者我們稱他們為“定居者”吧,他們有更簡單、更方便的工具,而不是一切都從繪制草圖開始,
這還永遠改變了云服務商和開發者之間的關系,云服務商不再只是原始的基礎設施租賃公司,他們現在會關注每個開發者應用程式的業務細節,這是一個巨大的觀念轉變和新的職責,因為現在云服務的性能和功能,不僅直接影響到人們可以在云上構建什么,還包括這些應用程式的運行情況,以及它們滿足客戶期望的程度,
第二波浪潮里的開發者與云服務商達成了一項至關重要的默契 —— 開發者愿意學習這些新的技術,并修改代碼去適配這些新的服務,以獲得更好的收益,比如,更低的成本、更簡單的模式(如事件處理、自動擴縮容),不再需要考慮配置容量或關注服務器健康程度,所有這些都是對開發者改變軟體撰寫方式的驅動力和優勢,這些優勢推動了Serverless的成功,如今,財富500強企業幾乎都表示在使用Serverless服務,而且越來越多的開發者自接觸云便從Serverless開始,
那么下一步是什么?今天我們正處于這一激動人心的新階段的開端:我稱之為第三次云技術浪潮,
這些新浪潮下的開發者再一次看起來跟之前的開發人員完全不同,第三次浪潮里的開發者,好比成長于云時代的 “城市規劃師” ,如今,進入這一行業的開發者,可能永遠不會真正看到服務器,他們中的許多人永遠不會看到資料中心或用到運維方法論,對他們來說,云原生這個術語甚至沒有任何意義 —— 因為他們一開始就處在云原生的時代,總的來說,這些開發者都是實用主義者,有大量的專業軟體工程師,用云提供的工具就可以完成他們的作業,
是什么在驅動云計算的第三波浪潮呢?
這一切,都是為了可以更加容易和方便的使用云服務去編程,熟悉的工具和框架消除了無差別的繁重作業,標準的部署流程,能夠使開發者在跳槽時,都能將從一家公司學習的技術應用于其他公司,這些技術標準,也使在不同環境中的技術復用成為可能,進一步,云為開發者創造了解決方案,而不僅僅是給他們提供新技術,
這些對于 Serverless 意味著什么?
首先,意味著需要非常廣泛的用例,Serverless 最開始只有幾個用例,比如事件處理,最初,像冷啟動這樣的問題,限制Serverless在低延遲場景中的應用,所以,要在第三次浪潮中取得成功,Serverless技術必須消除冷啟動等問題,并可以更快速的進行擴容,目前已經看到云廠商解決了這些問題,最新一代的Serverless計算方案,現在幾乎可以滿足任何應用需求,
其次,第三波浪潮中的Serverless需要與現有工具和框架無縫銜接搭配使用,比如,支持容器鏡像等標準,這并不意味著讓開發人員再次面臨運維服務器和容器的挑戰,這只意味著應用程式構建和部署工具需要標準化和可移植性,
最后,第三波浪潮需要滿足開發人員的實際需求:支持現有的語言和框架,并為代碼和配置提供跨云的標準(好比 docker 映像),以幫助開發人員在不同的環境中保留和復用他們的技術和代碼,我們已經看到該領域的每個云提供商都提供了驚人的、變革性的產品,這使得Serverless 的應用更加簡便,并能夠逐年產生更多的 Serverless 應用案例,
Serverless的未來是什么?基于我已經談到的兩個令人興奮的趨勢,我可以給你們兩個預測,
首先,我們都聽說一個壞訊息 —— 摩爾定律已經失效!計算機芯片并沒有真正變得更快,記憶體密度也沒有大幅提高 —— 至少沒有以過去的速度增長,計算機性能每隔幾年翻一番的想法已經結束了,不是嗎?
云計算取決于三大要素,不僅僅是CPU、記憶體,還有網路,云資料中心的聯網速度仍在逐年以驚人的速度變得更快,這對Serverless來說真的是個極好的訊息,在聯網速度很慢的年代,云上的高性能計算的本質上取決于服務器,其作業方式基本上與10到15年前相同,比如,你在云上擁有幾臺多核CPU和大記憶體的大型實體,如果你現在正在計算密集型業務:例如機器學習或者蒙特卡洛模擬計算,那么您可能會以完全相同的方式進行,即分配這些強健的服務器實體,然后在上面運行計算密集型任務,
但隨著網路相對于CPU和記憶體變得更快,情況突然發生了變化,突然之間,分布式存盤和分布式計算與傳統大型計算實體開始競爭,開發者開始考慮,在哪里可以輕松獲得大量的計算資源—— 答案就是 Serverless 云函式,
為什么是 Serverless 函式? 在過去的50年里,分布式計算研究人員專注于基于服務器的模型,擁有無限的時間和有限的資源, Serverless計算徹底顛覆了這一切,開發人員現在擁有無限的資源,但時間有限,,這就需要大量新的演算法和新的研究,
在過去的幾年里,Serverless 領域的研究呈爆炸式增長,關于Serverless存盤、Serverless計算、以及影像處理和線性規劃等 Serverless 應用的論文有很多,大學已經開展了越來越多的研究來探索這一新的范式,這從根本上是由摩爾定律在網路空間中依然有效所驅使的,而Serverless 云產品也因此越來越好,這是一個令人例外興奮的時期,這將導致 Serverless 技術在第三次云計算浪潮中得到更多的采用,基于 Serverless 現在每個開發人員在云中部署代碼時,都可以獲得一臺易于使用、易于編程的“超級計算機”,
再談談我的第二個預測,我將從一個棘手的問題開始——如果 Serverless 這么棒,為什么我們仍然在使用服務器?比較中肯的答案是,狀態管理和共享仍然很困難,半個世紀以來,程式員一直在努力解決,如何構建一些跨公司、跨地區、跨賬戶、跨云、跨技術堆疊應用程式的問題,Serverless 計算使其中一些模式成為可能,例如同步事件處理、更簡單有效的編程方法,但是它還沒有解決所有這些挑戰和問題,
為什么會這樣呢?盡管 Serverless 有很多優點,Serverless計算仍然存在挑戰:這些服務通常只在一個云上運行,一般的 Serverless 函式都沒有內置的資料模型和持久化存盤,這讓你的應用程式跨不同地區、或跨云作業仍然非常棘手,目前當這些問題出現時,開發人員會使用一些不同的工具和方法來去解決,
現在證明區塊鏈的基礎技術——分布式賬本,實際上可以解決其中的一些難題,分布式賬本天生就是去中心化的,它們通過使用復制和同步的資料存盤跨越云、區域和帳戶,并提供易于編程的資料模型和ACID事務,就像傳統的SQL資料庫一樣,
第一代區塊鏈作為一個軟體平臺并不是很有效,每個節點都在單個服務器上運行,從而將其計算、記憶體和網路資源限制為極少的數量,并很難與其他云服務集成,也不能處理大型檔案或多媒體等重要的實時資料,
我創辦Vendia公司的原因之一,就是利用這兩類技術之間令人興奮的交集,
通過使用Serverless 服務重建分布式賬本,我們可以在每個節點中放置一臺超級計算機,從而解決困擾第一代區塊鏈技術的性能、集成和部署挑戰,
通過將易于編程、一致資料模型的分布式賬本附加到Serverless函式中,我們可以使客戶訪問Serverless 編程模型,該模型能夠跨越公司,云,地理位置甚至技術堆疊,
這種技術標準之下,開發人員能夠以前所未有的靈活性、可擴展性和簡單性創建可移植的跨云應用程式,這樣的創新正在推動新一代Serverless應用程式的發展,這些應用程式將最好的服務與最好的傳統應用程式結合在一起,
Serverless 自出現以來經歷了令人驚訝的增長速度,Serverless技術的未來看起來從未像現在這樣光明,Serverless 將為每個開發者提供了超級計算機般的性能,提供有狀態、更輕便的應用程式支持、以及鏈接萬物的能力,這將推動云計算的新浪潮即將到來,幫助我們比以往任何時候都更快、更好地為客戶提供更多價值,
One More Thing
立即體驗騰訊云 Serverless Demo,領取 Serverless 新用戶禮包 ?? serverless/start
歡迎訪問:Serverless 中文網!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/242751.html
標籤:其他
上一篇:API研發實作規范化管理的價值
