what's next? Serverless & IaaS, PaaS, SaaS, DaaS, BaaS, Faas

 

什麼是Serverless無服務器架構?

  Serverless不代表再也不需要服務器了,而是說:開發者再也不用過多考慮服務器的問題,計算資源作爲服務而不是服務器的概念出現。Serverless是一種構建和管理基於微服務架構的完整流程,允許你在服務部署級別而不是服務器部署級別來管理你的應用部署,你甚至可以管理某個具體功能或端口的部署,這就能讓開發者快速迭代,更快速地開發軟件。

  以亞馬遜的AWS Lambda爲案例,Lambda能讓不用思考任何服務器,也就是說,不用你處理服務器上的部署、服務器容量和服務器的擴展和失敗容錯,還有服務器上選擇什麼OS操作系統,語言的更新,日誌等等問題。你的應用程序只需要和多個第三方的API或服務打交道,也可以自我創建一個無服務器的API。

  Serverless有以下幾個特點:

  1. Serverless意味無維護,Serverless不代表完全去除服務器,而是代表去除有關對服務器運行狀態的關心和擔心,它們是否在工作,應用是否跑起來正常運行等等。Serverless代表的是你不要關心運營維護問題。有了Serverless,可以幾乎無需Devops了。
     
  2. Serverless不代表某個具體技術,有些人會給他們的語言框架取名爲Serverless,Serverless其實去除維護的擔心,如果你瞭解某個具體服務器技術當然有幫助,但不是必須的。
     
  3. Serverless中的服務或功能代表的只是微功能或微服務,Serverless是思維方式的轉變,從過去:“構建一個框架運行在一臺服務器上,對多個事件進行響應。”變爲:“構建或使用一個微服務或微功能來響應一個事件。”,你可以使用 django or node.js 和express等實現,但是serverless本身超越這些框架概念。框架變得也不那麼重要了。
     

  Serverless規模擴展性方面由於充分利用雲計算的特點,因此其擴展是平滑的,同時由於Serverless是基於微服務的,而一些微功能微服務的雲計算是零收費,這樣有助於降低整體運營費用。

  將來下述具體應用將可能使用Serverless架構:

  • 靜態網站的管理
  • 替代WordPress(Serverless Blog Project)
  • 個人媒體服務器(less!)
  • 物聯網Iot或家庭自動框架或項目 (使用 AWS IoT)

無服務器架構

  無服務器架構是傳統的雲計算平臺延申,是 PaaS向更細粒度的BaaS和FaaS的發展,Serverless=BaaS+FaaS+...! Serverless 真正實現了當初雲計算的目標!

BaaS是後端即服務,FaaS是函數即服務!根據Martin Fowler網站無服務器架構定義:

  1. BaaS:無服務器首先用於描述顯着或完全包含第三方雲託管應用程序和服務的應用程序,以管理服務器端邏輯和狀態。這些通常是“富客戶端”應用程序 - 認爲單頁網絡應用程序或移動應用程序 - 使用龐大的雲可訪問數據庫生態系統(例如,Parse,Firebase),身份驗證服務(例如,Auth0,AWS Cognito),以及等等。這些類型的服務以前被描述爲“ 後端即服務 ”。
  2. FaaS:無服務器也可以指服務器端邏輯仍然由應用程序開發人員編寫的應用程序,但是,與傳統體系結構不同,它在無狀態計算容器中運行,這些容器是事件觸發的,短暫的(可能只持續一次調用),並且完全由第三方。想到這一點的一種方法是“作爲服務的功能”或 “FaaS”。AWS Lambda是目前功能即服務平臺最受歡迎的實現之一,但還有很多其他也是。

  Serverless是在傳統容器技術和#服務網格上發展起來,更側重讓使用者只關注自己的業務邏輯即可。

  2018年Google推出Serverless世界的利器:#Knative ,可在任何公有私有云上實現無服務器架構,這樣用戶使用無服務器編程可以不限於特定的雲平臺如亞馬遜AWS。

  

無服務器Serverless架構(Martin Fowler) 

中立觀點:無服務器架構的特點 | ThoughtWorks

無服務器使用場景舉例

什麼是雲原生cloud native應用?

雲計算與無服務器有什麼區別?

幽默:容器派與無服務器派的爭鬥

無服務器是一種學說,而不是技術

雲原生是一個營銷詞語!

營銷謊言:微信小程序目前並不是Serverless!

中臺是一個營銷概念!

#Serverless無服務器

#Kubernetes    #Docker #服務網格 

微服務專題 雲計算專題 EDA事件驅動架構

 

*aaS

aaS 是 As-a-Service 即爲服務 的意思。

As a Service

IaaS (Infrastructure as a Service)

基礎設施即服務

wikipedia:基礎設施即服務

服務商提供底層/物理層基礎設施資源(服務器,數據中心,環境控制,電源,服務器機房),客戶自己部署和執行操作系統或應用程序等各種軟件。

雲端公司把IT環境的基礎設施建設好,然後直接對外出租硬件服務器或者虛擬機。消費者可以利用所有計算基礎設施,包括處理CPU、內存、存儲、網絡和其它基本的計算資源,用戶能夠部署和運行任意軟件,包括操作系統和應用程序。消費者不管理或控制任何雲計算基礎設施,但能控制操作系統的選擇、存儲空間、部署的應用,也有可能獲得有限制的網絡組件(例如路由器、防火牆、負載均衡器等)的控制。

