OpenFaaS 101 - 1 : Serverless & Faas

OpenFaaS 101 - 1 : Serverless & Faas

在開始 OpenFaaS 之前,需要先了解兩個概念: Serverless Computing, FaaS

近幾年 MicroService 微服務,Cloud Computing雲計算 ,Kubernetes 等技術 已經成熟的落地,甚至變着花的玩兒的時候;很多人開始探索下一代架構 Serverless Computing

先說一下個人觀點,真正適合自己的纔是好的,不要盲目採用新技術

首先解釋下,什麼是 Serverless Computing:字面意思 無服務器,但並不意味着真的沒有服務器了,而是說對你而言,不再需要服務器了,取而代之的是,將app直接部署到 Cloud Platform 上,它們去負責以前你不得不自己動手的 server-side tasks

通俗一點說就是,你只需要專注於業務邏輯代碼,不需要管其他系統架構之類的事情了。說到這,很多人就會想到,這句話好耳熟啊,感覺每出現一種新架構的時候,都是這麼sale的。

那下面也就來說說,這些年架構上面的一些變化,也能夠很好的理解 Serverless 如何演變出來的。

  • DIY: 最早的DIY時代,什麼都需要自己來,那時候最常見的就是,建機房,架服務器,拉網線,然後一個巨大的project,試想下從0開始 Linux Kernel

  • Virtualization: 各種虛擬化技術的成熟,那時候的旗號是,每年可以節省多少多少server的錢,一臺server我可以部署n多個project

  • IaaS: 虛擬化的更進一步,連一臺物理server也不想整了,物理機房也解放了;你所有的server都是在雲端,這時候各種公有云私有云興起;這裏的 I infrastructure 最主要指的是 算力computing/存儲storage/網絡network
    在這裏插入圖片描述

  • PaaS: IaaS的更近一步,雖然IaaS已經在雲端了,並且是由Vendors來負責computing/storage/network;但是還是需要我們來負責,具體什麼樣的操作系統OS,OS內都需要安裝哪些運行環境Runtime,甚至各種中間件Middleware;而在 PaaS 上,這些你都不需要再管了,完全交由vendor來負責,你只需要管理的App和數據;但缺點也是很明顯的,你的App必須契合你所選的Platform

  • SaaS: System as a Service 不是對於開發人員來說的,而是End User,不再需要安裝Software而直接使用,最常見的Microsoft 365,Salesforce

  • CaaS: 重新回到開發人員,Container as a Service,也就是現在的Kubernetes,也是目前用的最舒服的架構

  • FaaS: Container架構的更進一步,在CaaS裏,dev還需要負責將諸如tomcat/gunicorn等web server打進Pod內,且需要調優來提高performance;到了FaaS function as a service,開發人員只需要提供你的代碼/function即可,其他的都由 FaaS 來負責

說到這,小朋友你是否有很多小問號,“只需要寫function就行了?”

是的,只需要提供function即可,如下圖: 只需要提供function,在有request的時候,platform將functiuon load成container,來serve request
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

目前比較有名的 FaaS 是 AWS的Lmabda,而開源方面做的最好的就是 OpenFaaS

如果用一句話介紹OpenFaaS的話,就是官方的這句

OpenFaaS® makes it easy for developers to deploy event-driven functions and microservices to Kubernetes. Package your code in a Docker image to get a highly scalable endpoint with auto-scaling and metrics

OpenFaaS的幾大特性

  • easy to use: 有UI/Portal可以直接操作,也有Metric/Dashboard可以查看各種指標;
  • function support all language
  • 運行在k8s等其他雲上
  • 自動擴容

下一篇,就正式開始上手 OpenFaaS

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