Serverless 架構如何演進詳細介紹
Serverless 架構演進
Serverless架構風格挑戰(zhàn)了軟件設計和軟件部署基礎的現(xiàn)狀,以實現(xiàn)最佳開發(fā)、最優(yōu)運營和最優(yōu)的管理開銷。雖然它繼承了微服務架構MSA的基本概念,但它已被賦予了新的架構模式,盡可能實現(xiàn)最高效的硬件利用。
盡管Serverless架構有顯著的進步,但適應這種架構需要一個周全的過程,把企業(yè)解決方案精確映射到Serverless架構上。

部署在物理服務器上的軟件系統(tǒng),其初始實現(xiàn)不能最佳地利用底層硬件的計算能力,因為在給定時間內(nèi)只能有一個操作系統(tǒng)實例運行。隨后的改造中,在計算資源中識別時間共享能力之后,多個虛擬計算機能夠通過在它們之間切換CPU和I/O操作從而實現(xiàn)在相同硬件上的同時運行。
這種技術演進導致了行業(yè)中的許多創(chuàng)新,最重要的是云的誕生。此時,虛擬機是用于部署軟件的隔離計算環(huán)境中最易于管理的、可擴展的和可編程的單元。Linux容器技術出現(xiàn)在2006年左右,當時Google實現(xiàn)了符合Linux內(nèi)核特性的控制組。

Linux容器自那時以來一直存在。然而,只有規(guī)模大、技術上超越的企業(yè),比如谷歌,才能夠規(guī)?;氖褂盟?。到2012年,在歐洲,一個軟件架構師討論組引入了微服務架構的概念。在2013年晚些時候,Docker巧妙地填補了容器生態(tài)系統(tǒng)中的可訪問性、可用性和支持服務的空白,因此,容器開始變得流行起來。
Linux容器打開了一個新的視野,將大型單片系統(tǒng)分解成獨立的自包含服務,并以細粒度的資源利用來執(zhí)行它們。為了加快這些進展,容器集群管理系統(tǒng)(如Kubernetes和Mesosphere)在同一時期開始提供端到端的容器即服務(CaaS)的能力。
到2015年晚些時候,AWS通過引入AWS Lambda實現(xiàn)了另一個飛躍,它可以通過按需運行微服務進一步節(jié)省軟件部署成本,并在無負載時自動停止。這種概念類似于節(jié)能車輛中的停止-啟動的特性,其自動關閉內(nèi)燃機以降低燃料消耗。
它是如何工作的?
盡管術語“Serverless”乍一看是荒謬的,但其實際的意義在于,部署軟件無需涉及基礎設施的建設。Serverless平臺可以根據(jù)需要自動構建、部署和啟動服務的整個過程。用戶只需注冊所需的業(yè)務功能及其資源需求。

顯然,這樣的功能可以分為兩種主要類型:由客戶端請求觸發(fā)的功能,和需要通過時間觸發(fā)器或事件觸發(fā)的后臺執(zhí)行的功能。
通常,這種Serverless系統(tǒng)可以使用具有動態(tài)路由器的容器集群管理器(CCM)來實現(xiàn),該動態(tài)路由器可以按需調(diào)整容器。然而,還需要考慮路由器的延遲、容器的創(chuàng)建時間、語言支持、協(xié)議支持、功能接口、函數(shù)初始化時間、配置參數(shù)的傳遞、提供證書文件等。
盡管這種部署方式要求在沒有負載時停止容器,但實際上在服務請求之后很快就停止容器,這種開銷也將是昂貴的,因為在短時間間隔內(nèi)可能有更多的請求進入。因此,更通常的做法是,在Serverless計算容器中將保留預先配置的時間段以便能重用于對服務的更多請求。這類似于PaaS平臺中的自動縮放行為。一旦服務被擴展了,實例將被保留一段時間以便能及時處理更多的請求,而不會立即終止它們。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
網(wǎng)站加速VPS篇 memcache和memcached安裝方法
Memcache是一個自由和開放源代碼、高性能、分配的內(nèi)存對象緩存系統(tǒng)。用于加速動態(tài)web應用程序,減輕數(shù)據(jù)庫負載。2010-12-12
ubuntu20.04 LTS系統(tǒng)默認源sources.list文件的修改
這篇文章主要介紹了ubuntu20.04 LTS系統(tǒng)默認源sources.list文件的修改,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08

