和大多數IT熱詞一(yī)樣,無服務(wù)器(qì)自誕生(shēng)以來(lái),一(yī)直處于不溫不火(huǒ)的狀态。可就(jiù)在今年忽然爆發,令人(rén)驚訝,也(yě)有技術專家稱之為(wèi)“臨界點”來(lái)臨。如(rú)果這(zhè)樣的話(huà),無服務(wù)器(qì)将迅速與其他技術相融合,成為(wèi)新(xīn)型部署方式。
不要盲目樂(yuè)觀。IT熱詞之所以“熱”,是因為(wèi)它從來(lái)不是單獨發展的,而是建立在雲、大數據、容器(qì)等技術的成熟度之上(shàng)。從這(zhè)樣的角度來(lái)看,無服務(wù)器(qì)是“雲計算(suàn)的一(yī)小步”,不斷驅使雲計算(suàn)更加完善,進入千百行業,服務(wù)用戶。
那麽,究竟什(shén)麽是無服務(wù)器(qì)技術,它是如(rú)何發展的,它的優點、缺點是什(shén)麽,對企業的價值在哪裏?本文将全面梳理(lǐ)。
1
在定義無服務(wù)器(qì)之前,先看一(yī)下(xià)業内的趨勢。
以去年8月(yuè)(yuè)CNCF(Cloud Native Computing Foundation,雲原生(shēng)基金(jīn)會)的一(yī)項調查為(wèi)例,無服務(wù)器(qì)的應用正在快(kuài)速增長。38%的企業表示目前正在使用無服務(wù)器(qì)技術,這(zhè)一(yī)比例較以往的31%有所增加,其中32%的企業采用托管類無服務(wù)器(qì)平台,6%的企業采用安裝類無服務(wù)器(qì)平台。
調查中,部分(fēn)受訪者目前仍未采用無服務(wù)器(qì)技術,這(zhè)一(yī)比例從過去的41%下(xià)降到了(le)37%。但(dàn)是,另外有26%的受訪者表示,計劃在未來(lái)12至18個(gè)月(yuè)(yuè)内使用無服務(wù)器(qì)技術。
這(zhè)項調查還對可安裝類無服務(wù)器(qì)平台市(shì)場(chǎng)的使用情況做了(le)具體(tǐ)研究,其中Kubeless占比最大,達到42%;Apache Open Whisk和 OpenFaaS分(fēn)别居于第二、三位,占比達25%和20%。
除了(le)安裝類無服務(wù)器(qì)平台外,托管類無服務(wù)器(qì)平台也(yě)是一(yī)大選擇,具體(tǐ)的市(shì)場(chǎng)分(fēn)布情況在這(zhè)裏不一(yī)一(yī)贅述,詳細情況可參考下(xià)圖。
數據來(lái)源如(rú)下(xià)。
https://www.cncf.io/blog/2018/08/29/cncf-survey-use-of-cloud-native-technologies-in-production-has-grown-over-200-percent/
據了(le)解,本次調查覆蓋2400名人(rén)員(yuán),其中包括49%的開發人(rén)員(yuán)、36%的運營人(rén)員(yuán)、11%的IT經理(lǐ)以及14%的開發經理(lǐ)。
事(shì)實證明,無服務(wù)器(qì)潮流已來(lái)。
2
既然無服務(wù)器(qì)是未來(lái)的一(yī)個(gè)趨勢,那麽,什(shén)麽是無服務(wù)器(qì)?
我們稍微回顧一(yī)下(xià)曆史沿革。在2009年,業内提出DevOps理(lǐ)念,指向敏捷開發、運維和協作(zuò)的方向。在2011年,有機構預測DevOps将發展成為(wèi)NoOps,也(yě)就(jiù)是未來(lái)不需要運維人(rén)員(yuán)。直到2014年,該概念才進一(yī)步得到了(le)擴展,落實到企業。
根據定義不同,業内通常有幾類簡稱:
FaaS:函數即服務(wù)(Function-as-a-Service,FaaS),或譯為(wèi)功能(néng)即服務(wù)。
BaaS:後端即服務(wù)(Backend-as-a-Service,BaaS)
MBaaS:移動後端即服務(wù)(MobileBackend-as-a-service,MBaaS)
CaaS:容器(qì)既服務(wù)(Containers-as-a-Service,CaaS)
3
業内通常以FaaS來(lái)定義無服務(wù)器(qì),它有幾個(gè)鮮明的特點。
首先,它同雲計算(suàn)一(yī)樣,演變成為(wèi)服務(wù)。開發者無需購(gòu)買硬件資源,更不用關(guān)心硬件的配置環境、物理(lǐ)設備和虛拟服務(wù)器(qì),隻需關(guān)心代碼的運營轉态是否高效。
其次,這(zhè)種代碼可以與傳統服務(wù)器(qì)代碼混用,也(yě)可以編寫不需要任何服務(wù)器(qì)配置要素的應用程序。
第三,FaaS将更多的運維壓力交給了(le)第三方雲廠商(shāng),由第三方管理(lǐ)服務(wù)器(qì)(物理(lǐ)或者虛拟)的運營狀态,特别是在多租戶的情況下(xià)确保運營的高效、穩定和安全。
第四,與容器(qì)、微服務(wù)的概念和應用密不可分(fēn),越來(lái)越趨于融合。
但(dàn)是,正如(rú)所有的技術都有不足一(yī)樣,無服務(wù)器(qì)的這(zhè)種完全依賴于第三方雲廠商(shāng)的技術還存在明顯的不足。
首先,對雲廠商(shāng)的要求提高。這(zhè)意味着尋找可靠的第三方雲服務(wù)商(shāng)尤為(wèi)重要,畢竟安全問題、多租戶問題、供應商(shāng)鎖定、API調用、功能(néng)缺失等基礎設施方面的功能(néng)都取決于雲廠商(shāng)。
第二,評估和測試工具。如(rú)何确保程序能(néng)順暢運營在第三方提供的無服務(wù)器(qì)環境中?是否有一(yī)些(xiē)評估标準和指标?通常來(lái)說(shuō),就(jiù)是基于何種标準來(lái)評定雲廠商(shāng)的環境更好(hǎo)(hǎo)更優?
第三,實施的困難。這(zhè)并不指程序能(néng)否運行,而是指程序集成、封裝的難度增加。由于隻能(néng)是運行某一(yī)類功能(néng),并且也(yě)無法實現(xiàn)“原子(zǐ)回滾”,程序的穩定性就(jiù)更為(wèi)重要了(le)。
4
所有技術都有其适用的場(chǎng)景,無服務(wù)器(qì)也(yě)并不是“包打天下(xià)”,它主要應用在以下(xià)這(zhè)些(xiē)範圍。
▷ 函數計算(suàn) 有人(rén)把無服務(wù)器(qì)也(yě)稱之為(wèi)函數即服務(wù),因為(wèi)其輕量級适合無狀态應用程序和函數式編程模型,包括應用程序的編程接口發布、查詢響應,面部識别和語音(yīn)識别等。對于華為(wèi)雲這(zhè)樣專注在AI應用的雲服務(wù)廠商(shāng)來(lái)說(shuō),能(néng)夠迅速提供這(zhè)種服務(wù),AI功能(néng)與之的匹配性更有優勢,也(yě)有專門的函數計算(suàn)産品CFC。
▷ 邊緣計算(suàn) 邊緣計算(suàn)的核心是将一(yī)部分(fēn)數據放(fàng)在邊緣節點收集、存儲和處理(lǐ),具有輕量級,數據量大、功能(néng)較為(wèi)單一(yī)等特點。這(zhè)也(yě)是無服務(wù)器(qì)領域一(yī)個(gè)較為(wèi)廣泛的應用,可以與邊緣計算(suàn)的存儲産品相結合。
▷ 某些(xiē)數據的工作(zuò)負載 如(rú)果隻具有某一(yī)類型功能(néng),并不需要太多的數據交互功能(néng),那麽像高性能(néng)計算(suàn)、商(shāng)業智能(néng)、建模、基礎科學研究等都是應用的場(chǎng)景。
從這(zhè)幾點來(lái)看,無服務(wù)器(qì)之所以流行是由執行任務(wù)單一(yī)、數據輕量、部署簡單的特性決定的。如(rú)果真要大規模落地,必然會推翻現(xiàn)有的諸多技術架構,尤其是編寫代碼的方式。
5
通常來(lái)說(shuō),新(xīn)技術之所以能(néng)被應用,是因為(wèi)具有降低(dī)成本、減少人(rén)力和讓IT團隊更敏捷等優勢,這(zhè)些(xiē)無服務(wù)器(qì)技術都具有。
使用無服務(wù)器(qì)技術就(jiù)如(rú)當前我們使用雲計算(suàn)一(yī)樣,按照實際的使用情況來(lái)計費,而不是按照預留的計算(suàn)資源來(lái)計費。這(zhè)也(yě)是無服務(wù)器(qì)技術的本質——功能(néng)既服務(wù),這(zhè)是在平台即服務(wù)(PaaS)甚至是容器(qì)即服務(wù)(CaaS)之上(shàng)發展衍生(shēng)出的一(yī)種服務(wù)形式,沒有脫離雲計算(suàn)的商(shāng)業範疇。
在一(yī)些(xiē)研究機構中甚至認為(wèi),無服務(wù)器(qì)技術可以為(wèi)企業節省70%~90%的成本,這(zhè)要取決于具體(tǐ)環境。也(yě)有人(rén)認為(wèi)這(zhè)種想法過于樂(yuè)觀。
當然,由于不用關(guān)心硬件、配置環境和運營,無服務(wù)器(qì)技術會讓開發者的敏捷性提高。DevOps最終演變成NoOps,就(jiù)會減少人(rén)力,讓企業的開發人(rén)員(yuán)專注在代碼方面。但(dàn)這(zhè)一(yī)願景一(yī)時(shí)半刻還實現(xiàn)不了(le)。目前可見的好(hǎo)(hǎo)處是,會讓開發具有更快(kuài)的開發速度和更低(dī)的成本。
6
無服務(wù)器(qì)技術始終在不斷演進的過程中,應用也(yě)不斷增多。福布斯技術委員(yuán)會認為(wèi),采用無服務(wù)器(qì)應用已經到了(le)一(yī)個(gè)臨界點。他們預測,2019年無服務(wù)器(qì)技術将有如(rú)下(xià)幾個(gè)重要趨勢。
▷ 标準化(huà) 越來(lái)越多有關(guān)于無服務(wù)器(qì)技術的标準将出台,這(zhè)将确保各個(gè)平台之間(jiān)具有更好(hǎo)(hǎo)的移植性和互操作(zuò)性。以CNCF為(wèi)例,已經将相關(guān)标準列入日程中。标準化(huà)的好(hǎo)(hǎo)處在于,促使越來(lái)越多的廠商(shāng)加大創新(xīn)力度,這(zhè)也(yě)是技術成熟的一(yī)個(gè)象征。
▷ 編排服務(wù) 目前,各大廠商(shāng)之間(jiān)的無服務(wù)器(qì)聯盟正在形成。除了(le)華為(wèi)雲之外,谷歌(gē)和IBM等公司也(yě)推出了(le)Knative的開源框架。試圖基于Kubernetes之上(shàng)實現(xiàn)無服務(wù)器(qì)、服務(wù)網絡和容器(qì)之間(jiān)的統一(yī),并形成一(yī)個(gè)雲應用的編排平台。這(zhè)可能(néng)也(yě)是趨勢之一(yī):容器(qì)和無服務(wù)器(qì)正在并行發展,最終将統一(yī)。
▷ 融合加快(kuài) 無服務(wù)器(qì)讓應用程序呈現(xiàn)分(fēn)布式狀态,在開發速度、模塊化(huà)方面都有優勢。但(dàn)在一(yī)緻性、完整性和運營方面還有缺點。未來(lái),企業将會越來(lái)越多的要求統一(yī)管理(lǐ)雲資源——包括網絡、公有雲和私有雲的資源,從不同的顆粒度來(lái)控制,這(zhè)将為(wèi)無服務(wù)器(qì)的應用迎來(lái)新(xīn)的轉機。
▷ 更複雜的測試工具 為(wèi)了(le)确保這(zhè)種基于微服務(wù)的應用順利通過測試,将會出現(xiàn)更多複雜的測試工具以應對測試挑戰。可能(néng)包括集成測試、基于應用的關(guān)鍵組件的測試等。
當然,這(zhè)些(xiē)趨勢還包括安全性、提高交付的速度和穩定性等,這(zhè)是任何新(xīn)技術出現(xiàn)或者在應用之前都需要考慮的問題。所有問題并不是一(yī)蹴而就(jiù)的,需要在實踐中慢(màn)慢(màn)得到解決。
7
本篇文章回答(dá)了(le)無服務(wù)器(qì)是什(shén)麽,優點和不足,以及為(wèi)企業帶來(lái)的好(hǎo)(hǎo)處等,尤其是針對未來(lái)的趨勢給出了(le)一(yī)個(gè)判斷。從中不難發現(xiàn),作(zuò)為(wèi)一(yī)種服務(wù),無服務(wù)器(qì)天然與容器(qì)、微服務(wù)密不可分(fēn),相互融合。而且随着技術的不斷演進,标準的不斷推出,相信各大廠商(shāng)的聯盟也(yě)會促進無服務(wù)器(qì)最終形成一(yī)個(gè)事(shì)實上(shàng)的标準,加速落地。
小貼士
容器(qì)和無服務(wù)器(qì)技術的關(guān)系
容器(qì)是依賴虛拟隔離來(lái)部署和運行操作(zuò)系統的方式,具有敏捷性、負載能(néng)力強,成本低(dī)。而無服務(wù)器(qì)技術隻關(guān)心應用程序和服務(wù)的運行狀态,管理(lǐ)的是服務(wù)器(qì)端的邏輯和狀态,可做到零管理(lǐ)。應用程序由事(shì)件觸發,調用時(shí)間(jiān)短,完全依賴于第三方。兩者密切相關(guān)。
按照這(zhè)種趨勢發展,預計在2~3年之内,無服務(wù)器(qì)将會和容器(qì)一(yī)樣,成為(wèi)部署的一(yī)種新(xīn)方式。
Copyright © 2013-2016 WWW.VZIDC.COM . All Rights Reserved. 微子(zǐ)網絡 版權所有 江蘇微子(zǐ)網絡科技有限公司