国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

無(wú)服務(wù)器計(jì)算的現(xiàn)狀以及所面臨的挑戰(zhàn)

2019-12-25 21:08胡聰叢
關(guān)鍵詞:開發(fā)人員應(yīng)用程序編程

◆胡聰叢

無(wú)服務(wù)器計(jì)算的現(xiàn)狀以及所面臨的挑戰(zhàn)

◆胡聰叢

(中國(guó)五礦集團(tuán)有限公司 北京 100010)

無(wú)服務(wù)器計(jì)算已經(jīng)成為應(yīng)用和服務(wù)部署領(lǐng)域的新技術(shù)規(guī)范。它代表了云編程模型、抽象和平臺(tái)的最新演化成果。本文將從技術(shù)角度闡述無(wú)服務(wù)器計(jì)算的發(fā)展現(xiàn)狀以及其面臨的諸多挑戰(zhàn)。

無(wú)服務(wù)器計(jì)算;架構(gòu);事件處理系統(tǒng)

無(wú)服務(wù)器計(jì)算是一個(gè)由業(yè)界創(chuàng)造的術(shù)語(yǔ)[1]。它描述了這樣一種編程模型和架構(gòu):小代碼片段在云中執(zhí)行,無(wú)須管控運(yùn)行所需的任何資源?!盁o(wú)服務(wù)器”并不是不需要服務(wù)器的意思,它只是強(qiáng)調(diào)開發(fā)人員應(yīng)該將大多數(shù)運(yùn)維問題(如資源供應(yīng)、監(jiān)控、維護(hù)、可擴(kuò)展性和容錯(cuò)性)留給云提供商[2]。

從基礎(chǔ)設(shè)施即服務(wù)(Infrastructure-as-a-Service,IAAS)使用者的角度來(lái)看,這種范式轉(zhuǎn)換既帶來(lái)了機(jī)會(huì),也帶來(lái)了風(fēng)險(xiǎn)[2]。一方面,無(wú)服務(wù)器計(jì)算為開發(fā)人員提供了一個(gè)簡(jiǎn)化的編程模型,用于創(chuàng)建云應(yīng)用程序——抽象了大部分(并非全部)運(yùn)維操作;它按執(zhí)行時(shí)間計(jì)費(fèi)而不是按使用資源計(jì)費(fèi),從而降低了部署成本。另一方面,在無(wú)服務(wù)器平臺(tái)中部署此類應(yīng)用程序具有挑戰(zhàn)性。應(yīng)用無(wú)服務(wù)器計(jì)算需要放棄一些平臺(tái)設(shè)計(jì)策略。例如,服務(wù)質(zhì)量(QoS)監(jiān)控,擴(kuò)展和容錯(cuò)屬性等。

從云服務(wù)供應(yīng)商的角度來(lái)看,無(wú)服務(wù)器計(jì)算帶了一個(gè)額外的機(jī)會(huì)去控制整個(gè)開發(fā)棧,通過優(yōu)化和管理云資源來(lái)降低運(yùn)營(yíng)成本。無(wú)服務(wù)器計(jì)算相當(dāng)于提供了一個(gè)平臺(tái)并鼓勵(lì)使用其生態(tài)中的其他服務(wù),并且減少了創(chuàng)建和管理云規(guī)模應(yīng)用所需付出的努力[3]。

1 無(wú)服務(wù)器計(jì)算的現(xiàn)狀

1.1 無(wú)服務(wù)器計(jì)算的定義

作為一種近幾年流行的新型技術(shù),很難簡(jiǎn)單地定義術(shù)語(yǔ)“無(wú)服務(wù)器”,因?yàn)樵摱x與其他術(shù)語(yǔ)(如PaaS和軟件即服務(wù)(SaaS))重疊[4]。闡釋無(wú)服務(wù)器的一個(gè)角度是,考慮不同級(jí)別的開發(fā)人員對(duì)云基礎(chǔ)架構(gòu)的控制。基礎(chǔ)設(shè)施即服務(wù)(IaaS)模型是開發(fā)人員對(duì)云計(jì)算中的應(yīng)用程序代碼和操作基礎(chǔ)設(shè)施擁有最多控制權(quán)的模型。在這里,開發(fā)人員負(fù)責(zé)硬件或虛擬機(jī),并可以自定義應(yīng)用程序部署和執(zhí)行的各個(gè)方面。另一個(gè)極端是PaaS和SaaS模型,開發(fā)者不知道任何基礎(chǔ)設(shè)施,因此不再能夠控制基礎(chǔ)設(shè)施。相反,開發(fā)人員可以訪問預(yù)打包的組件或完整的應(yīng)用程序,還可以在這里托管代碼,盡管代碼可能與平臺(tái)緊密耦合。

1.2 無(wú)服務(wù)器計(jì)算的架構(gòu)

