差距都在細節(jié)上。
Serverless要成就云計算的下一個10年,不僅需要在技術(shù)上持續(xù)精進,也需要在產(chǎn)品體驗上精耕細作。
近日,阿里云Serverless再度升級,發(fā)布了一系列圍繞產(chǎn)品體驗方面的優(yōu)化,包括函數(shù)計算FC全面融入容器生態(tài),添加容器鏡像的觸發(fā);宣布開源國內(nèi)首個Serverless開發(fā)者平臺Serverless Devs,幫助開發(fā)者實現(xiàn)一鍵體驗多云產(chǎn)品,極速部署Serverless項目;SAE提供了QPS/RT維度的彈性策略配置,增加了限流降級等企業(yè)級特性,強化了應用的全生命周期管理;Serverless事件總線EventBridge重磅發(fā)布,以標準化的CloudEvents 1.0協(xié)議幫助用戶輕松構(gòu)建松耦合、分布式的事件驅(qū)動架構(gòu)。
函數(shù)計算FC+容器技術(shù),1+1>2
體驗上還是有門檻。
函數(shù)計算的優(yōu)勢顯而易見,他幫助開發(fā)者承擔了大量復雜的擴縮容、運維、容量規(guī)劃、云產(chǎn)品打通集成等責任,使得開發(fā)者可以專注業(yè)務邏輯、提高交付速度(Time-to-market),持續(xù)優(yōu)化成本。但從傳統(tǒng)應用遷移到函數(shù)計算上仍面臨諸多挑戰(zhàn),例如運行環(huán)境不統(tǒng)一、應用構(gòu)建學習成本高、代碼包服務限制、交付物缺乏版本管理、缺少流行開源工具(如CI/CD流水線)的支持和集成等。
解法就在容器上。
容器的生態(tài)沉淀非常豐富且成熟,已被廣泛接受使用,并且應用容器化已經(jīng)成為開發(fā)和部署的事實標準。新版函數(shù)計算FC支持將容器鏡像作為函數(shù)交付物,把容器優(yōu)秀的開發(fā)、部署、生態(tài)(上線前)和函數(shù)計算自身免運維、零閑置成本、云服務集成等特性(上線后)的特性相結(jié)合,全面升級開發(fā)者體驗:
簡化應用Serverless化:無需修改代碼或是重新編譯二進制、共享對象(*.so),本地調(diào)試,保持開發(fā)和線上環(huán)境一致;
更大函數(shù)代碼限制:解壓前鏡像最大支持1 GB(相比代碼包最大解壓前50MB),避免代碼和依賴分離,簡化分發(fā)和部署;
容器鏡像分層緩存:增量代碼上傳和拉取,提高開發(fā)效率和降低冷啟動延遲;
鏡像分享、復用:邏輯可以移植、減少重復開發(fā)建設。
混合部署:同一應用Serverfull(ECS,容器ACK)、Serverless(FC,ASK,SAE),不同應用混合部署或同一應用不同服務間切流,達到性能一致、資源剛性交付、快速擴容、運維最小化的平衡。
CI/CD:持續(xù)構(gòu)建、集成測試、代碼上傳、存儲和標準的版本管理,豐富的開源生態(tài)CI/CD工具可以復用。
Serverless Devs,解Serverless工具鏈之困
Serverless的落地并是單單一個商業(yè)化產(chǎn)品就能解決的,而是需要一整套工具鏈,因為Serverless涉及應用的創(chuàng)建、項目的開發(fā)、測試,以及發(fā)布和部署等,是對整個開發(fā)運維項目的全生命周期管理。
Serverless Devs是一個組件化與插件化的Serverless開發(fā)者平臺,旨在以更開放、更標準的方式來解決Serverless的工具鏈之困。
學習成本更低:開發(fā)者無需對市面上每一款Serverless工具進行研究和學習,只需通過Serverless Devs,就可以簡單、快捷的"上手"主流Serverless服務和框架。
開發(fā)、部署更直觀:Serverless Devs提供了App Store,開發(fā)者可以通過關鍵詞快速檢索所需的應用案例或組件,并且通過可視化編輯完成項目配置,通過鼠標點擊即可完成項目部署,整體部署時間縮短了近1倍。
使用更靈活:Serverless Devs在進行項目描述時不僅僅可以對函數(shù)計算、API網(wǎng)關、對象存儲等資源進行描述,也可以通過Serverless Devs提供的插件以及Hook進行Install、Build、Publish等行為描述。與此同時Serverless Devs不會對每個組件的命令進行限制,而是鼓勵開發(fā)者針對不同的組件,開發(fā)不同的能力來應對更多、更復雜的場景,這種靈活與開放的使用方法,使得Serverless項目的開發(fā)運維效能提升90%。
SAE,Serverless落地核心生產(chǎn)應用的最短路徑如果說,函數(shù)計算為創(chuàng)新類業(yè)務或?qū)λ懔ο妮^大的離線場景,提供了一個更高效的實現(xiàn)路徑;那么,SAE則為核心生產(chǎn)應用的Serverless化,提供了一個最短的落地路徑。
以微服務場景為例,SAE提供了應用開發(fā)、應用部署、應用管理、監(jiān)控管理和日志管理等應用全生命周期的管理。
遷移平滑,免運維:不涉及任何代碼和業(yè)務邏輯的修改,就能將Spring Cloud/Dubbo的微服務應用或Spring Boot的應用部署到SAE上。同時因其屏蔽了IaaS、K8s底層的細節(jié),解決微服務架構(gòu)和容器服務運維復雜的痛點,具備0門檻+0改造+0容器基礎的絕對優(yōu)勢,從而節(jié)省人力成本,專注業(yè)務本身。
企業(yè)級特性豐富,穩(wěn)業(yè)務:SAE提供了開箱即用的微服務治理、應用監(jiān)控的能力,內(nèi)置ARMS基礎版能力,給端到端應用監(jiān)控和定位診斷問題提供了很好的支持,節(jié)省大量問題的排查時間。SAE內(nèi)置AHAS,大大增強了微服務系統(tǒng)在面臨業(yè)務洪峰時的穩(wěn)定可靠能力。
節(jié)省限制資源,Serverless一下:SAE提供的定時彈性和監(jiān)控指標彈性(CPU、Memory、QPS和RT等),既能做到秒級擴容,最大限度的保證了整個系統(tǒng)集群的高可用,又能降低限制資源的浪費,除此之外,SAE獨有的一鍵啟停功能還能節(jié)省開發(fā)測試環(huán)境成本。
EventBridge,事件驅(qū)動架構(gòu)下的標配
這是產(chǎn)品理念上的領先。
2019年7月,AWS推出EventBridge,被譽為是自Lambda以來最重要的產(chǎn)品,如今已經(jīng)成為事件驅(qū)動架構(gòu)下的標配。而事件驅(qū)動架構(gòu)已被Gartner列為10大戰(zhàn)略技術(shù)趨勢之一,將成為未來微服務的主流。阿里云此次發(fā)布的Serverless事件總線EventBridge正是為了解決當下事件處理的痛點:
云產(chǎn)品需要冗余寫多份事件或從多個事件源中獲取數(shù)據(jù):我們用EventBridge來構(gòu)建云產(chǎn)品事件中心。
沒有統(tǒng)一的事件標準,云服務間事件協(xié)議無法兼容:我們以標準化的CloudEvents 1.0協(xié)議,來構(gòu)建事件驅(qū)動架構(gòu)。
云服務間事件能力重復建設,無法擴展,事件之間獨立,無法獲取規(guī)模效應:我們借助EventBridge來拉通行業(yè)合作伙伴和第三方SaaS服務商,以標準化的接入來方式上下游事件。
細節(jié)上的打磨并非一朝一夕,體驗上的改進不能閉門造車。Serverless Devs的開源,Serverless產(chǎn)品和工具的豐富,意味著我們將會以更開放的方式來持續(xù)提升Serverless生態(tài)的全面體驗。
我們邀請您一起加入,Let's Serverless!