關于無服務器計算,您需要知道的10件事
譯文【51CTO.com快譯】如果您閱讀了2017年有關于IT特別是云計算方面的各種預測,您很有可能碰到“無服務器計算”這一術語。早在2014年亞馬遜的網絡服務(AWS)已推出了***大無服務器計算服務——AWS Lambda。2016年,其他主流云提供商也跟進了此潮流。現在這種新型的云計算已為新的一年蓄勢待發了。
事實上,Gartner在其2017年的十大戰略技術趨勢里就提到過無服務器計算。該公司認為無服務器是網格式的應用和服務架構趨勢的一部分,并解釋說:“網格式的應用與服務架構(MASA)是一種多通道的解決方案架構,它利用云和無服務器、容器和微服務、以及APSs與事件來提供模塊化的、靈活的和動態的解決方案。”但該公司也警告說:這是一個長期的趨勢,它需要IT去采取各種新的工具和新的做事方式。
那么關于無服務器計算,您應該知道些什么呢?
如果這對您來說是一個新的理念或您只是不知道為何它被如此炒作的話,下面將向您介紹無服務器計算的關鍵概念和對其優、缺點的概述。
1. 無服務器計算并不是真的沒有服務器。
大多數提供商都承認“無服務器計算”一詞確實有些用詞不當。您的工作負荷總歸要運行在服務器的某處。而無服務器計算的不同之處在于:最終用戶不需要部署、采購、維護或管理這些服務器而已。事實上,您甚至不需要知道您使用著何種或者多少臺虛擬機(VMs)。
您可以想象無服務器計算是最近趨向于為最終用戶抽象和簡化IT的一個擴展。其***步是虛擬化,以免去用戶需要知道其工作負荷運行在哪臺物理服務器之上。云服務進一步使的得采購更為容易,但用戶仍需選擇他們要哪種虛擬機來運行、啟動和停止服務。無服務器計算在邏輯上走到了下一步,其服務能夠幫忙您選擇合適的虛擬機,并按需啟和停服務。
2. 這是一種云計算。
無服務器計算,其更具描述性的名稱(且為一些提供商偏好的名稱)是功能即服務或FaaS。就像IaaS、SaaS和PaaS那樣,FaaS是一種云計算。在這種情況下,您購買必要的IT基礎設施來運行應用程序的特定功能。例如,假設您的公司有一個用于創建特定報告的分析應用程序。您可以使用無服務器計算來實現創建報告的功能。當應用程序需要完成特定的任務時,該服務會自動擴展出所需的云實例,并在功能完成后自動關閉這些實例。您可以將FaaS用于一個完整的應用程序或只是一些功能。
3. 無服務器計算讓您在運行代碼時按毫秒級計費。
在使用其他類型的云計算服務時,提供商通常按小時收費,且客戶通常以被提前支付使用的方式獲取折扣。而無服務器計算提供商是以比秒更小的計費單位向客戶開具賬單的。以AWS Lambda為例,它是按照“每100毫秒執行您的代碼和代碼被觸發的次數。”的標準向用戶計費的。此處的好處在于:當您沒在使用活躍的云計算實例時,您不必為其買單。因此它將給云計算帶來“按使用付費”的細粒度級新模型。
4.無服務器計算提供了更多利好。
無服務器計算的主要好處是:開發人員在創建應用程序時,不再需要花時間考慮基礎設施對應用程序的管理。他們只需上傳代碼,而該服務會打理剩下的各種事務。對于企業來說,這可能導致大量的時間和成本的節約。它省下了員工們管理基礎設施的精力,去從事更有價值的項目。此外,它可以提高靈活性,以允許公司能更快地推出新的應用程序和服務。這轉而又可以提高客戶的滿意度。所有這些好處都可以幫助公司更加盈利也更為成功.
5. 無服務器計算對DevOps乃是極好的。
根據RightScale(一家云管理的服務商)的2016年度云狀態報告顯示,DevOps的趨勢是:74%的整體組織和81%的大型企業已經在IT中采用了DevOps的各種方法。與敏捷軟件開發密切相關聯,DevOps也采用敏捷原則,并將它們應用于IT的運營管理。它鼓勵開發人員和運營人員之間的溝通和密切合作,且開發人員常常要扮演管理其應用程序所運行的基礎設施的角色。
由于無服務器計算減少了員工們花費在管理服務器上的時間和精力,所以能很好的適用于DevOps環境。在某些情況下,FaaS允許組織采用一種“免運營(NoOps)”的方法,即對服務器的部署和管理已是如此的自動化,以至于開發人員根本不需要與運營人員進行協作了。
6.無服務器計算與微服務架構有關。
無服務器計算也與另一個熱門發展趨勢:微服務架構密切相關。在微服務體系結構中,開發人員獨立地將其能夠構建、管理和擴展的各種小服務拼裝成應用程序。而無服務器計算本質上就能將此細化到更小的水平。
然而,在業界內也有對微服務和其功能的構成方面的爭論。兩者之間的區別是模糊的,一些提供商經常將微服務和功能這兩個術語進行混用。
這里值得重點注意的是:將應用程序視為各種較小獨立的部分的集合,而不是個單一的整體已是一種趨勢。
7. 您不需要學習一門新的語言。
各個無服務器計算的提供商已很快表明,其FaaS產品支持多種編程語言和框架。一般來說,對于一個提供商的其它云計算服務所支持的特定語言或工具,其無服務器計算很可能也會支持。
對于開發人員來說,這種具有語言方面支持的特性,增加了無服務器計算所能提供的生產力和效率。因為他們不需要花大量的時間去學習新的語言,大多數開發人員完全可以迅速開始上手無服務器計算。事實上,甚至一些提供商已在廣告里聲稱:開發人員可以在短短幾分鐘之內建立和運行其FaaS產品。
8. 無服務器為您擴展。
對于正在經歷著快速增長的組織而言,無服務器計算的可擴展性是其最有吸引力的特征之一。構架一個應用程序,使之在應對數百萬個用戶時能夠有像在應對幾十個用戶時一樣工作表現,是當今開發人員所面臨的最困難的挑戰之一。無服務器計算卻消除了該挑戰,因為每個功能都是獨立擴展,而不需要員工提供額外的虛擬機或實例。如果一個應用程序的實際使用和開發人員最初期望有所不同,那么由于該服務會自動為每個功能按需提供必要的額外資源,因此這將不會成為一個問題。
9. 無服務器計算也有些缺陷。
既然無服務器計算有這么多的好處,您可能會問:那么為什么不是每個人都在使用它呢?可見這種方法也有著一些缺陷。
首先,因為無服務器計算技術非常新,很難找到有經驗的員工和工具來支持它。這個問題可能會隨著時間的推移變得好一些,但當前的確是一個障礙。
其次,更重要的是,雖然無服務器計算簡化了一些東西,但它卻復雜化另一些。員工們不再擔心一個大的應用程序或是幾個微服務的同時,他們現在需要考慮的是數十或是數百個獨立的功能。因此整個“生態系統”變得更加復雜,且需要新的管理技術和過程。
第三,企業也可能會因為預見到更大數額的賬單而止步不前。如果他們習慣于對云計算進行預付的方式的話,無服務器計算則會給一些組織可能帶來一定程度的不確定性與挑戰。
10. 您有不同的無服務器計算提供商可選擇。
如果您已經準備好去嘗試無服務器計算的話,您有很多可選擇的提供商。***的FaaS當屬AWS Lambda,這也是最成熟的可用產品之一。IBM Bluemix提供了一個叫做OpenWhisk的無服務器計算平臺,而微軟Azure也有一個叫做Azure Functions的服務。谷歌云平臺的無服務器仍處于alpha版本,且它被叫做Cloud Functions。
除了主流云提供商,一些小的廠商也投身進了無服務器業務。它們包括提供一個無服務器平臺并可運行在任何云上的Iron.io公司,和一個能提供運行在AWS Lambda上框架,其命名有些缺乏想象,直接被叫做Serverless。此外,Joyent(現在已并入三星了)也提供一個叫做Manta Functions的無服務器服務。
【原標題】Serverless Computing: 10 Things You Need to Know (作者:Cynthia Harvey)
原文鏈接: http://www.datamation.com/cloud-computing/slideshows/serverless-computing-10-things-you-need-to-know.html
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】
【編輯推薦】
你造嗎?多云計算還存在很多問題
總編下午茶:挑戰者心態能否幫助微軟重回云計算***?
2017年云計算成本將會更低
解讀云計算霸主AWS
阻礙云計算在數據中心發展的五大因素
【責任編輯:劉曉旭 TEL:(010)68476606】