人們對(duì)“無(wú)服務(wù)器”這個(gè)名稱有很多誤解。服務(wù)器仍然是需要的,但開發(fā)人員不必管理這些服務(wù)器[5]。服務(wù)器數(shù)量及其性能等由平臺(tái)負(fù)責(zé)決策,服務(wù)器容量依工作負(fù)載自動(dòng)分配。

無(wú)服務(wù)器平臺(tái)的核心功能是事件處理系統(tǒng)。服務(wù)必須管理一組用戶預(yù)定義的函數(shù),處理通過HTTP發(fā)送或從事件源接收的事件,確定將事件發(fā)送到哪個(gè)函數(shù),查找函數(shù)的現(xiàn)有實(shí)例或創(chuàng)建新實(shí)例,將事件發(fā)送到函數(shù)實(shí)例,等待響應(yīng)、收集執(zhí)行日志、使響應(yīng)對(duì)用戶可用,并在不再需要時(shí)停止該函數(shù)。

各種無(wú)服務(wù)器平臺(tái)之間存在許多共性。它們有相似的定價(jià),部署和編程模型。它們之間的主要區(qū)別在于云生態(tài)系統(tǒng):當(dāng)前的無(wú)服務(wù)器平臺(tái)只能使用它們自己生態(tài)中的服務(wù),平臺(tái)的選擇可能會(huì)迫使開發(fā)人員使用該平臺(tái)的原生服務(wù)。但是這種情況正在發(fā)生變化,因?yàn)殚_放源碼解決方案也能在多個(gè)云平臺(tái)上很好地工作。

1.3 無(wú)服務(wù)器計(jì)算的應(yīng)用

亞馬遜在2014年的Re:invent會(huì)議“AWS lambda入門”中推廣了無(wú)服務(wù)器計(jì)算。其他供應(yīng)商也在2016年推出了Google Cloud Function、Microsoft AzureFunction和IBM OpenWhisk。其中一些服務(wù)商甚至提供了“云函數(shù)”,即能夠使移動(dòng)應(yīng)用程序在服務(wù)器端運(yùn)行一些代碼,而無(wú)須管理服務(wù)器。這種服務(wù)的一個(gè)例子是Facebook的Parse Cloud Code。然而該技術(shù)只能在移動(dòng)應(yīng)用程序領(lǐng)域?qū)崿F(xiàn)相當(dāng)有限的功能。

無(wú)服務(wù)器計(jì)算已經(jīng)被用來(lái)支持更廣泛的應(yīng)用程序[6]。從功能視角來(lái)看,無(wú)服務(wù)器和更傳統(tǒng)的架構(gòu)可以互換。決定何時(shí)采用無(wú)服務(wù)器可能會(huì)受到非功能性需求的影響,例如運(yùn)維量、成本以及應(yīng)用負(fù)載等特性。從成本視角來(lái)看,無(wú)服務(wù)器架構(gòu)的最大優(yōu)勢(shì)展現(xiàn)在高并發(fā)、計(jì)算密集場(chǎng)合。從編程模型的視角來(lái)看,無(wú)服務(wù)器函數(shù)的無(wú)狀態(tài)特性使其自身結(jié)構(gòu)類似于函數(shù)式反應(yīng)編程。主要用于事件驅(qū)動(dòng)和流式處理模式的應(yīng)用程序。

2 無(wú)服務(wù)器計(jì)算所面臨的挑戰(zhàn)

無(wú)服務(wù)器計(jì)算作為一種新興技術(shù),在實(shí)踐的過程中仍然面臨諸多挑戰(zhàn)。本文將重點(diǎn)從“系統(tǒng)層面的挑戰(zhàn)”以及“編程模型和DevOps挑戰(zhàn)”兩個(gè)方面進(jìn)行闡述。

2.1 系統(tǒng)層面的挑戰(zhàn)

無(wú)服務(wù)器計(jì)算面臨的系統(tǒng)層面挑戰(zhàn)主要來(lái)自成本、冷啟動(dòng)、資源限制、可擴(kuò)展性等幾個(gè)方面。成本是無(wú)服務(wù)器計(jì)算當(dāng)前最基本的一項(xiàng)挑戰(zhàn)。包括最小化無(wú)服務(wù)器函數(shù)的資源消耗(包括在執(zhí)行時(shí)和在空閑時(shí))。無(wú)服務(wù)器的一個(gè)核心能力是能夠支持零擴(kuò)展(Scaling to zero),或者在空閑時(shí)間不向客戶收費(fèi)。然而,零擴(kuò)展會(huì)帶來(lái)冷啟動(dòng)的問題,導(dǎo)致需要花費(fèi)代價(jià)來(lái)使無(wú)服務(wù)器代碼做好運(yùn)行準(zhǔn)備。在零擴(kuò)展的同時(shí)最小化冷啟動(dòng)的技術(shù)是非常重要的。無(wú)服務(wù)器系統(tǒng)需要資源限制來(lái)確保平臺(tái)能夠處理負(fù)載峰值和應(yīng)對(duì)攻擊。無(wú)服務(wù)器函數(shù)上能夠設(shè)置的資源限制包括內(nèi)存、執(zhí)行時(shí)間、帶寬和CPU使用率。最后,隨著無(wú)服務(wù)器越來(lái)越受歡迎,可能有多個(gè)無(wú)服務(wù)器平臺(tái)和多個(gè)無(wú)服務(wù)器服務(wù)需要協(xié)同工作。如何在系統(tǒng)層面對(duì)各個(gè)系統(tǒng)進(jìn)行調(diào)整也是無(wú)服務(wù)器技術(shù)發(fā)展不得不面臨的問題。

