欧美色在线视频播放 视频,国产精品亚洲精品日韩已方,日本特级婬片中文免费看,亚洲 另类 在线 欧美 制服

<td id="8pdsg"><strong id="8pdsg"></strong></td>
<mark id="8pdsg"><menu id="8pdsg"><acronym id="8pdsg"></acronym></menu></mark>
<noscript id="8pdsg"><progress id="8pdsg"></progress></noscript>

    首頁 >> 前沿科技 >

    無服務(wù)器計(jì)算:終于給了開發(fā)者自由

    2021-09-05 20:54:47 來源: 用戶: 

    無服務(wù)器計(jì)算為尋求減輕基礎(chǔ)設(shè)施負(fù)擔(dān)的開發(fā)人員提供了一個(gè)很好的機(jī)會。通過抽象除代碼塊之外的一切,無服務(wù)器模型使開發(fā)人員能夠更快地迭代和部署新代碼,并使預(yù)算較少的小團(tuán)隊(duì)能夠做只有大公司才能做的事情?;蛘撸鏑loudability創(chuàng)始人兼首席執(zhí)行官M(fèi)at Ellis在最近一期CloudCast中所說,“無服務(wù)器試圖將開發(fā)者的影響力產(chǎn)業(yè)化”。

    當(dāng)然,在后臺,服務(wù)器依然存在,一直嗡嗡作響。但是無服務(wù)器架構(gòu)是無狀態(tài)的。他們通過執(zhí)行一些邏輯(一個(gè)函數(shù))和調(diào)用其他服務(wù)來完成他們的工作。如果您是一名開發(fā)人員,主要使用服務(wù)通過api構(gòu)建應(yīng)用程序,或者需要響應(yīng)事件,那么無服務(wù)器架構(gòu)可能是完成工作最簡單、最快和風(fēng)險(xiǎn)最小的方法。

    在本文中,我們將分解無服務(wù)器架構(gòu)的真正含義,提供主要公共云選項(xiàng)的詳細(xì)比較,并介紹可口可樂正在實(shí)施的一個(gè)真實(shí)的無服務(wù)器項(xiàng)目。

    《品牌郵報(bào)》由HPE贊助。

    管理多云復(fù)雜性的三種方法。

    人工智能、編譯和自動(dòng)化的新時(shí)代幫助企業(yè)管理日益增加的信息技術(shù)復(fù)雜性。

    無服務(wù)器是一種云計(jì)算服務(wù)模式,它與IaaS、PaaS、SaaS、BaaS和CaaS一樣,依賴于對可配置網(wǎng)絡(luò)、存儲和計(jì)算資源的動(dòng)態(tài)共享池的無處不在、方便和按需的訪問。然而,無服務(wù)器以不同的方式使用這些資源。目前,無服務(wù)器計(jì)算還沒有一致的定義,但已經(jīng)有關(guān)于這個(gè)概念的說法。在沒有服務(wù)器的情況下,一個(gè)功能就是一個(gè)部署單元。程序員看不到任何機(jī)器、虛擬機(jī)或容器。

    云中無服務(wù)器可用的主要服務(wù)包括AWS Lambda、Azure功能和Google Cloud功能。在云計(jì)算中,“FaaS”(功能即服務(wù))可能是一個(gè)更好的術(shù)語。當(dāng)我們說“功能”時(shí),我們實(shí)際上是指功能。這是AWS Lambda的一個(gè)例子。用Node.js寫:

    就這樣。上傳一個(gè)函數(shù),并將其連接到請求或事件。當(dāng)您的無服務(wù)器宿主提供程序(在這種情況下是AWS)檢測到請求(例如,REST調(diào)用)或事件發(fā)生時(shí)(例如,文件被添加到S3桶),通過調(diào)用您的函數(shù)傳入的參數(shù)和您返回的參數(shù)將傳遞結(jié)果。當(dāng)然,在實(shí)踐中更為復(fù)雜。例如,您可以添加安全限制,但這是其本質(zhì)。

    您的函數(shù)可以用提供商支持的任何語言編寫。您所需要做的就是將傳入的請求或事件映射到函數(shù)調(diào)用。每個(gè)提供商都有自己支持的語言、約定、流程、成本、功能和限制(見下表)。但這就是無服務(wù)器宣言的意思,也就是“使用你自己的代碼”。

    您的函數(shù)可以任意復(fù)雜,它可以通過API調(diào)用包含的庫或外部服務(wù)。為了實(shí)現(xiàn)可伸縮性,沒有服務(wù)器的功能必須只使用可伸縮的服務(wù)。

    根據(jù)提供程序的不同,代碼可以直接在在線編輯器中編寫,也可以作為代碼文件上傳。zip或。jar文件或容器。這也是無服務(wù)器的一個(gè)缺點(diǎn),因?yàn)樵谡麄€(gè)發(fā)布周期中上傳和管理代碼的工具仍然不是很好,盡管許多框架正在填補(bǔ)這個(gè)空白。

    當(dāng)然,代碼不能任意復(fù)雜。根據(jù)供應(yīng)商的不同,會有一些限制。每個(gè)主機(jī)都有一個(gè)最大代碼上傳大小(例如,AWS Lambda為50MB)。每個(gè)主機(jī)都有一個(gè)最大的函數(shù)執(zhí)行時(shí)間(AWS Lambda是1到300秒)。每個(gè)功能的可用內(nèi)存和CPU容量也是有限的。想要更多內(nèi)存、更好的CPU還是更長的執(zhí)行時(shí)間?你花了更多的錢。計(jì)費(fèi)是提供商之間的另一個(gè)區(qū)別,我們將在下面看到。

    當(dāng)然,幕后也有服務(wù)器,但作為開發(fā)人員,你不需要去想它們。你只需要知道你的功能。您不再需要處理容量規(guī)劃、部署、擴(kuò)展、安裝、修補(bǔ)等。這通常被認(rèn)為是一個(gè)錯(cuò)誤,但實(shí)際上是一個(gè)不同的錯(cuò)誤。仍然需要組織、開發(fā)、構(gòu)建、測試、版本控制、發(fā)布、記錄和監(jiān)控代碼。

    因?yàn)槟吹降亩际呛瘮?shù),所以您的提供者負(fù)責(zé)激活您的函數(shù)以響應(yīng)任何請求或事件。當(dāng)請求出現(xiàn)并且函數(shù)的空閑實(shí)例不可用時(shí),必須將代碼分配給服務(wù)器并啟動(dòng)。作為開發(fā)者,你什么都不做。這取決于您的提供商,以確保有足夠的容量來處理負(fù)載。當(dāng)然,在冷啟動(dòng)場景中,延遲問題是無服務(wù)器的缺點(diǎn)之一。

    在無服務(wù)器的情況下,您需要支付消費(fèi),并且僅在服務(wù)運(yùn)行時(shí)。你永遠(yuǎn)不會為閑置的計(jì)算時(shí)間買單。影響是巨大的。你不用花一分錢就能建造一個(gè)完整的基礎(chǔ)設(shè)施。運(yùn)營、開發(fā)和擴(kuò)展成本都降低了。

    將此與PaaS/IaaS進(jìn)行比較,在PaaS/IaaS中,您需要為容量付費(fèi)。PaaS提供商將為您管理服務(wù)器,但是您的應(yīng)用程序有一些長時(shí)間運(yùn)行的進(jìn)程,即使它們是空閑的,您也必須為它們付費(fèi)。容量可以通過構(gòu)建一個(gè)對負(fù)載敏感的自動(dòng)擴(kuò)展系統(tǒng)來管理,但是您總是需要為一些多余的容量付費(fèi)。

    因?yàn)槟憧吹降氖且粋€(gè)函數(shù),沒有地方存儲狀態(tài)。當(dāng)一個(gè)函數(shù)被執(zhí)行時(shí),它的計(jì)算資源可以被垃圾收集和重用。狀態(tài)必須存儲在另一個(gè)服務(wù)中,如數(shù)據(jù)庫或緩存。

    為了控制收費(fèi)成本,提供商為一個(gè)功能設(shè)置最大執(zhí)行時(shí)間。目前AWS Lambda和Azure功能只需要5分鐘。執(zhí)法限制也有不利的一面。例如,如果我想升級數(shù)據(jù)庫,我應(yīng)該怎么做?還是你的函數(shù)多次調(diào)用其他服務(wù)來返回結(jié)果?還是你的函數(shù)有很多輸入要處理?在某些情況下,這些操作可能需要5分鐘以上。

    除非您的函數(shù)很簡單,否則您需要將其編碼為由調(diào)用的無狀態(tài)、冪等、事件驅(qū)動(dòng)的服務(wù)。

    間將數(shù)據(jù)保存在持久存儲中的狀態(tài)機(jī)驅(qū)動(dòng)。這可能會變得很復(fù)雜。通常的云計(jì)算方法仍然有效。例如,將輸入劃分為多個(gè)批,并將它們放在工作隊(duì)列中。

    為了在這方面提供幫助,AWS創(chuàng)建了一個(gè)名為Step Functions的新服務(wù),它實(shí)現(xiàn)了一個(gè)狀態(tài)機(jī),并允許函數(shù)無限期地持續(xù)下去。實(shí)際上,AWS Lambda應(yīng)該更好,而不是要求使用完全不同且昂貴的服務(wù)。

    盡管serverless將服務(wù)接口縮小到單個(gè)功能(有時(shí)稱為nanoservice),但復(fù)雜性始終是守恒的。對于PaaS,計(jì)算的原子單位是應(yīng)用程序。這有好處也有壞處。由于應(yīng)用程序很大,啟動(dòng)和停止可能很慢;它很難根據(jù)需求擴(kuò)大規(guī)模;它可能很難在一個(gè)顆粒級賬單。但是PaaS也易于管理、監(jiān)視和調(diào)試。

    通過將代碼分散到可能大量的函數(shù)中,serverless確實(shí)很難調(diào)試。邏輯流的跟蹤分布在許多不同的日志文件中,調(diào)用之間沒有連接。需要日志和度量,但這還不夠。這個(gè)領(lǐng)域的工具需要改進(jìn)。

    如何開始?有許多選項(xiàng)可以使用serverless開始滾動(dòng)。兩個(gè)主要方面:使用公共云和使用本地解決方案。

    無服務(wù)器已經(jīng)成為任何公共云的表賭注,所以所有的主要供應(yīng)商都在開發(fā)自己的產(chǎn)品。亞馬遜有AWS Lambda,自2015年4月以來一直是GA。微軟擁有Azure功能,該功能自2016年11月以來一直在使用。谷歌具有谷歌云功能,處于封閉的alpha狀態(tài)。

    在這三種選擇中,如果您已經(jīng)使用了公共云,那么最好使用當(dāng)前提供商的產(chǎn)品。使用serverless的一大好處是可以使用豐富的可用服務(wù)和事件。這些選擇在你的云里是最好的。但如果你剛開始接觸云計(jì)算,而且穩(wěn)定性很重要,那么AWS Lambda是迄今為止出現(xiàn)時(shí)間最長、最安全的選擇。

    對于AWS Lambda,函數(shù)是獨(dú)立的,盡管在實(shí)踐中,它們常常使用類似于Serverless的框架在組中進(jìn)行管理。根據(jù)函數(shù)請求的數(shù)量和代碼執(zhí)行的時(shí)間來收費(fèi)。如果你想要更多的CPU,你必須分配更多的內(nèi)存。

    通過Azure功能,一個(gè)功能應(yīng)用由一個(gè)或多個(gè)單獨(dú)的功能組成,這些功能由Azure應(yīng)用服務(wù)一起管理。功能應(yīng)用可以使用消費(fèi)托管計(jì)劃,也可以使用應(yīng)用服務(wù)托管計(jì)劃。有了消費(fèi)計(jì)劃,功能應(yīng)用程序可以自動(dòng)伸縮,你可以根據(jù)內(nèi)存大小和所有功能的總執(zhí)行時(shí)間(以gb秒為單位)付費(fèi)。使用應(yīng)用服務(wù)托管計(jì)劃更像是EC2。

    由于谷歌云功能仍然處于封閉的alpha測試階段,關(guān)于功能如何操作和計(jì)費(fèi)的很多信息仍然未知。我們知道有兩種類型的函數(shù):HTTP函數(shù)和后臺函數(shù)。HTTP函數(shù)是通過HTTP直接調(diào)用的。后臺函數(shù)是通過谷歌云發(fā)布/訂閱主題上的消息或谷歌云存儲桶中的更改來間接調(diào)用的。

      免責(zé)聲明:本文由用戶上傳,與本網(wǎng)站立場無關(guān)。財(cái)經(jīng)信息僅供讀者參考,并不構(gòu)成投資建議。投資者據(jù)此操作,風(fēng)險(xiǎn)自擔(dān)。 如有侵權(quán)請聯(lián)系刪除!

     
    分享:
    最新文章
    站長推薦