新聞中心
無服務(wù)器計算(通常簡稱為無服務(wù)器)是一種極具潛力的云端技術(shù)模型。近年來,它經(jīng)常出現(xiàn)在應(yīng)用程序的開發(fā),以及軟件體系架構(gòu)中。為了讓無服務(wù)器框架發(fā)揮巨大的潛力,諸如Google、Microsoft、IBM和Amazon之類的軟件巨頭,已經(jīng)開始向客戶提供了能夠?qū)⒈镜厮羞\營業(yè)務(wù),遷移并托管到他們的旗艦無服務(wù)器平臺(如:AWS Lambda和Azure Functions)上的方法與工具。

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比東麗網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式東麗網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋東麗地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。
簡而言之,無服務(wù)器架構(gòu)是一種事件和請求驅(qū)動的技術(shù)解決方案。它允許應(yīng)用開發(fā)人員在云端創(chuàng)建可操作的工作環(huán)境。該環(huán)境提供了實現(xiàn)編碼流能夠順暢運行的所有必要的計算資源。該框架在時間緊、且任務(wù)相當(dāng)耗費資源的情況下,顯得非常實用。
此外,在選擇無服務(wù)器服務(wù),以簡化應(yīng)用開發(fā)流程的同時,您也可以用它來大幅改善諸如DevOps和敏捷實踐等其他業(yè)務(wù)優(yōu)化計劃。
無服務(wù)器和微服務(wù)模型的區(qū)別?
總的說來,這兩種架構(gòu)的相似之處在于:它們都能夠最大程度地降低運營的成本,縮短應(yīng)用部署的周期,滿足不斷變化的開發(fā)需求,以及優(yōu)化那些對于時間和資源敏感的日常任務(wù)。那么,微服務(wù)和無服務(wù)器模型之間的不同之處在哪里呢?
首先,微服務(wù)屬于一種小型的SOA(面向服務(wù)的體系架構(gòu))技術(shù)解決方案。它可以為程序員提供對于托管在云服務(wù)器上相關(guān)庫的完全訪問權(quán)限,并允許他們部署各種功能模塊,以及諸如JSON、RESTful、AMQP、SOAP等多種協(xié)議和API。
通常,微服務(wù)體系架構(gòu)是通過諸如Docker之類的可執(zhí)行程序包,來實現(xiàn)數(shù)據(jù)的容器化,并在開發(fā)人員訪問某些給定的API時,按需解壓縮所有的必要數(shù)據(jù)。因此,多個微服務(wù)模型可以確保運維人員通過在云平臺上的各項操作,來持續(xù)部署應(yīng)用程序。
不過,由于企業(yè)配置的那些閑置的微服務(wù)也會處于活動狀態(tài),因此,用戶必須持續(xù)按照每個服務(wù)每天的標(biāo)準(zhǔn)為占用的容量和資源支付費用。顯然這會讓企業(yè)深感微服務(wù)架構(gòu)價格不菲。
而無服務(wù)器的各項功能函數(shù)僅在滿足了既定事件時,才會被觸發(fā)。而在完成操作后,功能函數(shù)將根據(jù)用戶輸入的命令,執(zhí)行一系列操作。也就是說,無服務(wù)器平臺運用一組預(yù)處理的算法和規(guī)則,來處理計算,并得出相應(yīng)的結(jié)果。可見,這會讓應(yīng)用程序開發(fā)人員覺得無服務(wù)器架構(gòu)更有吸引力。畢竟,它是按需提供的云端執(zhí)行環(huán)境的。
通過對比,我們不難發(fā)現(xiàn),微服務(wù)更適合于電子商務(wù)網(wǎng)站等用例,它們需要優(yōu)先考慮各種大型數(shù)據(jù)集的容器化。在優(yōu)化開發(fā)成本和時間方面,無服務(wù)器則展示了其巨大的潛力。
此外,如果您的業(yè)務(wù)流程是基于事件的,而且您不想一直運行某些操作任務(wù)的話,那么您最好選擇便是無服務(wù)器架構(gòu)。它對于那些時常觸發(fā)各類警報與通知的物聯(lián)網(wǎng)驅(qū)動型應(yīng)用來說尤為適用。下面,我們將進一步討論無服務(wù)器的工作原理和各種特性。
無服務(wù)器的工作原理
作為由預(yù)配置事件驅(qū)動的開發(fā)模型,無服務(wù)器利用多種基于云端的分布式服務(wù),來簡化軟件部署的工作流。通常,它能夠提供如下兩種互補的服務(wù)模型:
- 后端即服務(wù)(Backend as a Service,BaaS)
- 服務(wù)即服務(wù)(Function as a Service,F(xiàn)aaS)
其中,BaaS就是利用第三方多租戶架構(gòu)的功能,來增強用戶應(yīng)用的部署和交付效率。此類通用功能通常是以SDK或API網(wǎng)關(guān)的形式被提供出來,并且所有的必需操作都僅能在云中執(zhí)行。因此,它為傳統(tǒng)的本地部署架構(gòu)有效地提供了代碼數(shù)據(jù)。同時,此方案享有真正快速的開發(fā)周期。它能夠?qū)⑷寇浖突A(chǔ)架構(gòu)的維護責(zé)任,移交給BaaS的服務(wù)提供商。此外,應(yīng)用開發(fā)人員還可以隨時擴展其部署的流程。
而諸如AWS Lambda之類的FaaS平臺則屬于事件驅(qū)動開發(fā)架構(gòu)的類型。它可以通過按使用付費的模型方式,提供強大的托管服務(wù),而且僅在預(yù)定的功能或事件被滿足的情況下被觸發(fā)。因此,此類激活FaaS功能的常見觸發(fā)器包括:各種預(yù)定的事件、文件的上載、對存儲庫新的提交、電子郵件、數(shù)據(jù)庫的更新、以及HTTP API的調(diào)用等。
無服務(wù)器通過將BaaS和FaaS模型相結(jié)合,幫助開發(fā)人員處理復(fù)雜的資源密集型任務(wù),其中包括:各種托管數(shù)據(jù)、基礎(chǔ)架構(gòu)、以及業(yè)務(wù)邏輯元素等廣泛的功能。
使用無服務(wù)器的好處
- 可設(shè)計出自動擴展的服務(wù)。通過自帶的靈活性,無服務(wù)器方案可以按需擴展其計算資源和功能。相反,在訪問高峰時段結(jié)束后,其支撐的云端工作環(huán)境能夠針對較少的負載處理需求,進行自動收縮。
- 改進了部署。借助無服務(wù)器功能,程序員對于應(yīng)用的開發(fā)和部署,會變得非常容易和便捷。他們不再需要考慮諸如:基礎(chǔ)架構(gòu)的維護、以及數(shù)據(jù)及時同步之類的附加方面??梢姡瑹o服務(wù)器架構(gòu)的靈活性,能夠使得大多數(shù)工作流程得以順利地自動化推進。
- 穩(wěn)定性。無服務(wù)器架構(gòu)會將企業(yè)的大部分數(shù)據(jù)和基礎(chǔ)架構(gòu)管理職責(zé)轉(zhuǎn)移給了云服務(wù)提供商。它釋放了您團隊的大量工作時間,使您不必像過去在傳統(tǒng)的本地軟件平臺上那樣,去關(guān)注基礎(chǔ)設(shè)施的簡化,編排和分配代碼數(shù)據(jù),以及處理停機問題。
- 成本效益。實際上,成本最小化才是真正能夠使無服務(wù)器,在眾多基于云端的解決方案中脫穎而出的原因。正如我們在前面比較過的,按使用付費的方法,有助于企業(yè)避免產(chǎn)生不必要的應(yīng)用開發(fā)和部署費用。只有在那些預(yù)先設(shè)定的事件引發(fā)了云端相應(yīng)的操作時,企業(yè)才需要為服務(wù)器的運行時間付費。
- 減少延遲。由于企業(yè)的所有數(shù)據(jù)資產(chǎn),都被托管在基于云端的服務(wù)器上,因此無服務(wù)器能夠讓企業(yè)將資源分配到,最接近最終用戶的那臺服務(wù)器上。據(jù)此,數(shù)據(jù)的順暢連接和互操作性,不但得到了保障,而且大幅減少了那些時間緊迫的故障和系統(tǒng)停機時間。
綜上所述,您是不是會認為無服務(wù)架構(gòu)就絕對比位服務(wù)架構(gòu)好呢?不一定。在實踐中,您還是需要根據(jù)自己手頭業(yè)務(wù)的實際需求,通過綜合比較,再做出恰當(dāng)?shù)倪x擇。
名稱欄目:無服務(wù)和微服務(wù)架構(gòu),誰是業(yè)務(wù)計算的未來?
地址分享:http://www.5511xx.com/article/djcjcoj.html


咨詢
建站咨詢
