無伺服器應用篇(上) 如何採用無伺服器架構?企業在挑選無伺服器服務時需注意的3個重點

Beatrice
SoftChef Blog_CN
Published in
Mar 15, 2021

前一篇說明了無伺服器架構的核心&對企業的 4個優點,這次要繼續站在企業的角度討論如何採用Serverless無伺服器架構,以及挑選無伺服器服務時應該注意的重點。

Gartner指出無伺服器架構(Serverless architecture)浪潮會持續至2022,建議 IT 部門主管摸索其技術優點並找出可與自身結合的應用方式。
Gartner指出無伺服器架構(Serverless architecture)浪潮會持續至2022,建議 IT 部門主管摸索其技術優點並找出可與自身結合的應用方式。

想建立無伺服器架構,企業需要準備與預期什麼?

大多數情形、新型服務皆適用無伺服器架構,而且可根據產業場域、開發需求甚至是IT成員的個人習慣打造高度客製的無伺服器應用。雖然Serverless架構具有高度彈性,但企業採用前依然需要考慮以下兩件事:

  1. 確定要變更應用程式結構
  2. 變更架構不影響現行程式碼運作

假設企業的方針是繼續提供目前的服務,且沒有規劃變更架構,應該盡量避免程式的變更,因為這牽涉大量程式碼的修改,可能在過程中影響所提供的服務品質。若團隊已在應用程式上指定特定的作業系統來修補程式,或進行低階網路作業,為了精準掌握環境及程式碼的運作,亦不適合採用無伺服器架構。

若您遇到上述的情況,還是必須考量轉換過程與後續的經濟效益,才能判斷無伺服器架構是否為最合適的選擇。

source: https://d1.awsstatic.com/whitepapers/zh_TW/optimizing-enterprise-economics-serverless-architectures.pdf

確定想採用無伺服器架構之後,在挑選服務時,企業需要注意什麼?

  1. 團隊是否具搬運系統的能力及資源(例如: 雲端架構師、雲端維運工程師)
  2. 轉換架構的經濟效益 (例如: 長期下來能否節省雲端支出、提升應用程式穩定性)
  3. 雲端服務是否具備完整性(例如: 不同服務間是否相容、能否進行數據分析、開發服務夠不夠多元)

進入考慮階段時,首先需要評估團隊是否具備雲端架構師、雲端維運工程師等熟知雲端建置與服務的成員,並且能夠在有限的時間內完成程式碼搬運,利用雲端服務商提供的多樣開發服務組成企業想建構的應用程式(Application)。

具有這些知識與資源後,所開發出來的應用程式才能發揮無伺服器架構可靠且靈活的優勢,以及利用這些優勢進行雲端運算、儲存、編寫、診斷等動作。

一個可靠的無伺服器應用程式應具備: 雲端邏輯層、應用程式模型、整合程式庫、安全與存取控制等多種功能。其中,雲端邏輯層是無伺服器應用的核心,因為它負責執行業務邏輯,還掌管了程式的效能與擴充性。

名詞補充:業務邏輯 (Business Logic)是什麼 ?

業務邏輯: 泛指應用程式提供服務時,應具備的規則與流程,由應用程式架構中的業務邏輯層定義。

一般的軟體系統架構可分為三層,依序為表示層、業務邏輯層和資料訪問層。表示層包含使用者介面與互動;資料訪問層則負責資料存取;而業務邏輯層定義了程式要完成的動作、資料完整性以及工作流,負責接收表示層的請求,經過邏輯判斷後再向下一層的資料訪問層傳送請求,並回傳資料訪問的結果到表示層,扮演著承上啟下的角色,是兩層之間的橋樑。

source:

https://pages.awscloud.com/rs/112-TZM-766/images/Asset2-optimizing-enterprise-economics-serverless-architectures.pdf

https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/406236/

回到無伺服器應用程式開發,負責業務邏輯的是雲端邏輯層。在執行事件、指令時,不同資源間的整合、自動擴充乃至於使用者體驗,都與業務邏輯息息相關,這也是為什麼穩固的雲端邏輯層如此重要。

團隊除了要有能力規劃、使用無伺服器服務,還需要考量轉換的整體成本,像是: 無伺服器應用程式的建置時間、程式碼搬運過程中的服務停擺等,並且評估短期、中期,和長期的經濟效益。團隊可以依預算選擇自行建置或購買解決方案。

以自行建置來說,平均時間為12~16個月,且須仰賴熟悉各項微型服務的雲端架構師,或具雲端系統與伺服器建置經驗的技術人員,需要投入的時間和資源是企業考量時的一大重點。

自行建立無伺服器應用雖然能依照情境打造專屬的功能,卻也可能面臨技術瓶頸,花費極長的時間與成本依然無法成功建置。因此,不少企業會選擇導入相對簡單但也較為制式的解決方案,來縮短建置的時間。

最後,企業也必須評估雲端服務供應商所提供的服務完整性。市場上有多家服務供應商,不同廠商提供的服務也不盡相同,企業必須釐清自己的需求,依此比較不同的雲端服務供應商,確認不同微型服務間能否順暢運作以及服務是否完整。

完整的雲端服務需包含資料管理、訊息發送、功能診斷等全方位的面向,若無伺服器產品或組合不夠完整,則可能無法成功建立無伺服器應用,因為開發人員無法順利地在相同的抽象層級編寫程式碼,而必須重新調整架構。

如何享受無伺服器架構的優點?

您可以向服務提供商尋求技術方面的諮詢,或是委託熟知無伺服器技術的解決方案提供商。軟領科技是AWS信賴的合作夥伴,也是APN Partner Network中的一員,並且是大中華區首座 AWS IoT Lab 的創始成員。已協助橫跨8個領域,超過35個企業執行數位轉型,並兼具海內外轉型經驗、多項大型專案經驗,致力於提供不同場域的物聯網與智慧城市解決方案。

若您有無伺服器技術轉型方面的疑問或物聯網轉型需求,歡迎聯絡我們,讓我們一起開創更多可能性!

<<上一篇 什麼是Serverless無伺服器架構?為企業帶來的4個好處&重點一次整理!

下一篇>> 無伺服器應用篇(下) 新創、大公司都在用的Serverless有什麼常見的應用? 四個Serverless應用一次解析

--

--