從實踐出發,解鎖 Serverless 的不同面

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"2012 年,Serverless 這一概念首次被提出,直到亞馬遜商用 "},{"type":"link","attrs":{"href":"https:\/\/aws.amazon.com\/cn\/lambda\/","title":"xxx","type":null},"content":[{"type":"text","text":"Lambda"}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 函數,才被大家熟知。Serverless 和很多詞比如微服務一樣,是沒有精確定義的,也沒有事實的標準。雖然現在大家都在提 Serverless First,但在技術選型和落地實踐等方面還有不少顧慮。"}]},{"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":"11 月 1 日,"},{"type":"link","attrs":{"href":"https:\/\/www.infoq.cn\/video\/EpSSZ1ljK0fSDTcB9PIC","title":null,"type":null},"content":[{"type":"text","text":"InfoQ 大咖說"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 邀請到了阿里雲資深技術專家不瞋來做 Serverless 的技術分享。不瞋從 Serverless 誕生聊到未來,並結合自身多年實踐經驗爲大家詳細講解了 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":"不瞋是阿里雲 Serverless 產品體系的負責人,也是國內 Serverless 的早期實踐者。以下內容節選自當天的分享,InfoQ 做了不改變原意的編輯:"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"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"}},{"type":"strong"}],"text":"InfoQ:首先請不瞋跟大家做一下自我介紹,包括職業經歷,目前在做的事情等等。"}]},{"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"}},{"type":"strong"}],"text":"不瞋:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"大家好,我是不瞋,不瞋是我的花名,我的真名叫楊皓然。我是 2010 年加入阿里雲,當時主要做飛天平臺的研發工作。從 2016 年開始,我轉向 Serverless 的研發工作,現在主要負責 Serverless 相關的產品包括函數計算 FC、Serverless 應用引擎 SAE、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"}},{"type":"strong"}],"text":"InfoQ:Serverless 這個概念被提出來已經近十年了,到現在很多人都在提 Serverless 甚至是 Serverless First。但 Serverless 和很多詞比如微服務一樣,是沒有精確定義的,也沒有事實的標準。我們想從業內專業的角度聽聽您是怎麼看 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"}},{"type":"strong"}],"text":"不瞋:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Serverless 的術語是比較新鮮的,但 Serverless 的產品形態其實早已有之。比如阿里雲的第一個雲服務對象存儲 OSS,亞馬遜雲科技第一個雲服務 S3。它們其實是 Serverless 形態的存儲服務,用戶只需要用簡單的 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":"這些都是因爲屏蔽掉 Server 的複雜度,讓用戶有一個非常簡潔的 Serverless 產品形態。所以 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":"更早一點,2010 年我剛加入阿里雲做飛天系統。阿里雲的飛天操作系統最初是管理數千臺的機器來執行大數據處理。用戶的編程界面是 MapReduce 任務,SQL 語句等等來處理海量數據。這也是 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":"但 Serverless 這個概念,是在 2015 年 亞馬遜雲科技正式商用 Lambda 後變得流行了。背後原因其實是雲的產品體系一直在 Serverless 化。無論是阿里雲,Azure 還是亞馬遜雲科技,絕大多數新產品都是全託管的 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":"按照這些的邏輯,越來越多的雲產品都是全託管、Serverless 的形態。當雲的產品體系 Serverless 化達到一個臨界值,通過函數計算這樣的 Serverless 計算服務結合其他 Serverless 形態的雲服務,能夠完整實現整個應用時,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"}},{"type":"strong"}],"text":"InfoQ:那麼 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"}},{"type":"strong"}],"text":"不瞋:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我自己的體感是在 2017-2018年,Serverless 熱度達到了頂峯,但和很多新興技術一樣,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":"從 Serverless 這十年的發展來看,無論是學術界還是工業界,都認爲這是一項顛覆式的技術,在提升研發效率,資源效率上有巨大的潛力。所以亞馬遜雲科技 Lambda 推出後,Serverless 變成了很火熱的概念,而且亞馬遜雲科技也確實在 All in 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":"另外,我認爲現在 Serverless 處於穩步上升期,我們能看到業界最主要的雲服務商在不斷的推出不同形態的 Serverless 計算服務,比如 "},{"type":"link","attrs":{"href":"https:\/\/cloud.google.com\/run","title":"xxx","type":null},"content":[{"type":"text","text":"Google Cloud Run"}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",亞馬遜雲科技 App Runner,阿里雲的 Serverless 應用引擎 "},{"type":"link","attrs":{"href":"https:\/\/www.aliyun.com\/product\/sae","title":"xxx","type":null},"content":[{"type":"text","text":"SAE"}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。即使阿里雲的函數計算這類最傳統的 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":"我們能看到無論阿里集團還是阿里雲上,"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"開發者也對 Serverless 的認識越來越客觀、務實"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",在越來越多的場景中使用 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":"所以我認爲 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"}},{"type":"strong"}],"text":"InfoQ:我們經常看到 Serverless 和微服務被一起提及,有人說 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"}},{"type":"strong"}],"text":"不瞋:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我覺得 Serverless 和微服務不是一個層面的概念。微服務是一種架構理念,而 "},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"Serverless 可以看作是承載應用運行的基礎設施"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。用戶以微服務構建應用,可以運行在 Serverless 平臺上,也可以運行在 VM 或者容器平臺上。"}]},{"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 或者非 Serverless 的產品。比如可以自己搭建數據庫,也可以選擇全託管,Serverless 產品的數據庫。同理,用戶可以在 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":"但確實,我認爲 Serverless 和微服務架構配合是更好的。因爲微服務架構背後蘊含的松耦合,更細粒度的開發和運維發佈邊界,更敏捷的應用發佈頻度等理念,和 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":"比如應用採用微服務架構後,在開發調試,流量控制,負載均衡和容錯處理,可觀測性等方面都會面臨挑戰。這裏面有很多部分都被 Serverless 平臺內置的能力簡化了,比如 Serverless 平臺內置了流控、多維度自動伸縮,負載均衡和容錯,能夠很好的支撐 Stateless 應用的彈性高可用。"}]},{"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 架構也在問題診斷和可觀測性上和用戶原有體驗不一致,這是所有廠商要重點解決的。我相信在未來,大部分微服務應用都將以 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"}},{"type":"strong"}],"text":"InfoQ:那麼什麼樣的企業,什麼樣的業務適合 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"}},{"type":"strong"}],"text":"不瞋:"},{"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"}},{"type":"strong"}],"text":"所以無論是 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":"從場景來看,今天 Serverless 在 API serving、微服務、Web 單體應用、基於事件驅動的數據處理、離線批處理任務等場景已經很成熟,在研發效率和成本上都有優勢。"}]},{"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 是比較合適的。"}]},{"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":"落地案例解釋 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"}},{"type":"strong"}],"text":"InfoQ:剛纔開始您也提到了 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"}},{"type":"strong"}],"text":"不瞋:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我們其實經歷了一個從 Serverless 非常受關注到落地困難,再到看到 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":"我個人覺得 Serverless 落地困擾最大的挑戰還是在於給開發者安全感。因爲 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":"這種安全感的擔憂主要來自於兩方面。"}]},{"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":"Serverless 讓應用更深度的依賴了雲服務商的能力,如何避免 vendor lock-in,就是供應商鎖定?我從一個雲遷移到另一個雲會有什麼障礙?"}]}]}]},{"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":"2","normalizeStart":"2"},"content":[{"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":"雲廠商接管了應用的運行平臺,怎麼能給我控制力?比如我怎麼能看到足夠豐富的指標來優化應用或者掌控應用運行的情況?雲平臺出問題了怎麼辦?出現問題時,我有什麼手段能快速查明問題,恢復服務?"}]}]}]},{"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"}},{"type":"strong"}],"text":"InfoQ:阿里作爲在這個領域深耕多年的引領者,是如何解決這兩個問題的,是否有已經落地的案例來給大家講解一下?"}]},{"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"}},{"type":"strong"}],"text":"不瞋:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"對於問題 1 供應商鎖定。阿里雲是以公有云、阿里集團、開源三位一體的方式打造 Serverless 產品,堅定的擁抱開源開放。阿里雲函數計算的 Runtime 運行時採用無侵入的標準的 http-server 協議,用戶使用 Golang 或者 PHP 寫的 Web server 放上來就可以跟 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":"另外函數計算的可觀測能力基於開源開放的 OpenTelemetry、OpenTracing 等標準。我們推出的 Serverless Devs 工具鏈也是開源開放的,提供了多個雲廠商的 Serverless 應用部署的能力。承載阿里雲事件生態的 EventBridge 也是採用 CNCF CloudEvents 開放標準。這些都是希望開發者能夠通過開源開放的方式來使用產品。未來,我們會積極推進 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":"對於問題 2,最主要的是要做好產品設計的平衡,既能給開發者控制力,又能減小開發者的複雜度。阿里雲函數計算把給開發者安全感看作最重要的事情。我們在可觀測性上是業界首個,也是目前唯一一個透出了實例級別的指標,讓用戶能更容易調優 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":"在未來,我們會將系統事件和狀態以合適的方式透出給開發者,讓他們能更容易預期系統的行爲。我們也會在問題診斷等方面開放更多的能力,去貼合開發者已有的開發習慣,讓他們能更平滑的使用 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"}},{"type":"strong"}],"text":"InfoQ:不瞋還有其他的案例分享嗎?"}]},{"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"}},{"type":"strong"}],"text":"不瞋:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我可以給大家分享幾個在我們平臺上的幾個經典案例,一個就是網易雲音樂。雲音樂的產品背後,實際有非常多的算法服務支撐,比如多種碼率的音頻轉碼、聽歌識曲中應用的音頻指紋生成和識別、副歌檢測、小語種音譯歌詞等等。這些任務的資源需求和執行時間變化很大,使用 C++,Python 等多種語言實現,對算力的彈性要求非常大。"}]},{"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":"原先網易是在自己的數據中心搭建這樣一個算法服務平臺,落地了 60+ 音視頻算法,對接 100+ 的業務場景。但隨着業務增長,基礎設施管理的負擔越來越大。雖然通過了很多方式去簡化了內部業務場景、算法等的對接,但越來越多夾雜存量、增量處理的算法;不同流量的業務場景規模,以及不同業務場景可能會複用同一類算法的,導致在業務上的時間越來越少。"}]},{"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":"比如上線一種新算法,首先要對超過 6000 萬首存量歌曲進行處理,這要求平臺在短時間內彈出大量算力,可靠的執行任務,同時提供完善的應用、實例等多維度的監控信息。這些需求是非常匹配函數計算的。網易在函數計算上高峯期一天處理超過 2000 萬個任務,算法應用到業務 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":"網易這個案例最有意思的點,在於他們在應用層融合了自有機房和公有云上的服務。以往大家談到 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":"另一個比較有意思的案例是南瓜視頻使用 SAE 實現傳統微服務應用的零遷移改造,只用了一週就完整遷移到 SAE 平臺。"}]},{"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":"南瓜原有的微服務平臺面臨幾個挑戰:1)運維成本高,要管理基礎設施,要規劃網絡,要升級系統等等,大量的時間花在這些低價值的工作上,而不是專注於業務的發展;2)機器難以規劃容量。熱點電影經常造成訪問熱點,臨時擴容操作複雜,慢。南瓜經歷了業務的爆發式增長,因爲一部熱映電影,1 小時新增 80 萬註冊用戶,比正常流量高了80倍。系統很快就崩了。"}]},{"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":"這次經歷促使南瓜進行了技術升級。用戶也對比了 K8s 和 SAE,最後認爲要玩轉 K8s ,需要組建好專業團隊,代價不小。SAE 的產品形態非常有親和力,南瓜只花了很短的時間就遷移到 SAE,現在所有的應用都運行在 SAE 上。"}]},{"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":"最後一個案例是內部的高德,用函數計算實現 API 服務,在十一等出行繁忙的時候,它在函數計算上的峯值 tps 接近 50萬,日平均 tps 也有35萬。我們相信這是業界流量最高,最繁忙的一個 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"}},{"type":"strong"}],"text":"InfoQ:在應用 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"}},{"type":"strong"}],"text":"不瞋:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在技術層面,Serverless 沒有特別難解的問題,都是可以攻克的。最難的還是"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"心智教育,標準化和生態建設"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。技術的演進不是一蹴而就的,就像 PC 時代高級語言、軟件工程的發展也是經過很長時間的累積。我絕對相信雲是下一個十年最有影響力的平臺。未來的開發者,第一天開始編程就是在雲上,接觸的是雲原生的編程理念,他們是雲的原住民。"}]},{"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"}},{"type":"strong"}],"text":"InfoQ:關於開發者心智挑戰或者角色轉變上,您有沒有比較好的建議?(擔心技術轉型的問題)"}]},{"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"}},{"type":"strong"}],"text":"不瞋:"},{"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":"另外就是要對技術保持開放式的態度,更有好奇心。像容器、Serverless 等新興技術都做一些瞭解,先上手實驗,有一些體感,對比他們各自的優劣,然後去理解這些技術趨勢背後的演進邏輯,我認爲這是一個比較好的習慣。像我剛工作,周圍都是 C++,大家提起 Java,都覺得太慢。但是現在我們不這麼看,Java 在企業級應用開發已經完全證明了自己的能力,影響力和生態都非常大。所以我們不要單一維度去評判一個技術的好壞,選擇合適的技術解決場景問題是最重要的。"}]},{"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"}},{"type":"strong"}],"text":"InfoQ:在多年的 Serverless 實踐過程中有沒有什麼里程碑的事件,比如剛纔提到的 SAE。"}]},{"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"}},{"type":"strong"}],"text":"不瞋:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"SAE 肯定算一個,我覺得這裏面有幾個里程碑事件,有國外的,也有我們自己做得比較好的。比如亞馬遜雲科技推出 Lambda,把 Serverless 帶到了大家面前,這絕對是一個里程碑。比如函數計算推出預留實例解決冷啓動問題,支持容器鏡像,擁抱開源生態;阿里雲推出 Serverless 應用引擎解決存量應用 Serverless 化的問題,都代表我們在 Serverless 領域的創新。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"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"}},{"type":"strong"}],"text":"InfoQ:大家對 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"}},{"type":"strong"}],"text":"不瞋:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我們先拋開 Serverless,未來的趨勢,"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"雲的發展一定是往更高的抽象層面發展,讓用戶研發效率更高更敏捷,資源使用更高效"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。因此雲的產品體系一定是 Serverless 化,也就是越來越多的雲服務是全託管、Serverless 的形態。如果我們把雲看作一臺計算機,那麼 IaaS 層是硬件,以 K8s 爲代表的容器編排系統是操作系統,而 Serverless 計算則是應用的運行時。所以 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":"未來,Serverless 的產品形態會變得多樣,早幾年大家都把亞馬遜雲科技 Lambda 這樣形態的產品等同於 Serverless 計算,這幾年我們看到 Google Cloud Run,亞馬遜雲科技 App Runner 等針對 Web 應用場景的 Serverless 服務,阿里雲函數計算也在不斷演進,比如支持容器鏡像,更少的運行限制等等。而且針對傳統微服務等存量市場,我們還推出了 Serverless 應用引擎這樣形態的服務,讓用戶能夠非常方便的把存量應用遷移上來,享受 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"}},{"type":"strong"}],"text":"InfoQ:還有其他方向上的趨勢嗎?"}]},{"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"}},{"type":"strong"}],"text":"不瞋:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"其實"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":" "},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Serverless 底層技術發展上也有一些值得關注的趨勢。包括在資源調度上更加智能,因爲 Serverless 的計算模式給平臺提供了更多的負載信息,使得平臺有機會通過數據驅動的方式在資源調度,流量路由等方面做得更加精準。另外,Serverless 有望支持更多類型的硬件,包括 ARM 類型的 CPU,GPU 或者 FPGA 等異構硬件,給用戶提供更有性價比的計算類型。"}]},{"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"}},{"type":"strong"}],"text":"InfoQ:所以 Serverless 不只是雲的未來,那麼您認爲 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"}},{"type":"strong"}],"text":"不瞋:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"說到終點的判斷,我想雲就像一臺計算機,在過去的十年,雲主要是通過 Cloud Hosting 的模式,在兼容原有編程模式的同時,爲開發者提供了海量的算力。但這種模式有點像使用匯編語言編程,開發者需要處理相當多的細節。微軟預測未來 5 年將新增 5 億個應用,超過過去40年的總和,這是傳統的開發模式難以支撐的。"}]},{"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":"所以我們看到現代應用、低代碼等理念開始流行。下一個十年,雲的編程模型將迎來巨大的創新。這個演進邏輯並不罕見,過去 PC、移動互聯網,都從一開始的硬件創新,發展到形成自己的原生編程模型,形成完整的、繁榮的產業生態,雲也正在經歷這樣的過程。最終,雲會有屬於自己的、原生的、高效的編程模型和應用研發模式。而 Serverless 在雲的生態中,扮演應用運行時的角色,是承載應用運行的基礎設施。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Q&A 環節:"}]},{"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"}},{"type":"strong"}],"text":"InfoQ:評論區有提問,小規模的服務是否適合 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"}},{"type":"strong"}],"text":"不瞋:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我覺得小規模服務是更沒有負擔的,完全可以探索嘗試 Serverless,熟悉 Serverless 架構和產品。無論是函數計算 FC 還是 Serverless 應用引擎 SAE ,在兼容性、從傳統應用平滑遷移以及工具成熟度上都有明顯的提升。"}]},{"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"}},{"type":"strong"}],"text":"InfoQ:還有觀衆提問,爲什麼 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"}},{"type":"strong"}],"text":"不瞋:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"這是一個非常好的問題。首先是爲什麼 2015 年 Serverless 才火起來,原因就是背後必須要有全託管的 Serverless 化的產品做支撐。舉個例子,比如你要做一個應用,這個應用不會只依賴一個計算,如果在 VM 上做一些非常輕量的應用,比如搭建一個網站,不需要考慮高可用的情況,就在一臺機器上把數據庫、Web Server 等全放進去就可以。但 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":"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"}},{"type":"strong"}],"text":"InfoQ:最後一個問題,有觀衆提問 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"}},{"type":"strong"}],"text":"不瞋:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"這也是一個非常好的問題,我覺得數據安全跟上面提到的安全感其實是有非常大的關係的,我們可以從幾個層面去看 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":"首先就是用戶對於 Serverless 的一個普遍擔憂是 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":"以阿里云爲例,無論函數計算 FC 還是 Serverless 應用引擎 SAE 在安全方面的保障做的是比較充分的。從底層使用安全容器的技術做強隔離,一直到上面應用層,有身份認證、應用級別的訪問控制,甚至可以設置只允許來自於某個 VPC 的請求來訪問函數,類似於這些能力。所以安全上面隔離的能力是比較立體的。"}]},{"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":"另外從本身的模式來看,很多用戶自身在使用傳統方式運行應用的安全隱患是更大的。比如說出現了內核漏洞或者容器漏洞,是否能及時升級?但是現在平臺可以保證這個安全性,可以及時升級,對用戶來說也是無感的。還有一些用戶在使用傳統比較粗糙的平臺時,直接把 AK 寫到了代碼裏,這都是不提倡的模式。"}]},{"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 應用模式,用戶配置了對應資源的角色權限,平臺可以自動扮演角色生成臨時 token。你不需要管過程,只需要拿着 token 訪問就可以,整個過程都是更規範更安全的。"}]},{"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"}},{"type":"strong"}],"text":"所以不管是從平臺層面還是用戶層面使用新的模式在安全性方面是越來越提高的。"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章