Serverless 架構(gòu)如何演進(jìn)詳細(xì)介紹
Serverless 架構(gòu)演進(jìn)
Serverless架構(gòu)風(fēng)格挑戰(zhàn)了軟件設(shè)計和軟件部署基礎(chǔ)的現(xiàn)狀,以實現(xiàn)最佳開發(fā)、最優(yōu)運營和最優(yōu)的管理開銷。雖然它繼承了微服務(wù)架構(gòu)MSA的基本概念,但它已被賦予了新的架構(gòu)模式,盡可能實現(xiàn)最高效的硬件利用。
盡管Serverless架構(gòu)有顯著的進(jìn)步,但適應(yīng)這種架構(gòu)需要一個周全的過程,把企業(yè)解決方案精確映射到Serverless架構(gòu)上。
部署在物理服務(wù)器上的軟件系統(tǒng),其初始實現(xiàn)不能最佳地利用底層硬件的計算能力,因為在給定時間內(nèi)只能有一個操作系統(tǒng)實例運行。隨后的改造中,在計算資源中識別時間共享能力之后,多個虛擬計算機(jī)能夠通過在它們之間切換CPU和I/O操作從而實現(xiàn)在相同硬件上的同時運行。
這種技術(shù)演進(jìn)導(dǎo)致了行業(yè)中的許多創(chuàng)新,最重要的是云的誕生。此時,虛擬機(jī)是用于部署軟件的隔離計算環(huán)境中最易于管理的、可擴(kuò)展的和可編程的單元。Linux容器技術(shù)出現(xiàn)在2006年左右,當(dāng)時Google實現(xiàn)了符合Linux內(nèi)核特性的控制組。
Linux容器自那時以來一直存在。然而,只有規(guī)模大、技術(shù)上超越的企業(yè),比如谷歌,才能夠規(guī)?;氖褂盟?。到2012年,在歐洲,一個軟件架構(gòu)師討論組引入了微服務(wù)架構(gòu)的概念。在2013年晚些時候,Docker巧妙地填補(bǔ)了容器生態(tài)系統(tǒng)中的可訪問性、可用性和支持服務(wù)的空白,因此,容器開始變得流行起來。
Linux容器打開了一個新的視野,將大型單片系統(tǒng)分解成獨立的自包含服務(wù),并以細(xì)粒度的資源利用來執(zhí)行它們。為了加快這些進(jìn)展,容器集群管理系統(tǒng)(如Kubernetes和Mesosphere)在同一時期開始提供端到端的容器即服務(wù)(CaaS)的能力。
到2015年晚些時候,AWS通過引入AWS Lambda實現(xiàn)了另一個飛躍,它可以通過按需運行微服務(wù)進(jìn)一步節(jié)省軟件部署成本,并在無負(fù)載時自動停止。這種概念類似于節(jié)能車輛中的停止-啟動的特性,其自動關(guān)閉內(nèi)燃機(jī)以降低燃料消耗。
它是如何工作的?
盡管術(shù)語“Serverless”乍一看是荒謬的,但其實際的意義在于,部署軟件無需涉及基礎(chǔ)設(shè)施的建設(shè)。Serverless平臺可以根據(jù)需要自動構(gòu)建、部署和啟動服務(wù)的整個過程。用戶只需注冊所需的業(yè)務(wù)功能及其資源需求。
顯然,這樣的功能可以分為兩種主要類型:由客戶端請求觸發(fā)的功能,和需要通過時間觸發(fā)器或事件觸發(fā)的后臺執(zhí)行的功能。
通常,這種Serverless系統(tǒng)可以使用具有動態(tài)路由器的容器集群管理器(CCM)來實現(xiàn),該動態(tài)路由器可以按需調(diào)整容器。然而,還需要考慮路由器的延遲、容器的創(chuàng)建時間、語言支持、協(xié)議支持、功能接口、函數(shù)初始化時間、配置參數(shù)的傳遞、提供證書文件等。
盡管這種部署方式要求在沒有負(fù)載時停止容器,但實際上在服務(wù)請求之后很快就停止容器,這種開銷也將是昂貴的,因為在短時間間隔內(nèi)可能有更多的請求進(jìn)入。因此,更通常的做法是,在Serverless計算容器中將保留預(yù)先配置的時間段以便能重用于對服務(wù)的更多請求。這類似于PaaS平臺中的自動縮放行為。一旦服務(wù)被擴(kuò)展了,實例將被保留一段時間以便能及時處理更多的請求,而不會立即終止它們。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
centeros7 安裝配置環(huán)境jdk1.8的教程
這篇文章主要介紹了centeros7 安裝配置環(huán)境jdk1.8的教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09CentOS服務(wù)器+監(jiān)控寶SNMP監(jiān)控全攻略分享
很多人和Sudu一樣都想使用監(jiān)控寶去監(jiān)控自己的linux服務(wù)器,但是因為安裝snmp存在一些問題導(dǎo)致無法成功設(shè)置snmp的設(shè)置。2010-12-12覆蓋原先的PATH導(dǎo)致命令失效提示command not found的解決方法
今天小編就為大家分享一篇關(guān)于覆蓋原先的PATH導(dǎo)致命令失效提示command not found的解決方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03Apache虛擬主機(jī)的配置和泛域名解析實現(xiàn)代碼
Apache虛擬主機(jī)的配置和泛域名解析實現(xiàn)代碼,需要的朋友可以參考下2012-03-03PHP程序員玩轉(zhuǎn)Linux系列 Linux和Windows安裝nginx
這篇文章主要為大家詳細(xì)介紹了PHP程序員玩轉(zhuǎn)Linux系列文章,Linux和Windows安裝nginx教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04Linux 操作系統(tǒng)下Web服務(wù)器配置詳細(xì)介紹
Linux 操作系統(tǒng)下Web服務(wù)器配置詳細(xì)介紹,需要的朋友可以參考下。2009-10-10