iT邦幫忙

2024 iThome 鐵人賽

DAY 8
1
Modern Web

初學者入門 - 有人叫我寫blog那就來做吧!系列 第 8

[day-07] - 淺談目前主流的架構 - 雲端化架構 ( Part.3 )

  • 分享至 

  • xImage
  •  

函式即服務(FaaS)

函式即服務(FaaS)是一種無伺服器運算的架構,開發者可以在指定環境中,部屬程式碼而無需擔心底層的伺服器管理。FaaS 在保有彈性的情況下,擁有自動擴充能力,適用於處理短暫任務和異步工作。

使用FaaS對企業來說,不需要擔心伺服器是否能承受的問題,因為每次運算階段都是獨立的,雲端會為你的服務即時分配所需的資源,並在執行完成後自動進行資源回收。

以下是示範案例

某個媒體公司需要快速處理大量圖片並上傳至網站系統中,調整內容包含尺寸、格式、加水印以及裁切尺寸。

解決方案: 公司選擇使用 FaaS 架構來處理。他們在 AWS Lambda(一種流行的 FaaS 服務)上部署了多個函數用於圖像處理,並將運算結果儲存到S3 存儲桶。

觸發方法:每當有圖片上傳到指定的 S3 存儲桶時,就會觸發 Lambda 函數。Lambda 函數根據預定義的規則進行圖像處理,處理完畢後的圖像會被保存在另一個 S3 存儲桶中,隨後透過API自動更新到網站上。

這樣就完成了一個簡單且高效率的雲端服務了,是不是很棒!?

微服務架構(Microservices)

微服務架構是將應用程式拆解多個小服務的開發方法,每個服務都有自己的執行流程(亦可使用FaaS實現),並透過 API 進行通訊。它們彼此之間可獨立部署,且可用不同的語言、平台進行開發。

優點

  • 靈活性高:單一服務的更新不會影響到整個系統。
  • 容錯性:一個服務故障不至於導致系統完全崩潰。
  • 技術多樣性:可以個別選各服務合適的平台和語言。

缺點

  • 複雜的管理:微服務的增加也提高了管理的難度。
  • 資料同步問題:分散的服務之間要維持資料同步其實有一定的難度,但也可以透過雲端提供的資料庫即服務建立統一的儲存介面。

無伺服器架構(Serverless)

無伺服器化架構又稱服務化架構,主張不需要管理任何硬體資源和底層系統,所有環境皆已為你準備就像是沒有伺服器一樣,無伺服器服務的供應商會自動處理硬體資源分配、維護和擴展。

優點

  • 降低成本:只為實際使用時間付費,減少了運營成本。
  • 開發效率:減少了對底層基礎設施的關注,加速開發流程。
  • 自動化運維:服務供應商負責維護基礎架構,包括安全性和可靠性。

缺點

  • 功能限制:可能受限於供應商的功能支援範圍。
  • 冷啟動問題:在伺服器資源初始化時可能會有延遲。

參考資料:

https://www.cloudflare.com/zh-tw/learning/serverless/glossary/serverless-vs-paas/
https://cloud.google.com/discover/types-of-cloud-computing


上一篇
[day-06] - 淺談目前主流的架構 - 雲端化架構 ( Part.2 )
下一篇
[day-08] - 淺談目前的網頁型態 - 會動但又不會動?
系列文
初學者入門 - 有人叫我寫blog那就來做吧!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言