
Azure Container Apps支援打包成為容器的任何應用程式,不問(wèn)Runtime和程式碼開(kāi)發(fā)模型,應用程式可以依據HTTP請求、事件進(jìn)行擴展,微軟提到,Azure Container Apps解決了微服務(wù)中,像是加密服務(wù)間的通訊,和規模縮放等需求。
Azure Container Apps建立在開(kāi)源Kubernetes技術(shù)之上,使得用戶(hù)能夠獲得Kubernetes所帶來(lái)的好處,卻又不需要直接理解Kubernetes和運作概念,藉由開(kāi)放標準和API,就可實(shí)現應用程式的可移植性,官方提到,在A(yíng)zure Container Apps背后,每個(gè)應用程式都在A(yíng)zure Kubernetes服務(wù)上運作,并且深度整合Kubernetes事件驅動(dòng)自動(dòng)縮放(KEDA)、Dapr(Distributed Application Runtime)和Envoy等技術(shù)。
在A(yíng)zure Container Apps中,多個(gè)容器應用程式,可以部署至單一容器應用程式環(huán)境中,并可將其視為一組容器應用程式,與另一組應用程式間的隔離和可觀(guān)察性邊界,部署到相同環(huán)境的容器應用,能夠將日志寫(xiě)入到相同的Log Analytics工作區。
微軟表示,這種結構可以在建構整體解決方案時(shí),方便微服務(wù)之間通訊,而且也能夠將多個(gè)容器部署成同一個(gè)容器應用程式,這些容器就會(huì )被視為一個(gè)單位或是容器Pod,一起部署和擴展。
用戶(hù)可以藉由宣告式縮放規則,來(lái)管理Azure Container Apps的水平自動(dòng)縮放,在預設情況下,Azure Container Apps在不使用時(shí),會(huì )縮減至0并且暫停收費,隨著(zhù)流量增加,容器應用程式橫向擴展的過(guò)程,會(huì )按需建立新的執行個(gè)體。
另外,Azure Container Apps提供Dapr API全托管版本,Dapr為一個(gè)開(kāi)源的事件驅動(dòng)Runtime,開(kāi)發(fā)者可以使用熟悉的程式語(yǔ)言和框架,將可移植的微服務(wù)建置成為無(wú)關(guān)平臺的模塊。在A(yíng)zure Container Apps中,用戶(hù)可以使用適用于A(yíng)zure Container Apps的Dapr,以邊車(chē)的方式在應用程式旁運作,以獲得額外的功能。
Azure Container Apps支援多重修訂來(lái)管理應用程式的版本,并在不同版本間提供分流和負載平衡,還透過(guò)Log Analytics以獲得整合性監控功能,簡(jiǎn)化應用程式生命周期管理。