無伺服器計算的5個優點和3個缺點 - TechRepublic

banq發表於2019-07-03

無伺服器計算非常適合某些應用程式,但在首先進入無伺服器深度端之前需要考慮一些缺點。如果您已經接觸過雲端計算世界,您可能已經聽說過一種越來越受歡迎的服務:無伺服器計算。
這種形式的計算即服務有其優勢,特別是對那些真正想要放手雲端計算的人來說,但並非適合所有人。如果您一直在考慮放棄一臺永遠線上的雲端計算機,轉而使用按需無伺服器服務,請權衡這些優缺點,以幫助確定無伺服器計算是否適合您。

1.沒有基礎設施可以維護
關於雲是否真的是“ 別人的計算機 ”的辯論還在繼續,但這場爭論在無伺服器計算中並沒有真正佔據一席之地。
無伺服器計算機服務是用於執行單個功能的小程式碼片段,在預先存在的伺服器上執行,這些伺服器也為無數其他客戶執行功能。由於您實際上正在使用其他人的計算機來執行無伺服器功能,因此沒有基礎架構可以維護 - 甚至虛擬化 - 無伺服器計算。

2.功能未執行時無成本
與其他雲服務相比,與無伺服器計算相關的成本很低。在無伺服器模型下消除了訪問授權,存在檢測,安全性,影像處理以及與操作伺服器相關的其他成本,無論是物理的還是虛擬的。
要了解與無伺服器計算相關的成本,請檢視 AWS Lambda定價表。Lambda函式是AWS提供的一種無伺服器計算,對於那些需要執行分析,處理資料,管理Web應用程式或執行Lambda處理的其他服務的人來說,它具有極高的成本效益。
那些每月執行不到一百萬和400,000 GB秒計算時間的人不必支付任何費用。除此之外,每增加一百萬個請求只需要0.20美元,每增加一個GB秒處理能力只需0.00001667美元(這只是一個估算值,可以根據函式使用的記憶體量而有所不同)。除香港外,所有地區的定價均相同(有關詳細資訊,請參閱AWS Lambda定價頁面)。
簡而言之,無伺服器功能可能很便宜,如果它們沒有被使用,你就不會支付任何費用。

3.無限可擴充套件
展望谷歌的雲功能,其 最大的賣點之一是其自動擴充套件功能。Google與AWS和Azure共享這種功能 - 事實上,任何值得投資的無伺服器平臺都可以根據需要進行擴充套件。
這是無伺服器計算的另一個優勢 - 無需為現有例項分割槽新的雲伺服器或購買額外的計算能力。所有這些都是由無伺服器計算平臺處理的,除了稍微大一點的額外計算時間外,您不會感到複雜。

4.減少延遲

Cloudflare指出,使用無伺服器功能可以大大減少終端使用者的延遲。任何雲提供商的資料中心都可用於執行無伺服器功能。這意味著使用者最接近的伺服器將是執行該功能的伺服器,從而顯著縮短響應時間。

5.降低軟體複雜性
構建直接在計算機上執行的程式碼時,必須考慮很多事情:作業系統,執行某些任務所需的硬體資源,依賴關係以及其他因素都是構建功能應​​用程式的一部分。
無伺服器計算功能不需要考慮任何因素 - 程式碼只需要被所使用的雲平臺支援。除了易於構建之外,無伺服器功能需要 更少的編碼知識來構建,這為低技能水平的人開放了開發。

無伺服器計算的3個缺點:
1.安全問題
執行無伺服器功能的伺服器為無數客戶執行它們,這會引發許多安全問題。TechRepublic姊妹網站ZDNet列出了 與無伺服器計算相關的10種潛在安全風險,其中包括:

  • 函式事件資料注入,這是對執行無伺服器功能的伺服器的SQL隱碼攻擊式攻擊;
  • 不安全的無伺服器部署配置,它解決了管理端的任何錯誤,使無伺服器計算伺服器對中間人攻擊開放;
  • 對功能的監控和記錄不充分,這可能會使管理員向執行偵察的攻擊者傾斜,以測試攻擊的可能性;
  • 不安全的第三方依賴項 - 呼叫第三方依賴項的無駐留功能可能會使資料面臨風險,如果這些依賴項包含惡意程式碼; 和
  • 對無伺服器平臺的DDoS攻擊可能會使它們超載並同時為多個客戶取消功能。

2.供應商鎖定
在一個平臺上構建無伺服器功能可能意味著很難遷移到另一個平臺 。程式碼可能需要重寫,一個平臺上存在的API可能不存在於另一個平臺上,從AWS轉移到Azure或Google Cloud需要承諾額外的人力(和金錢)。
如果您打算投資無伺服器平臺,請確保您正在考慮的供應商擁有您需要的一切,因為對您的無伺服器計算提供商不滿意幾個月或幾年的服務可能是一個主要問題。

3.除錯更加困難
每次無伺服器例項載入時,它都會建立自己的新版本,這意味著收集除錯和修復無伺服器功能所需的資料很困難。
雖然存在記錄無伺服器功能事件的第三方工具,但是如果不新增其他工具,除錯無伺服器功能可能很麻煩。例如,AWS 需要逐步除錯(逐行)以找出出錯的地方。
除錯無伺服器功能是可能的,但這不是一項簡單的任務,它可能會佔用大量的時間和資源。
 

相關文章