王靖最近一年非常累。
根據上級部門的安排,一年半以前王靖所在雜誌社啟動了全盤數字化的轉型計劃,提出建立所屬行業媒體中心網路和手機應用為核心的移動傳播體系的目標,他擔任整個數字化項目的負責人。
資金到位,內容也逐步完善,但產品技術的開發卻一直無法完成:基於傳統架構的應用開發進度緩慢、故障頻出,加之上級領導想法也變來變去,整體進度停滯不前,期間技術團隊幾經更換,從一開始自建團隊,到最後直接外包。
但事情更糟了。頻繁更換技術團隊導致技術開發沒有標準化和延續性,系統里埋的「雷」越來越多,最終這個「打補丁」的產品漏洞百出。前期預算超標,又擠壓了雲服務支出,無法支撐高並發訪問,從應用開發到客戶體驗全面崩塌。業務部門和技術部門的矛盾越來越激烈,王靖四處滅火,但最終項目還是被廢止了。
花了大錢,事兒卻沒辦成,這類情況在企業數智化建設過程中不是個案。
在全面數智化轉型的今天,企業普遍認同數智化會成為企業發展的助推器,也願意投入資金和精力,將企業管理與業務各個方面逐漸實現數智化。然而,並不是每個企業都有能力成為技術專家。
如何降低轉型門檻,讓企業更聚焦業務,讓技術賦能更高效,讓創新更容易?Serverless(無伺服器)架構正成為越來越多企業的選擇。在Serverless架構下,開發者和運營者僅需要關注應用程序邏輯,不用關心基礎架構部署細節,就像廚師只需專注於做飯,而無需擔心「水電煤」一樣。
正視數字化建設三大風險
企業數字化轉型是一項複雜的工程,需要從管理層到業務和技術部門的共同努力,以科學決策和思路推動數字化建設。
然而,在實際執行過程中,從「自建伺服器還是上雲」,到開發、運維等一系列決策中,不少企業都走了彎路甚至吃了大虧。
首先,上雲不是終點。買幾台雲伺服器和資料庫,把開發環境搬到雲上面,從傳統的本地化的開發轉到雲服務,只是企業業務初步上雲的過程,離發揮雲服務真正的優勢還差很遠。雲服務真正重要的實時、動態擴展的能力,在這樣的傳統方式下沒法施展,企業也享受不到由此帶來的便捷。
其次,傳統開發架構有系統風險。相對於協同的雲開發模式,傳統應用的架構或開發方式通常構建和開發時間更長,擴展速度慢,並且會發生更多的單點故障。
某種程度上,企業開發傳統的應用必然要租用或者購買相應的網路服務,伺服器、資料庫等等軟硬體來配套,而這些投入在企業業務擴張的時候還必須根據業務量同比例進行放大,這對於企業來說又是一個不小的成本,而且在投資決斷的時候也會讓企業管理者非常頭疼。
因此,如何動態利用雲資源,現在已經成為企業數智化轉型面臨的重點問題。
此外,對於開發團隊的管理也是門學問。傳統 IT 開發與後期運營系統是獨立的團隊,這中間會出現很多因為溝通不暢帶來的問題。整個團隊是分裂的,接手後期使用和維護的技術人員,依靠自身理解來維護程序的運轉。重要問題還需要協調開發團隊來解決,費時費力不說,中間耽誤的時間和空間成本也無法避免。
如果雲服務與數智化系統開發不能很好的結合,就會出大問題,這屬於實際操作中需要注意的。但這種問題得不到充分的重視,企業之前非常好的戰略就得不到落實,最終也會影響企業的穩定與發展。
Serverless有何不同
上述問題很多數字化先行企業都遇到過,而他們最終選擇的解決方案叫「Serverless」。
「Serverless」是一種軟體系統架構思想和方法,它的核心思想是用戶無須關注支撐應用運行的底層基礎設施的狀態、資源(比如CPU、內存、磁盤和網路)及數量。應用正常運行所需要的所有資源由底層的雲計算平台動態提供。
相對於只是簡單地把基礎設施搬到雲上,「Serverless」通過雲的彈性伸縮的能力,按價值付費的模式,充分利用雲計算的紅利,實現應用雲上的開發、部署、測試、運維等全生命周期管理。
Serverless相對於傳統的雲服務產品有四個特徵,即無需管理伺服器、系統可以根據需求自動擴展與縮減資源、企業能按價值付費,以及整個架構能提供更高的安全與可用性。
對於相對於企業數字化建設的傳統三大風險,Serverless都有相對應的解決方案。
比如,為了應對企業上雲的資源浪費,Serverless 成本的優勢非常明顯。企業按價值計費的模式,每一次付費和真正的業務請求相關聯,不會造成資源浪費,優化雲資源利用率。
對於動態分配雲資源的問題,Serverless能實現基於業務需求的彈性擴縮容,可以讓企業利用將雲資源從零用量自動擴展到支撐峰值需求的技術,幫助企業用更快的速度滿足客戶的需求,保證業務的連續性。當業務需求減少時,也可以動態調整雲資源的用量,降低成分,提高資源使用率。
對於團隊管理和運維,Serverless能有效減輕運維壓力。一方面,通過消除運營開銷,團隊可以快速發布、獲得反饋和疊代以更快地將新功能推向市場;另一方面,Serverless服務內置的多個服務集成,企業可以專注於構建自己的應用程序,而不是花費精力去編寫服務集成的邏輯。
以IMDb為例,這是一個知名電影評分網站,類似國內的豆瓣。IMDb應用最初是全部跑在Amazon的EC2上,擁有大概100多個主機。而今天,IMDb也進行了Serverless 架構重構,將單體應用拆成不同的微服務,每個 Serverless 微服務對應著各自的業務單元。
比如查詢 「成龍的代表作是什麼」,IMDb用的是GraphQL來組織查詢,在後台這項查詢會被拆解城4個不同的Lambda服務獲取前四個電影的ID、名字/年份、評分、媒體鏈接這四個 Lambda函數,對應來獲得相關資訊。由此可見,基於Serverless設計,IMDb把核心業務都拆開了,更容易去擴展維護和演進了。
同時,Lambda函數的調用頻率也基本能反映出網站流量的變化。IMDb一天的Lambda調用頻率,是有規律的波峰波谷的變化,應對這種非常動態的,起伏比較大的訪問,Serverless架構提供了及時的響應,並且用戶只需要為調用付費,這也將節省下成本。
可以看到,通過使用亞馬遜雲科技Serverless技術進一步拓展了企業使用雲服務的邊界。在開發過程中,不同於傳統雲服務要求用戶手動擴展,Serverless環境中,資源會自動擴展,以適應需求的變化。這大大降低了開發和部署的難度,使得整個系統在提升穩定性同時還加快了開發和部署的速度。
在Serverless技術的探索上,亞馬遜雲科技一直承擔著先鋒的角色。
從2006年亞馬遜雲科技誕生開始,其第一個服務Amazon S3就是一個Serverless服務,是一個Serverless對象存儲;2012年,Amazon DynamoDB發布,在功能上已經具備了「Serverless」特性的「雲原生資料庫」;2013年,消息流處理的Serverless服務Amazon Kinesis發布,可以作為一個可擴展、伸縮的消息流服務去支撐流計算的場景;2014年,亞馬遜雲科技推出 Amazon Lambda 服務,定義了抽象的「Serverless無伺服器」計算模型;2016年,Serverless架構的商務智能軟體Amazon Quicksight發布;2018年,Amazon Aurora Serverless發布;2022年亞馬遜雲科技re:Invent上,發布了Amazon OpenSearch Serverless,無伺服器的日誌分析引擎,它的發布代表著在數據分析領域,亞馬遜雲科技已經實現了「全Serverless架構」。
今年是亞馬遜雲科技在雲計算領域持續探索的第十七年,Serverless已經積累了龐大的技術資源,形成了全棧式服務的能力,並已經開始對越來越多的客戶提供全棧解決方案。在3月30日的亞馬遜雲科技創新大會上,亞馬遜雲科技與更多夥伴一起探討了Serverless技術與最佳實踐。
以「事件驅動」架構解決問題
亞馬遜雲科技的Serverless技術推動以事件驅動為核心,讓企業資訊化開發能快速部署。
在2022年召開的亞馬遜雲科技re:Invent全球大會上,亞馬遜副總裁兼 CTO Werner Vogels 表示,如果把世界看作是一個完整的系統,它實際上在遵循著一定的系統規則,也可以理解為是由事件所驅動的,具有異步、鬆散耦合的特徵。
而所謂的事件驅動架構,就是讓架構中的各個模塊,按照事件發生的順序自動執行,並且可以把執行結果作為新的事件來驅動下一個模塊的執行。這其實是企業應對數智化轉型不確定性的利器。
一般來說,事件驅動架構主要由三大關鍵組件構成:事件生產者、事件路由器和事件使用者。其中,事件生產者主要包括SaaS應用程序、移動應用程序、電商網站等;事件路由器主要包括事件路由器、事件存儲等;事件使用者則包括資料庫、微服務、SaaS應用程序等。
而通過構建事件驅動架構,企業可以獲得一個鬆散耦合的系統,該系統具有較低的依賴性、更高的可用性和可進化性等優勢,可以提高企業開發人員的敏捷性,幫助企業構建可靠、可擴展的應用程序,加快新功能發布速度,進而更好地應對市場不確定性及市場需求變化。
對於企業客戶來說,基於亞馬遜雲科技構建的事件驅動架構,不僅能夠提高開發敏捷性、節省成本,還能大大改善客戶體驗。而通過將事件驅動架構與多種亞馬遜雲科技服務相結合,開發者可以自由組合這些服務,從而更好地滿足企業應用場景的需求,將架構優勢發揮到極致。
在這點上,荷蘭快遞企業PostNL很有發言權。
PostNL又名荷蘭郵政,是一家獨立快遞包裹寄送的公司,業務遍布全球,擁有6萬多名員工,每天為 1700 萬人提供服務。最近幾年,隨著跨境電商不斷發展,尤其歐盟規定貨值不超過22歐元的商品可免繳增值稅,讓這家公司的快遞業務以每年超過20%速度遞增,其中超過90%都是小型包裹。
但PostNL的核心系統老化,傳統的開發結構下,無法應為每天幾百萬個從攬件、運輸、查詢到售後服務的郵件訂單提供技術支持,系統升級迫在眉睫。
經過梳理,PostNL有幾大需求:首先,要實現快速部署,並可以無縫切換,不能影響到現有業務的開展;其次,可以動態、彈性處理業務與相關數據的增長,因為在電商購物節期間,需要遞送的快遞數量可能是平時的幾倍乃至十幾倍,後台處理數據的能力必須隨時可以匹配;第三,需要一個非常友好的界面,簡單易用,無需專業工程師即可針對用戶的需求快速開發、升級改進。
在這個基礎上,經過選型對比,最終PostNL選擇使用西門子低代碼平台Mendix實現系統升級。
Mendix是建立在亞馬遜Serverless框架基礎上的程序開發和部署平台,能通過低代碼 企業提供業務邏輯的方式,利用亞馬遜Serverless框架無伺服器、雲資源動態匹配和事件驅動的能力,幫助PostNL解決他們面臨的三個主要問題。
最終在很短時間內,PostNL在Mendix和亞馬遜Serverless框架基礎上升級了自己的系統,6個月內完成了積壓2年的工作,每天可以處理超過150萬個訂單,系統穩定性超過99.95%。同時,由於採用了亞馬遜Serverless框架,整個升級的成本降低80%,這家企業3個月降低的成本就覆蓋了升級系統的支出,實現了降本增效的目的。
其實,亞馬遜雲科技有超過200種服務都可以成為事件生產者,並提供多種不同的事件路由器服務,適用於不同客戶的不同應用場景需要。同時,亞馬遜雲科技還支持多種服務作為事件使用者,比如,調用Lambda 函數,用於使用無伺服器微服務處理事件,或觸發Amazon Step Functions 工作流。
在這些設計原理幫助下,類似PostNL經歷的持續交付和低成本運維就成為必然形成的結果,也會讓業務滾動發展,小步快跑不斷疊代。能出現用最小的成本,維護企業數智化轉型最快速發展的情況。
這些優勢都打在了企業投資數智化的痛點上。
實際上,隨著虛擬化技術的成熟和分布式框架的普及,在容器技術、可持續交付、編排系統等開源社區的推動下,以及微服務等開發理念的帶動下,應用上雲已經是不可逆轉的趨勢。但如何快速調動雲資源來實現這些能力,就成為新時代企業資訊化必須關注的焦點。
培養「雲化」思維
通過上述商業實踐可以看到,企業建立事件驅動的思維,利用Serverless的優勢、方法和工具,最終可實現應用全部基於Serverless架構,不僅大大降低開發人員的難度以及後期運維和升級的難度,還可以實時的擴縮容,形成一個動態化調整的結構。
這對每個想投資數智化業務的企業來說,都十分重要。
對於企業決策層來說,了解一線開發的新技術和新策略,真正的目的是設立數字化業務的雲化思維。
Serverless能夠幫助企業提高應用的開發、發布疊代速度,讓企業能夠在激烈的市場競爭中滿足用戶越來越高的期望。另外一方面,Serverless架構具備極致的資源伸縮能力、服務自治和自愈能力,能夠極大發揮雲的優勢,讓企業在新場景下,能夠靈活應對 「架構越來越複雜、資源越來越多、穩定性要求越來越高的挑戰」。
數智化只是企業管理的工具和思路,企業真正需要的是協調可利用的的資源去完成自身發展的需求。
Serverless背後是企業數職化戰略的一個提升,但想要成功一定要遵循的新原則是共融,共生、共創。
而作為「Serverless」架構技術先鋒,亞馬遜雲科技憑藉17年的技術沉澱和全棧式的Serverless服務,將與各行各業不同規模的企業一起探索聚焦於業務本身,實現數智化轉型與持續創新。