2.2 編程模型和DevOps挑戰(zhàn)

無(wú)服務(wù)器計(jì)算面臨的編程模型和DevOps挑戰(zhàn)來(lái)在于調(diào)試、工具、部署、以及可組合性等多個(gè)方面。由于開發(fā)人員不再能夠訪問服務(wù)器,無(wú)服務(wù)器服務(wù)和工具需要關(guān)注開發(fā)人員的生產(chǎn)效率。無(wú)服務(wù)器函數(shù)運(yùn)行的時(shí)間較短,相應(yīng)它們的數(shù)量級(jí)會(huì)較多,這使得定位問題和瓶頸變得更困難。當(dāng)函數(shù)執(zhí)行完畢時(shí),它們留下的唯一跟蹤就是無(wú)服務(wù)器平臺(tái)監(jiān)視記錄的內(nèi)容。傳統(tǒng)的開發(fā)工具并不適合于無(wú)服務(wù)器架構(gòu),目前急需全新的開發(fā)方法。無(wú)服務(wù)器計(jì)算需要更高的開發(fā)技能,如重構(gòu)功能(如拆分和合并功能)、版本恢復(fù)等,并且需要與無(wú)服務(wù)器平臺(tái)完全集成。開發(fā)人員需要能夠使用聲明性方法來(lái)控制部署和支持工具。

3 總結(jié)

本文探討了無(wú)服務(wù)器計(jì)算的模式架構(gòu)和它的發(fā)展歷史。雖然無(wú)服務(wù)器計(jì)算的發(fā)展面臨許多挑戰(zhàn),但是大多數(shù)大型云計(jì)算服務(wù)提供商已經(jīng)發(fā)布了他們的無(wú)服務(wù)器平臺(tái),并且在這個(gè)行業(yè)中進(jìn)行了大量的投資和投入。無(wú)服務(wù)器體系的廣泛應(yīng)用最終會(huì)推動(dòng)新的編程模型、語(yǔ)言和架構(gòu)的出現(xiàn),它將給軟件工程領(lǐng)域帶來(lái)令人振奮的提升。

[1]Bryan,D.A.,B.B. Lowekamp,and C. Jennings. SOSIMPLE:A Serverless,Standards-based,P2P SIP Communication System. in International Workshop on Advanced Architectures & Algorithms for Internet Delivery & Applications. 2005.

[2]Jia,A.L.and D.M. Chiu,Designs and Evaluation of a Tracker in P2P Networks. 2008.

[3]Nastic,S.,et al.,A Serverless Real-Time Data Analytics Platform for Edge Computing. IEEE Internet Computing,2017,21(4):64-71.

[4]Lara,E.D.,et al. Poster Abstract:Hierarchical Serverless Computing for the Mobile Edge. in Edge Computing. 2016.

[5]érez,A.,et al.,Serverless computing for container-based architectures. Future Generation Computer Systems,2018(83):50-59.

[6]Douceur,J.R. and R.P. Wattenhofer. Optimizing file availability in a secure serverless distributed file system. in IEEE Symposium on Reliable Distributed Systems. 2001.

猜你喜歡
開發(fā)人員應(yīng)用程序編程
編程,是一種態(tài)度
元征X-431實(shí)測(cè):奔馳發(fā)動(dòng)機(jī)編程
編程小能手
紡織機(jī)上誕生的編程
刪除Win10中自帶的應(yīng)用程序
Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應(yīng)用
谷歌禁止加密貨幣應(yīng)用程序
后悔了?教你隱藏開發(fā)人員選項(xiàng)
三星電子將開設(shè)應(yīng)用程序下載商店
三星SMI擴(kuò)展Java論壇 開發(fā)人員可用母語(yǔ)
双峰县| 长宁区| 常宁市| 永春县| 英吉沙县| 雷州市| 时尚| 武宣县| 张北县| 邓州市| 泾川县| 武川县| 淄博市| 共和县| 镇雄县| 射洪县| 丽江市| 大埔区| 且末县| 同德县| 绥宁县| 正镶白旗| 岐山县| 正阳县| 九江市| 城固县| 那坡县| 司法| 宜阳县| 嵩明县| 原平市| 天门市| 教育| 江阴市| 平远县| 同心县| 镇宁| 舟曲县| 子长县| 宝兴县| 滨州市|