我們可以來看一下整個云的發展過程
講Serverless架構之前我們可以來看一下整個云的發展過程,在沒有云之前大家可能都是用的物理服務器,早期時候大家都用的物理機托管方式,采購一些服務器在機房里托管,這個時候大家前期要選擇物理機型號,要做好IDC網絡;如果出了問題還要請IDC人員幫你操作。這些設備的投入和運維成本還是很高的。

云時代到來之后,由于虛擬化技術的運用,我們用上了云主機。云主機是大家直接在云上做虛擬機購買,開通就可以使用。這時候我們稱之為IaaS(基礎設施即服務),這種情況下就無需物理機運營,直接放到云平臺來做。而之后隨著容器技術的發展,我們有了容器平臺,或者叫PaaS(平臺即服務)。在容器平臺到來之后實際上還存在一部分基礎設施運維問題,但是這時候基礎設施逐漸下沉到運維人員進行操作;而從應用開發者角度來看,他們已經不用再去關心虛擬機,或者操作系統。在這種情況下,應用開發人員更多的去關注應用所需要的計算資源或者存儲資源的使用。繼續向前發展,我們到了FaaS(函數即服務)。這時候運維人員不需要關注底層的運維,而是按需運行的能力。業務開發人員能夠進一步做與業務相關的事情。
接下來我們來看一下Serverless架構是什么。Serverless從物理機或虛擬機的使用上進行了分離,更關注上層業務的運行情況。Serverless架構包含兩塊:函數即服務和后端即服務。函數即服務提供的是計算能力。原有的計算能力,無論是容器也好,虛擬機也好都承載在一定的操作系統之上,函數即服務把計算能力進行了進一步抽象,我們在后文再繼續進行展開。另外,Serverless還有后端即服務,比如對象存儲,數據庫應用,緩存服務,我們也可以稱之為Serverless,因為這些服務也能夠在云上提供開通即服務,開通即使用的能力。在使用這些產品時同樣不需要關注它的服務器是什么樣的,它的服務器部署在哪里,而是服務開通就可以使用了,后面的運維工作都交給了云,所以不用感知它的最底層服務器,因此我們也可以把它稱之為Serverless。

這種服務就稱之為Serverless后端即服務。這兩個合起來可以稱為Serverless架構。