Serverless 的承諾都兌現了嗎?

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"2009 年,加州大學伯克利分校發佈了一篇論文 《The Berkeley View on Cloud Computing》,正確預測了接下來十年的雲計算演進和普及。2019年,伯克利又發佈了一篇有着相同命名風格的論文 《A Berkeley View on Serverless Computing》,再次預言未來“無服務器計算將會發展成爲未來雲計算的主要形式”。無服務器被寄予厚望,但同時也存在一些爭議。如今,距離2014年Amazon Lambda首次發佈已有七年時間,我們回頭去看,當初那些無服務器的承諾都能兌現了嗎?"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"無服務器的承諾和爭議"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#555f64","name":"user"}}],"text":"“無服務器”術語最早出現在 "},{"type":"link","attrs":{"href":"https:\/\/readwrite.com\/2012\/10\/15\/why-the-future-of-software-and-apps-is-serverless","title":null,"type":null},"content":[{"type":"text","text":"2012 年左右"}]},{"type":"text","text":"的一篇文章裏,作者Ken Fromm對它的解釋是"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#555f64","name":"user"}}],"text":":"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"“無服務器”一詞並不意味着不再涉及服務器,它只是意味着開發人員不再需要考慮那麼多的物理容量或其他基礎設施資源管理責任。通過消除後端基礎設施的複雜性,無服務器讓開發人員將注意力從服務器級別轉移到任務級別。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"雖然不少技術先知認爲無服務器架構是“一項重大創新並將很快流行起來”,但這個概念在提出當時並沒有得到很好的反響。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"真正讓無服務器得到廣泛關注的事件是亞馬遜雲科技於2014年推出 Amazon Lambda服務。之後, 隨着谷歌和微軟等企業的服務進入市場,“無服務器”才逐漸成爲行業“熱詞”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"相較於“傳統服務”,無服務器計算的優勢主要有幾點:"}]},{"type":"numberedlist","attrs":{"start":null,"normalizeStart":1},"content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":1,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在無服務器平臺上,無需用戶自身去維護操作系統。開發人員只需要編寫雲函數,選擇觸發雲函數運行的事件就可以完成工作。例如加載一個鏡像到雲存儲中,或者向數據庫添加一個很小的圖片,讓無服務器系統本身來處理其他所有系統管理的操作,如選擇實例、部署、容錯、監控、日誌、安全補丁等等。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":2,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"更好的自動擴縮容方式,理論上能應對突發的從“零”到“無窮大”的需求峯值。有關擴展的決定由雲提供商按需提供,開發人員不再需要編寫自動擴展策略或定義機器級別資源(CPU、內存等)的使用規則。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":3,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"傳統雲計算按照預留的資源收費,而無服務器按照函數執行時間收費。這也意味着更加細粒度的管理方式。在無服務器框架上使用資源只需爲實際運行時間付費。這與傳統雲計算收費方式形成了鮮明對比,後者用戶需要爲有閒置時間的計算機付費。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"作爲雲計算的下一個迭代,無服務器計算讓開發者可以更關注於構建產品中的應用,而不需要管理和維護底層堆棧,且比傳統雲計算更爲便宜,因此無服務器被譽爲“開發新應用最快速的方式,同時也是總成本最低的方式”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"“伯克利觀點”甚至認爲,無服務器計算提供了一個接口,極大地簡化了雲編程,這種轉變類似於“從彙編語言遷移到高級編程語言”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"從誕生開始,“無服務器”就被寄予了厚望,但在發展過程中也免不了會存在爭議,之前涉及到的一些問題有:"}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"編程語言受限。大多數無服務器平臺僅支持運行特定語言編寫的應用。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"供應商鎖定風險。在“函數”的編寫、部署和管理方式上,幾乎不存在跨平臺的標準。這意味着將“函數”從一個特定於供應商的平臺遷移到另一個平臺非常耗時費勁。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"性能問題如冷啓動。如果某個“函數”之前未在特定平臺上運行過,或是在一段時間內未運行,那麼就需要耗費一些時間做初始化。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"2019年被認爲是無服務器有重大發展的一年。在這一年的年底,亞馬遜雲科技發佈了Amazon Lambda 的“預置併發(Provisioned Concurrency)”功能,它允許亞馬遜雲科技無服務器計算用戶使其函數保持“已初始化並準備好在兩位數毫秒內響應”的狀態,這意味着“冷啓動”問題成爲過去,行業達到一個成熟點。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"雖然這項技術仍然有較長的路要走,但隨着越來越多的公司,包括亞馬遜雲科技、谷歌、微軟在這項技術上的投資,我們看到了無服務器採用率在持續增長。據"},{"type":"link","attrs":{"href":"https:\/\/www.datadoghq.com\/state-of-serverless","title":null,"type":null},"content":[{"type":"text","text":"Datadog 2021 年"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"發佈的無服務器狀態報告,開發人員正加速採用無服務器架構:2019 年之後Amazon Lambda 的使用率顯著增加,2021 年初,Amazon Lambda 函數的平均每天調用頻率是兩年前的 3.5 倍,且半數 Amazon Web Services 新用戶已採用 Amazon Lambda。雖然微軟和谷歌的份額有所上升,但作爲無服務器技術的先驅,Amazon Lambda 在採用率方面一直保持領先地位,有一半的函數即服務(FaaS)用戶在使用亞馬遜雲科技的服務。據Amazon Web Services公佈的"},{"type":"link","attrs":{"href":"https:\/\/www.youtube.com\/watch?v=xZ3k7Fd6_eU","title":null,"type":null},"content":[{"type":"text","text":"數據"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"顯示,已有數十萬家客戶在用Amazon Lambda來構建他們的服務。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"通過Amazon Lambda看無服務器技術的演進"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Amazon Lambda 是一種事件驅動的計算引擎,亞馬遜雲科技在 2014 年 11 月的亞馬遜雲科技 re:Invent 大會上發佈了該功能的預覽版本。這馬上引起了競爭對手的跟進,不少企業紛紛開始在雲上提供類似服務,谷歌於次年2月發佈了Cloud Functions, IBM也於同月發佈了Bluemix OpenWhisk,微軟於次年3月份發佈預覽版Azure Functions,等等。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在Amazon Web Services的產品頁面上,亞馬遜雲科技給Amazon Lambda下的定義是:“用戶無需預置或管理基礎設施即可運行代碼。只需編寫代碼並將其作爲 .zip 文件或容器鏡像上傳即可。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"一個簡單的用例是,西雅圖時報使用無服務器技術自動調整移動、平板電腦和桌面設備顯示所需的圖像大小,每當圖像被上傳到 Amazon Simple Storage Service (S3) ,就會觸發Amazon Lambda 函數調用執行調整圖像大小的功能。西雅圖時報僅在調整圖像大小後才向 Amazon Web Services 付費。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"Amazon Lambda的關鍵進展"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"對於要探索無服務器技術的團隊來說,瞭解 Amazon Lambda 至關重要。無服務器雖然不等於Amazon Lambda,但自 2014 年發佈以來,Amazon Lambda 幾乎已成爲Amazon Serverless服務的代名詞。實際上,Amazon Lambda需要和其它工具一起才能形成一套完整的無服務器架構,比如通過 Amazon API Gateway 發送 HTTP 請求,或調用Amazon S3 存儲桶、Amazon DynamoDB 表或 Amazon Kinesis 流中的資源。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在發佈早期,還只有Amazon S3、Amazon DynamoDB和Amazon Kinesis可用於Amazon Lambda 函數。但自那之後,亞馬遜雲科技又逐步爲Amazon Lambda函數集成了許多其它服務,"},{"type":"link","attrs":{"href":"https:\/\/www.infoq.cn\/article\/jn1xqlu1w39uqe3f63bq","title":null,"type":null},"content":[{"type":"text","text":"例如"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" Amazon Cognito認證、Amazon API Gateway、Amazon SNS 、Amazon SQS、Amazon CloudFormation和 Amazon CloudWatch等等。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/6f\/6f9b3c165c7a65f8e8273eb6da6c0d0f.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在 2014 年推出時,Amazon Lambda 只支持 Node.js,2015年底,Amazon Lambda 中添加了 Java 支持,2016年的時候又添加了 Python 支持。到現在,Amazon Lambda 原生支持 Java、Go、PowerShell、Node.js、C#、Python 和 Ruby 代碼,並提供 Runtime API,允許用戶使用任何其它編程語言來編寫函數。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"使用Amazon Lambda ,用戶除上傳代碼(或在Amazon Lambda控制檯中構建代碼)外,還需要選擇內存、超時時間來創建函數。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"最開始Amazon Lambda 函數超時時長爲 30 秒,後來被延長爲 5 分鐘。2018年10月,Amazon Web Services將超時時長設置爲了15分鐘,從此用戶可以運行時間更長的函數,更加輕鬆地執行大數據分析、批量數據轉換、批量事件處理和統計計算等任務。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Amazon Lambda 函數會根據配置的內存量線性分配 CPU 和其他資源。2020年底,Amazon Lambda 函數的內存上限調整爲了10 GB ,與之前相比增加了3 倍多,這也意味着用戶可以在每個執行環境中訪問多達 6 個 vCPU,可以讓用戶的多線程和多進程程序運行得更快。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在發佈至今這七年裏,Amazon Serverless服務各方面都在不斷改進:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"2016年,亞馬遜雲科技發佈了Amazon Step Functions,可以組合調用多個 Amazon Lambda 函數和其它Amazon服務,將複雜的業務邏輯可視化地表達爲低代碼、事件驅動的工作流。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"2017年,Amazon Lambda的默認併發數提升到了 1000,並提供了分佈式跟蹤工具X-Ray。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"2018年,亞馬遜雲科技發佈了Amazon Aurora Serverless v1版本,正式宣告更復雜的關係型數據庫(RDBMS)也能具備Serverless的特性,實現了雲數據庫基於負載的自動啓停與彈性擴展。隨着雲服務的演化,亞馬遜雲科技相繼發佈了五項Serverless數據庫服務,包括Amazon Aurora Serverless、Amazon DynamoDB、Amazon Timestream(一種時間序列數據庫服務)、Amazon Keyspaces(兼容 Apache Cassandra 的託管數據庫服務)和Amazon QLDB(一種全託管的分類賬數據庫)。目前,Amazon Aurora Serverless 已從v1版進化到v2版,Aurora Serverless v2可以在一秒內將數據庫工作負載從數百個事務擴展到數十萬個事務,與爲峯值負載配置容量的成本相比,最多可節省 90% 的數據庫成本。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"2019年,亞馬遜雲科技發佈了Amazon EventBridge,它是一種無服務器事件總線服務,作爲集中式樞紐連接到Amazon Web Services服務、自定義應用程序和 SaaS 應用程序,提供從事件源到目標對象(例如 Amazon Lambda 和其他 SaaS 應用程序)的實時數據流。現在Amazon Lambda可與200多種Amazon Web Services服務和SaaS應用程序相集成。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"同年,亞馬遜雲科技還推出了Amazon S3 Glacier Deep Archive,進一步按讀寫冷熱程度完善了"},{"type":"link","attrs":{"href":"https:\/\/www.serverless.com\/\/guides\/amazon-s3","title":null,"type":null},"content":[{"type":"text","text":"S3存儲服務的智能收費檔次"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"2021年Amazon Lambda計費功能調整爲了1ms級別,並且還提供了容器鏡像支持,以及Amazon Graviton2 處理器支持,與基於 x86 的同類產品相比,Amazon Graviton2 性價比最高可"},{"type":"link","attrs":{"href":"https:\/\/awsteele.com\/blog\/2021\/09\/29\/graviton2-arm-comes-to-lambda.html","title":null,"type":null},"content":[{"type":"text","text":"提升 34%"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"冷啓動和廠商鎖定"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"“冷啓動”的性能改善算得上是一次標誌性事件。FaaS平臺初始化函數實例需要一些時間。即使對於同一個特定的功能,不同的平臺之間這種啓動延遲可能會有很大差異,從幾毫秒到幾秒不等,取決於使用的庫、函數配置的算力等大量因素。以 Amazon Lambda 爲例,Amazon Lambda 函數的初始化要麼是“熱啓動”,要麼是“冷啓動”。“熱啓動”是從前一個事件中重用Amazon Lambda 函數的實例及其宿主容器,“冷啓動”需要創建一個新的容器實例,啓動函數宿主進程。在考慮啓動延遲時,“冷啓動”更受關注。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"亞馬遜雲科技在2019年提供了一項名爲“預置併發("},{"type":"link","attrs":{"href":"https:\/\/aws.amazon.com\/cn\/blogs\/compute\/new-for-aws-lambda-predictable-start-up-times-with-provisioned-concurrency","title":null,"type":null},"content":[{"type":"text","text":"Provisioned Concurrency"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":")” 的重要新功能,通過讓函數保持初始化狀態,從而更精確地控制啓動延遲。用戶需要做的就是設置一個值,指定平臺需要爲特定功能配置多少個實例,Amazon Lambda服務本身將確保始終有該數量的預熱實例等待工作。“冷啓動”無疑是無服務器技術批評者指出的最大問題,而亞馬遜雲科技這項功能的出現,代表着關於“冷啓動”的爭議已經結束。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"除此之外,“廠商鎖定”也是一個極具爭議的地方。幾年前,作爲無服務器技術的反對方,CoreOS 首席執行官 Alex Polvi 稱 Amazon Lambda無服務器產品“是我們在人類歷史上見過的最糟糕的專有鎖定形式之一”。而爲MongoDB工作的"},{"type":"link","attrs":{"href":"https:\/\/www.techrepublic.com\/article\/cloud-lock-in-why-the-enterprise-doesnt-care","title":null,"type":null},"content":[{"type":"text","text":"Matt Asay撰文反駁"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"他說,“完全避免鎖定的方法是自己編寫所有底層軟件(事件模型、部署模型等)”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"總之,作爲支持方,很多人認爲“鎖定”並不是一件非黑即白的事情,而是本身需要反覆權衡的一種架構選擇。還有"},{"type":"link","attrs":{"href":"https:\/\/www.thoughtworks.com\/en-sg\/insights\/blog\/mitigating-serverless-lock-fears","title":null,"type":null},"content":[{"type":"text","text":"技術專家"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"表示,可以採用將應用程序和平臺分離的設計方式,以及標準化技術的方法最小化遷移成本:如果使用標準化的HTTP,那麼可以使用 Amazon API Gateway 將 HTTP 請求轉換爲Amazon Lambda 事件格式;如果使用標準化的SQL,那麼使用與 MySQL 兼容Amazon Aurora Serverless,可以自然地簡化數據庫的遷移路徑......"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"最佳實踐案例"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"發展到現在,用戶在哪些場景下會使用無服務器計算?實際上,每年的亞馬遜雲科技 re:Invent 大會都會有一些團隊給大家"},{"type":"link","attrs":{"href":"https:\/\/aws.amazon.com\/cn\/lambda\/resources\/customer-talks","title":null,"type":null},"content":[{"type":"text","text":"分享實踐"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"經驗,其中不乏具有代表性的案例。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/a1\/a1d2413e24ea650d5dc02c2b0fdcf8a2.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在2017年的亞馬遜雲科技 re:Invent 會議上,"},{"type":"link","attrs":{"href":"https:\/\/www.youtube.com\/watch?v=lleCVR2Mupw","title":null,"type":null},"content":[{"type":"text","text":"美國電信Verizon 的 Revvel 團隊"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"介紹了他們如何使用 Amazon Lambda 和 Amazon S3 進行視頻不同格式的轉碼。早先團隊使用的是EC2實例,如果視頻長達2小時或大到幾百G,問題就變得很棘手,高清轉換可能需要4-6個小時,而轉換工作中途一旦停止或中斷就意味着前功盡棄。所以,Revvel 團隊採用的新方法是將視頻分爲5M的小塊分別存儲在Amazon S3存儲桶中,然後用Amazon Lambda啓用上千實例並行計算,完成轉碼後再合併成一個完整的視頻,整個過程縮短到不足10分鐘,費用也降低到了原來的十分之一。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在2020年的亞馬遜雲科技 re:Invent 會議上,Coca-Cola的Freestyle 設備創新團隊分享了他們的"},{"type":"link","attrs":{"href":"https:\/\/aws.amazon.com\/cn\/solutions\/case-studies\/coca-cola-freestyle\/?pg=ln&sec=c","title":null,"type":null},"content":[{"type":"text","text":"非接觸式售賣機解決方案"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":":使用 Amazon Lambda 和 Amazon API Gateway 構建後端託管服務,前端使用Amazon CloudFront ,從而可以在一週內推出原型,並在三個月內將 Web 應用程序從原型擴展到 10000 臺機器,進而在疫情期間快速佔領市場。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在今年的亞馬遜雲科技 re:Invent 會議主題演講裏,Werner Vogels博士講述了New World Game多人遊戲中的"},{"type":"link","attrs":{"href":"https:\/\/www.youtube.com\/watch?v=8_Xs8Ik0h1w","title":null,"type":null},"content":[{"type":"text","text":"無服務器解決方案"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。這是一款非常複雜的大規模分佈式實時遊戲,可處理30次\/s的動作或狀態,重繪和計算需要大量的CPU資源。它通過每30秒80萬次寫入將用戶的狀態存儲在Amazon DynamoDB中,這樣用戶即使意外中斷遊戲也能及時恢復到之前的遊戲狀態。同時通過日誌記錄用戶操作,然後使用Amazon Kinesis傳輸日誌事件,速度可達2300萬事件\/分鐘,隨後將事件流推送到Amazon S3中,再用Amazon Athena進行分析處理。利用該數據流,團隊可即時預測遊戲用戶行爲和更改遊戲中的策略。遊戲環境中的運營,比如登錄、交易、通知等操作事件,都是通過Amazon Lambda無服務器計算來實現的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"無服務器在這款多人遊戲中發揮了非常重要的作用,但這種大型架構也對無服務器的性能提出了非常大的挑戰。Amazon Lambda達到了每分鐘1.5億次的調用頻率,這比行業裏的平均水準高出數倍。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/d2\/d2615b2adfddaa5d555b1be7d530dc40.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"無服務器的未來"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在今年年底,亞馬遜雲科技一口氣推出了五款無服務器產品:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/aws.amazon.com\/cn\/blogs\/aws\/introducing-amazon-redshift-serverless-run-analytics-at-any-scale-without-having-to-manage-infrastructure","title":null,"type":null},"content":[{"type":"text","text":"Amazon Redshift Serverless"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",可自動配置計算資源,使用SQL跨數據倉庫、運營數據庫和數據湖分析結構化和非結構化數據。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/aws.amazon.com\/cn\/blogs\/big-data\/announcing-amazon-emr-serverless-preview-run-big-data-applications-without-managing-servers","title":null,"type":null},"content":[{"type":"text","text":"Amazon EMR Serverless"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"(預覽版),是Amazon EMR中的一個新選項,讓數據工程師和分析師能夠藉助"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#333333","name":"user"}}],"text":"開源分析框架,例如 Apache Spark、Hive 和 Presto,"},{"type":"text","text":"在雲中運行 PB 級數據分析。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/aws.amazon.com\/cn\/about-aws\/whats-new\/2021\/11\/amazon-msk-serverless-public-preview","title":null,"type":null},"content":[{"type":"text","text":"Amazon MSK Serverless"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"(公開預覽版), 全新類型的 Amazon MSK 集羣,完全兼容 Apache Kafka,且無需管理Kafka的容量,服務會自動預置和擴展計算及存儲資源。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/aws.amazon.com\/cn\/blogs\/aws\/amazon-kinesis-data-streams-on-demand-stream-data-at-scale-without-managing-capacity","title":null,"type":null},"content":[{"type":"text","text":"Amazon Kinesis On-demand"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",用於大規模實時流數據處理,服務會自動按需擴展和縮減。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/aws.amazon.com\/cn\/about-aws\/whats-new\/2021\/12\/amazon-sagemaker-serverless-inference","title":null,"type":null},"content":[{"type":"text","text":"Amazon SageMaker Serverless Inference"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"(預覽版),讓開發者無需配置或管理底層基礎設施即可部署機器學習模型進行推理,按執行時間和處理的數據量付費。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"由此,我們可以看到雲上的Serverless服務越來越多,無服務器計算的能力已經從計算、存儲、數據庫服務擴展到數據分析,以及機器學習的推理。以前機器學習的推理需要啓動大量的資源來支撐峯值請求。如果使用EC2推理節點,空閒資源會推高成本,而使用Amazon Lambda服務,就不需要再考慮集羣節點管理這些事情,服務會根據Workload自動預置、擴展和關閉計算容量,只爲執行時間和處理的數據量付費,相比之下能節省很多。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Amazon Serverless服務在不斷進化的同時,計算架構也在不斷改進,比如用戶可以將原來的Intel x86處理器,通過平臺提供的選項配置爲Amazon Graviton2 ARM處理器,性能更快且能便宜20%。有技術專家認爲,平臺也會朝着更智能的方向發展,“現在需要用戶改配置選擇更便宜的ARM處理器,未來服務完全可以做到自動選擇計算平臺。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"作爲雲計算的一種演進方式,無服務器的願景必定會改變我們對編寫軟件的看法。以前從來沒有一種方法可以像雲計算這樣考慮如何使用數百萬個處理器內核和 PB 級內存進行設計,而現在無服務器已經進入到通用和可用的階段,用戶無需考慮如何管理這些資源。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"就像Werner Vogels博士在主題演講裏講的那樣:“如果不用雲計算,這些大型架構根本無法實現。所以現在,用屬於21世紀的架構去隨心構建你夢想的系統吧(Build systems the way you always wanted to,but never could)。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/dc\/dcaacf89705a6065cd4c38753857586f.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"參考資料:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/www.datadoghq.com\/state-of-serverless\/","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/www.datadoghq.com\/state-of-serverless\/"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/readwrite.com\/2012\/10\/15\/why-the-future-of-software-and-apps-is-serverless\/","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/readwrite.com\/2012\/10\/15\/why-the-future-of-software-and-apps-is-serverless\/"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/www.youtube.com\/watch?v=xZ3k7Fd6_eU","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/www.youtube.com\/watch?v=xZ3k7Fd6_eU"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/www.serverless.com\/\/guides\/amazon-s3","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/www.serverless.com\/\/guides\/amazon-s3"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/aws.amazon.com\/cn\/blogs\/compute\/new-for-aws-lambda-predictable-start-up-times-with-provisioned-concurrency\/","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/aws.amazon.com\/cn\/blogs\/compute\/new-for-aws-lambda-predictable-start-up-times-with-provisioned-concurrency\/"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/www.techrepublic.com\/article\/cloud-lock-in-why-the-enterprise-doesnt-care\/","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/www.techrepublic.com\/article\/cloud-lock-in-why-the-enterprise-doesnt-care\/"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/www.thoughtworks.com\/en-sg\/insights\/blog\/mitigating-serverless-lock-fears","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/www.thoughtworks.com\/en-sg\/insights\/blog\/mitigating-serverless-lock-fears"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/martinfowler.com\/articles\/oss-lockin.html","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/martinfowler.com\/articles\/oss-lockin.html"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/aws.amazon.com\/cn\/lambda\/resources\/customer-talks\/","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/aws.amazon.com\/cn\/lambda\/resources\/customer-talks\/"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"美國電信Verizon案例:"},{"type":"link","attrs":{"href":"https:\/\/www.youtube.com\/watch?v=lleCVR2Mupw","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/www.youtube.com\/watch?v=lleCVR2Mupw"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Coca-Cola Freestyle案例: "},{"type":"link","attrs":{"href":"https:\/\/aws.amazon.com\/cn\/solutions\/case-studies\/coca-cola-freestyle\/?pg=ln&sec=c","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/aws.amazon.com\/cn\/solutions\/case-studies\/coca-cola-freestyle\/?pg=ln&sec=c"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"New World Game多人遊戲案例:"},{"type":"link","attrs":{"href":"https:\/\/www.youtube.com\/watch?v=8_Xs8Ik0h1w","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/www.youtube.com\/watch?v=8_Xs8Ik0h1w"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章