網(wǎng)站建設(shè)和維護合同/湖南seo優(yōu)化首選
無服務(wù)器(Serverless)架構(gòu)的價值在于其成本效益、彈性和擴展性、簡化的開發(fā)和部署流程、高可用性和可靠性以及使開發(fā)者能夠?qū)W⒂跇I(yè)務(wù)邏輯。通過自動化資源調(diào)配和按需計費,無服務(wù)器架構(gòu)能夠降低成本并適應(yīng)流量變化,同時簡化開發(fā)流程并提供可靠的基礎(chǔ)設(shè)施。這使得開發(fā)者能夠更快速地推出新功能,滿足用戶需求,從而實現(xiàn)業(yè)務(wù)目標(biāo)。
然而作為新手,當(dāng)我們準(zhǔn)備構(gòu)建自己的首個容器化應(yīng)用程序時,可能會將函數(shù)、無服務(wù)器和Kubernetes等基本概念混為一談。Akamai將通過本文向大家詳細介紹這些概念的含意,為構(gòu)建可擴展的云原生應(yīng)用程序奠定基礎(chǔ)。
Kubernetes是什么?
Kubernetes是一種用于管理容器生命周期,以及管理運行容器的節(jié)點所使用的容器編排工具。
上述這句話的含意可以這樣分開來理解:
- 總的來說,容器是一種打包的應(yīng)用程序,其中已經(jīng)包含了應(yīng)用程序的所有依賴項,不依賴底層操作系統(tǒng)提供的任何額外的庫即可運行。
- 容器可以匯聚成組,形成在大量節(jié)點上運行的多個Pod。
- 節(jié)點是一種計算單元,通常是運行Linux的虛擬機(但從技術(shù)上來看,也可以是集群中運行Pod或容器組的任何虛擬或物理服務(wù)器)。
Kubernetes將協(xié)調(diào)節(jié)點的創(chuàng)建工作,并根據(jù)開發(fā)者定義的條件,在不同節(jié)點上部署、銷毀和移動容器與Pod。
為了構(gòu)建和自動運行容器化應(yīng)用程序,并實現(xiàn)規(guī)模化和高可用性,Kubernetes至關(guān)重要。
Kubernetes與無服務(wù)器函數(shù)和FaaS有很大差異,但通??捎糜谥芜\行這些技術(shù)的后端。
無服務(wù)器是什么?
無服務(wù)器(Serverless)是一種開發(fā)模型,可以讓開發(fā)者通過容器發(fā)布代碼,而無需管理服務(wù)器或其他云基礎(chǔ)設(shè)施。云服務(wù)提供商負責(zé)管理服務(wù)器/操作系統(tǒng)以及該級別之下的一切,借此可以為開發(fā)者提供高度精簡的環(huán)境,開發(fā)者可以在此基礎(chǔ)上編寫和部署代碼。
不同提供商的稱呼可能各異,但無服務(wù)器架構(gòu)將責(zé)任從開發(fā)者轉(zhuǎn)移到云服務(wù)提供商,涵蓋了從服務(wù)器級別到更底層的一切。
函數(shù)是什么?
為應(yīng)用程序構(gòu)建的模塊化組件通??煞Q為微服務(wù)(Microservice),開發(fā)者可以通過微服務(wù)將經(jīng)常使用的功能“切分”為代碼塊,而這些代碼塊就叫作函數(shù)(Function),可在相應(yīng)事件被觸發(fā)后執(zhí)行。
Any user activity that triggers an event or a series of events can be deployed as a function. For instance, a user signing up on your website may trigger a database change, which may, in turn, trigger a welcome email. A chain of serverless functions can handle the backend work.
任何可以觸發(fā)一個或一系列事件的用戶活動都可以部署為函數(shù)。例如,用戶在我們的網(wǎng)站上注冊,可能會觸發(fā)數(shù)據(jù)庫更改,進而觸發(fā)發(fā)送歡迎電子郵件。我們可以用一系列無服務(wù)器函數(shù)來處理這背后的后臺工作。
函數(shù)即服務(wù)(FaaS)是什么?
“即服務(wù)”這個稱呼似乎已經(jīng)開始被行業(yè)中的所有事物所使用。一般來說,任何“即服務(wù)”的意思都是指云服務(wù)提供商通過后端基礎(chǔ)設(shè)施,讓自己的用戶能夠流暢地訪問作為服務(wù)的那些功能。FaaS使開發(fā)者能夠直接構(gòu)建和運行函數(shù),而無需維護任何基礎(chǔ)設(shè)施。FaaS通常會按執(zhí)行時間收費,這意味著只有在代碼片段運行時才會計費。與全天候運行服務(wù)器相比,這是一種極具成本效益的做法。
FaaS平臺會圍繞特定基礎(chǔ)設(shè)施技術(shù)(如Kubernetes)進行構(gòu)建,或提供GUI來創(chuàng)建函數(shù)并將其連接到應(yīng)用程序而無須編寫任何代碼,從而讓函數(shù)易于部署和管理。
社區(qū)提交的函數(shù)讓用戶可以更容易地查找和實施用于優(yōu)化應(yīng)用程序性能的邏輯。FaaS是一種熱門產(chǎn)品,很多云服務(wù)提供商都有相應(yīng)服務(wù),借此幫助用戶在一個平臺上管理函數(shù)和應(yīng)用程序基礎(chǔ)設(shè)施。
總結(jié)
如果您目前的應(yīng)用程序開發(fā)工作就用到了任何云平臺提供的函數(shù),那么歡迎通過評論將使用感受分享給Akamai。Akamai云計算服務(wù)正在探索是否可以將函數(shù)添加到Akamai云平臺。歡迎通過評論告訴我們,您希望在Akamai云平臺上使用或看到怎樣的函數(shù)服務(wù)。