在架構設計時,第一個通常需要決定的就是應用程式的執行環境。除了傳統在伺服器直接安裝作業系統與應用程式外。
現在還有很多其他的選擇,包含:VM、Docker、Kubernetes、IaaS、PaaS、FaaS
本文一併介紹常與其他雲端服務形式混淆的SaaS。
在伺服器上直接安裝作業系統與應用程式
VM (Virtual Machine) 是在一台實體機器中分割多個獨立的虛擬機器,每一個VM可設置可使用的運算資源與記憶體資源量。在每一個VM中,安裝獨立的作業系統與應用程式。這種模式可以提供多個不互相干擾的軟體運作環境,以滿足多個不同的使用需求。
容器化技術的代表性產品,在同一作業系統中分隔獨立的軟體運作環境。
Kubernetes是一個大規模部屬與容器編排的工具。
主要功能如下:
FaaS(Function as a Service: 函數即服務,又稱為Serverless Function) ,是一種雲端服務的類型,概念為讓軟體開發人員只需專注於實作程式邏輯,而不須煩惱程式平台與系統管理議題。
SaaS (Software as a Service,軟體即服務) 是一種雲端服務的類型,雲端供應商管理整個應用程式,客戶只需要直接使用應用程式即可。雖然SaaS常與IaaS、PaaS、FaaS共同排列,但嚴格來說,它不算是可以供架構設計時選擇的程式運作環境。SaaS通常是提供一個可以直接使用的應用程式。若非要在上面執行自定義的程式,而是SaaS所提供的服務。使用SaaS可簡化安裝、管理應用程式的時間。