AWS新推出的容器化服務AWS App Runner,新服務讓用戶可以將任何語言編寫的網(wǎng)頁應用和API,以最簡單的方式部署到云中,官方表示,由于AWS App Runner使用起來非常簡單,即便缺乏管理容器和基礎設施經(jīng)驗的團隊,也能通過連接代碼儲存庫,由App Runner將應用打包成容器,部署到云上。
復雜的流程:
容器已經(jīng)成為打包網(wǎng)頁應用的新方法,但是即便提高了速度、生產(chǎn)力和一致性,容器開發(fā)工作流程仍然非常繁瑣。部署流程可能包含設置負載均衡、域名、TLS,還要創(chuàng)建CI/CD工作流水線,最后將應用部署到容器服務。
雖然AWS Cloud Development Kit(CDK)提供了一套開放原代碼軟體開發(fā)框架,讓開發(fā)者可以使用熟悉的程序語言,定義云上應用程序資源,而且CDK也提供高階組建。雖然CDK所提供的樣板項目,非常適用于部署大型應用,但是當開發(fā)者只是想要部署和縮放單個容器鏡像的時候,這些工作又顯得太過麻煩。
簡化流程(App Runner):
AWS提供許多服務讓用戶細致地控制容器化應用程序,他們收到不少用戶要求,希望他們可以提供處理容器環(huán)境的配置和運營的服務。因此AWS開發(fā)了App Runner,用戶可以將服務指向應用的代碼,或是容器儲存庫,App Runner就能夠自動執(zhí)行并且縮放云上應用,這個過程用戶不需要參與配置和管理基礎設施服務。
臨時儲存:
值得注意的是,App Runner將容器執(zhí)行個體的文件系統(tǒng)為臨時儲存,文件皆為暫時性的,如果用戶暫停并且恢復App Runner服務時,文件不會持久存在,無狀態(tài)應用并不能保證文件在單一請求的處理中會持續(xù)存在。
但是儲存的文件確實會在生命周期間,占用App Runner服務的部分儲存配置,雖然無法保證臨時儲存的文件在請求中持久保存,但是在特定情況下,這些文件的確會被持久儲存,例如在處理請求時,當將來的請求可能需要使用這些文件,用戶則可以快取應用下載的文件,而這將可以加快之后請求的處理速度。
用戶的代碼設計不應該假設當前請求的文件仍然存在,而且為了確??烊?,用戶應該使用高吞吐量且低延遲,例如Amazon ElastiCache等記憶體資料儲存。