精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

從公有云無服務器應用中獲得最大收益

責任編輯:jackye

作者:Stephen J. Bigelow

2017-04-28 10:51:55

摘自:TechTarget中國

摘要:服務器計算可以降低公有云中的應用成本,但企業需要正確的技能才能獲得這些,且收獲其他收益。

無服務器計算可以降低公有云中的應用成本,但企業需要正確的技能才能獲得這些,且收獲其他收益。

無服務器計算允許組織在更細的顆粒度上構建和部署云應用。與使用單體代碼構建的傳統應用相比,無服務器應用將工作負載分解為離散功能,它們僅在由某個事件調用或觸發時才會運行。

盡管名字被定義為“無服務器”計算,但無服務器計算并不能完全排除服務器的使用。相反,它僅在功能加載并運行時才使用服務器。這最大限度地減少了資源的使用,從而能夠在公有云中節省資金。

主要的公有云提供商現在都提供某種形式的無服務器計算,如Amazon Web Services(AWS)Lambda、Microsoft Azure Functions和Google Cloud Functions。下面讓我們來仔細看看無服務器計算以及如何充分利用這一新興技術。

開發人員和管理員需要哪些技能才能使用無服務器計算?

無服務器計算代表了構建和管理應用的完全不同的方式,因此開發人員和云管理員都應該進行調整,以充分利用此技術。

開發人員面臨的主要變化是無服務器應用的結構。傳統的單體應用通常是通過變量進行數據交換。向微服務的轉變推動了這一思想的演進,將軟件分解成功能組件,可以獨立擴展并使用API來交換數據。無服務器計算更是將其帶到極致; 它將軟件功能分解為單獨的離散功能,企業只在需要時才進行調用。這意味著核心應用可以小得多,并且使用更小和更便宜的云計算實例。

無服務器計算也會影響云管理員。例如,管理員必須監督幾十個甚至更多的功能的可用性和性能。這意味著,對于每個功能來說,他們都需要監控性能,排除故障,跟蹤使用情況和成本,然后將這些成本納入到更高層應用的成本中。管理員可以使用其公有云提供商的監控功能,例如Azure Functions的“監視器(Monitor)”頁簽,來分析和評估每個功能。

管理員還必須實現與開發人員共享持續管理信息的機制。這將允許持續地開發無服務器應用程序來優化性能和成本。

哪些應用最適合無服務器?

無服務器計算最適合于具有輕資源需求,最小化依賴關系,并且不需要延長時間來運行的小型無狀態的功能。該功能應該盡快地啟動,運行和退出。具有更多資源或時間要求的任務更適合于常規的VM或容器部署。

功能通常對資源,并發和部署規模有所限制,因為云提供商需要快速啟動實例,并提供資源來加載和執行功能的代碼。例如,AWS Lambda目前允許使用512 MB的臨時磁盤容量,1,024個文件描述符,1,024個組合的總進程或線程,以及最大執行時間為300秒。

無服務器應用有助于在公有云中節省資金嗎?

與公有云中按需分配的虛擬機實例相比,無服務器計算的一個優點是節省成本——取決于應用的設計。節省的數量取決于每個應用的性質,進行架構和部署的事件驅動的功能數量,以及用戶如何調用這些功能。如果大部分應用在事件發生之前都保持空閑狀態,那么組織就能夠降低成本。

然而,與公有云中的按需分配的虛擬機實例相比,業務并不一定能體會到任何節省。除了那些適用的免費層次之外,其他每個功能的調用都需要花錢。基于功能的應用的成本大致是每個功能的成本之和。每個功能的成本基本上是調用次數乘以每次調用的成本。

然而,假設無服務器應用由50或100個不同的功能組成,它為數十甚至幾十萬的企業移動用戶群提供服務。這將在公有云計費周期的過程中累計起驚人數量的功能調用。這樣的應用,相比于設計成更傳統的架構而言,設計成無服務器程序可能會花費更多。問題的一部分是不確定性;大多數開發人員不知道功能被調用的頻度——這讓成本分析變得很困難。

為了預測無服務器應用的成本,請仔細評估功能利用率和用戶的基本規模大小。思考應用設計的變化將如何影響這些運營成本。如果開發人員改變應用的設計以減輕某些功能的大量使用,就可能會降低成本。

還有哪些最佳實踐?

無服務器計算的概念很引人注目,但開發人員和管理員在采用前應仔細評估一些重要的考量因素:

性能:考慮功能延遲和性能的影響。由于功能在每次執行之前都需要加載,因此會造成響應時間的延遲,雖然很小但不可避免。延遲也可能隨著流量需求的變化而變化。這些因素可能會降低其對延遲敏感型應用的吸引力。

復雜性:功能會讓應用設計,性能監控和故障排除變得復雜;管理員必須監視幾十甚至幾百個單獨的功能。考慮采用比現有的更細顆粒度的管理工具和策略。

快速,緊密和無狀態:功能的快速,特設性質使其適用于無狀態的軟件設計。如果在功能之間處理或傳遞狀態,則需要將狀態分配給數據而不是功能。但是,功能之間傳遞的消息的大小通常會受到嚴格限制。

應對失敗:功能通常依賴于其他功能,存儲,后端應用和網絡可用性——所有這些都可能會發生故障。設計功能來處理錯誤,在后續運行中完成未完成的任務,并確保功能盡可能得完善健壯。

便攜性:公有云供應商之間的功能通常不可移植。AWS Lambda功能在Azure或Google中不起作用,反之亦然。這可能會導致供應商鎖定并使多云規劃變得復雜。

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 峡江县| 和林格尔县| 敦化市| 台前县| 绥阳县| 烟台市| 镇平县| 栖霞市| 土默特右旗| 孙吴县| 岫岩| 中西区| 灵石县| 桃源县| 溧水县| 孝感市| 乌恰县| 建宁县| 大渡口区| 通河县| 衡阳市| 杂多县| 平乡县| 闻喜县| 磴口县| 光泽县| 东丰县| 西城区| 萨迦县| 英山县| 友谊县| 正蓝旗| 昭苏县| 龙川县| 日照市| 西乌| 邵东县| 丹棱县| 安多县| 台南市| 天水市|