雲端公司一般都會有一個自助網站,用戶可以向雲端公司簽訂租賃協議以獲取一個賬號,登錄之後可以管理自己的計算設備:開關機、安裝操作系統、安裝應用軟件等。 IaaS型租用方式對用戶來說優點很明顯,就是非常靈活,也是自由度最大的一種類型。用戶可以決定安裝什麼操作系統,以及是否需要安裝或者安裝什麼類型的數據庫,安裝什麼軟件等等。就像自己買了臺電腦,如何使用是你全權做主。 不過缺陷也很明顯,除了管理維護量大之外,還有一個缺陷就是:計算資源嚴重浪費。操作系統、數據庫以及中間件本身就要消耗大量的計算資源,而這些消耗對於租戶而已是必須的但是又是無用的,因爲用戶只是想要運行軟件。


PaaS (Platform as a Service)

平臺即服務

wikipedia:平臺即服務

服務商提供基礎設施底層服務,提供操作系統(Windows,Linux)、數據庫服務器、Web服務器、域控制器和其他中間件,以及服務模型中的備份服務等中件層服務。例如IIS,.NET,Apache,MySQL …,客戶自己控制上層的應用程序部署與應用託管的環境。

雲端公司要做事情就是運行軟件所需要的下7層部署完畢,然後再PssS上劃分小塊(習慣稱之爲容器)對外出租,租戶只需要安裝和使用軟件就可以了。 平臺軟件層包括操作系統、數據庫、中間件和運行庫,但是並不是每一個軟件都需要這4部分的支持,需要什麼是由軟件決定的。所以PaaS又分爲2種,半平臺PaaS和全平臺PaaS。

1、半平臺PaaS:只安裝操作系統,其他的租戶自己去解決。這樣會比較麻煩,因爲你需要有較強的技術實力,而且需要耗費部分資源去安裝軟件運行需要的、的中間件、運行庫、數據庫。

2、全平臺PaaS:安裝應用軟件依賴的全部平臺軟件,也就是4部分全部準備完畢。不過大家也知道,世界上的應用軟件如此龐大,支撐他們的語言、數據庫、中間件、運行庫可能都不一樣,PaaS雲端公司不可能全部都去安裝,所以他們支持的軟件是有限的。

相對於IaaS來說,PaaS租戶的靈活性降低了,只能在雲端提供的有限平臺範圍內做軟件,但是有點也很明顯,能夠最大化利用租用的資源和不需要租戶有高深的IT技術。


SaaS (Software as a Service)

軟件即服務

wikipedia:軟件即服務

服務商提供基於軟件的解決方案,滿足客戶最終需求;如OA、CRM、MIS、ERP、HRM、CM、Office 365、iCloud、G Suite等應用,客戶不需考慮任何形式的專業技術知識,獲得完整的軟件包,使他們的日常工作和生活變得更輕鬆。

對比PaaS略微有一點不同,應用軟件是雲端公司來安裝、運維的,租戶使用軟件,需要管理的是這些軟件產生的數據信息。

一般來說SaaS適用的軟件都有如下的特點:
(1)複雜:軟件龐大、安裝複雜、使用複雜、運維複雜,單獨購買架構昂貴,例如ERP、CRM、BI等。
(2)模塊化:按功能模塊劃分,需要什麼功能就組什麼模塊。
(3)多租戶:多個企業用戶同時操作,使用同一個軟件而不是互相干擾。當然,數據是邏輯隔離的,不同用戶的數據檢索字段之一必然是用戶身份信息。
(4)I18N & L10N:多幣種多語言多時區的支持


BaaS(Backend as a Service)

後端即服務

服務商客戶(開發者)提供整合雲後端的服務,如提供文件存儲、數據存儲、推送服務、身份驗證服務等功能,以幫助開發者快速開發應用。


FaaS(Function as a service)

函數即服務

無服務器計算,當前使用最廣泛的是AWS的Lambada。

服務商提供一個平臺,允許客戶開發、運行和管理應用程序功能,而無需構建和維護通常與開發和啓動應用程序相關的基礎架構的複雜性。 按照此模型構建應用程序是實現“無服務器”體系結構的一種方式,通常在構建微服務應用程序時使用。


DaaS(Data as a service)

數據即服務

雲端公司負責建立全部的IT環境,收集用戶需要的基礎數據並且做數據分析,最後對分析結構或者算法提供編程接口,讓數據成爲服務。

DaaS是大數據時代的象徵,能做DaaS服務的雲端公司需要從數據積累、數據分析和數據交付三方面積累自身的核心競爭力。


NaaS(Network as a service)

網絡即服務

指客戶可以通過互聯網訪問第三方網絡傳輸服務,並採用基於訂閱模式的付費方式。

在中國移動“5G+發佈會”上,中國移動發佈了網絡即服務(NaaS, Network as a Service)能力體系,,通過打造一個核心基石、六大創新能力,實現開放化的網絡即服務。,從而爲各行各業數字化轉型升級注入“5G+”新動能,助力社會、經濟高質量發展。

中國移動副總裁李正茂解釋到全面詮釋了一個核心基石、六大創新能力的網絡即服務理念:網絡即服務能力體系所包含的一個核心基石是打造覆蓋全國、技術先進、品質優良的5G精品網絡。六大創新能力則是在構建5G精品網絡的基礎上,推動5G與“AICDE”(人工智能、物聯網、雲計算、大數據、邊緣計算)緊密融合,提供人工智能即服務(AIaaS)、物聯網即服務(IoTaaS)、雲計算即服務(CloudaaS)、大數據即服務(DataaaS)、邊緣計算即服務(MECaaS)、安全即服務(SecurityaaS),從而向各行各業提供開放化的網絡即服務。


As a Service


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章