云上虚拟IDC(私有池)如何为客户业务的确定性、连续性保驾护航
簡介:?企業(yè)業(yè)務上云后,還面臨特定可用區(qū)購買云上特定計算產(chǎn)品實例失敗的困境?云上私有池pick一下
Why 云上業(yè)務為什么需要資源確定性、服務連續(xù)性
云計算正朝著像水電煤一樣的基礎(chǔ)設施演進,支持用戶按需使用、按量付費。目前,國內(nèi)外各云服務商聯(lián)合生態(tài)伙伴,努力提升云產(chǎn)品服務的快速迭代、推廣使用,然而現(xiàn)實很骨感:用戶依然面臨偶發(fā)的在特定可用區(qū)購買云上特定計算產(chǎn)品實例失敗的困境。云服務的計算理念--隨時隨地彈性,怎么這個場景下就不Work了?我們來分析分析。
目前,客戶云上業(yè)務整個生命周期過程,需要感知算力的“商品化”載體:例如某客戶A,將個人博客的Web服務遷移到阿里云上時,需要購買阿里云彈性計算云服務器,客戶需要感知云服務器規(guī)格信息,如最新的ecs.g7.xlarge。例如某客戶B,將在線制作3D創(chuàng)意效果的業(yè)務部署在阿里云上,依托阿里云強大GPU等算力資源,此時,需要購買阿里云彈性計算的GPU云服務器,如ecs.gn7i-c8g1.2xlarge。
通俗理解:類似用戶向“酒店”租住一個“房間”。云上環(huán)境,用戶購買云上的一個具體的計算實例規(guī)格。
這與水電煤“即插即用”存在區(qū)別:云上的算力需要感知商品實例信息。水電煤是統(tǒng)一的‘用量’,屏蔽了后端的供貨商(哪個電網(wǎng)供電、哪條線路輸送)、供貨的生產(chǎn)設備(水力發(fā)電、火力發(fā)電、風能發(fā)電、太陽能發(fā)電等)。目前國內(nèi)外頭部云服務供應商的算力服務售賣實體,主流依然是算力對應具體商品。由于面向具體商品,那么就存在商品之間服務特性、適合的業(yè)務場景、業(yè)務所需數(shù)量等差異。云服務供應商也就需要在不同地域提前準備好不同的商品,以及供應數(shù)量。
因為很難精準地預測各種具體算力商品的用戶量級、購買時間、購買數(shù)量,一旦出現(xiàn)行業(yè)熱點,同一行業(yè)的大多數(shù)客戶短時間大量購買某一個特性的商品,較容易出現(xiàn)針對特定商品的搶購而導致部分用戶購買失敗。典型如疫情背景下,挖礦、在線教育的興起,對本地盤、視頻編解碼算力需求旺盛,導致相關(guān)商品搶購現(xiàn)象突出。
通俗理解:類似“酒店”的剩余房間已經(jīng)用完了,新客戶入住失敗。對應云環(huán)境,用戶在云上購買計算實例,短時庫存售磬,可能購買失敗。
另外,電商每年在不同時間段會有各種“節(jié)日”促銷活動,典型如618、雙11。在促銷期間和促銷結(jié)束的一段時間內(nèi),需要大量的算力資源支持在線活動和活動結(jié)束后的海量數(shù)據(jù)分析。客戶服務經(jīng)歷“正常態(tài)”、“大促態(tài)”、“大促收尾態(tài)”、“正常態(tài)”這樣的典型服務連續(xù)過程。客戶為了確保全年服務的連續(xù)性,特別是資源需求按預期規(guī)劃確定進行,那么,云上資源確定性交付就是重要支撐。
通俗理解:例如奧運這樣的預期活動,用戶入住酒店,保險的措施就是提前預訂好房間。對于云環(huán)境,就是在云上預訂一個虛擬的IDC(私有池),這樣就可以在私有池上確定性地交付資源。
圖1-水電煤基礎(chǔ)設施與云計算基礎(chǔ)設施“服務形態(tài)”現(xiàn)階段的對比
綜上分析,現(xiàn)階段,在云服務的主流服務售賣形式依然是“算力商品化”的大背景下,用戶需要感知業(yè)務在云上生命周期過程所需商品特性,云平臺需要面向商品進行供應生產(chǎn)。由于需求的變化和市場環(huán)境的不確定性,供應和需求短時間的不匹配比較容易發(fā)生。所以,服務特定行業(yè)的特定客戶、針對特定算力商品的確定性購買,即云上資源確定性交付就成為解決這種困境的重要能力。
How 如何保障云上業(yè)務資源確定性、服務連續(xù)性
前面分析了客觀現(xiàn)狀,存在特定地域、特定時間段、特定算力商品的短時購買失敗現(xiàn)象。對客戶來說,需要結(jié)合自身場景,市場上云商品供應情況,合適的成本投入來實現(xiàn)資源交付的確定性,從而確保業(yè)務連續(xù)性。
下文的分析以整體性概念為主,具體到客戶的業(yè)務場景,還需要具體案例具體分析。例如預定地域的選擇、實例規(guī)格的選擇、預定時長的選擇、預定數(shù)量的選擇、總的成本最優(yōu)等。資源交付的一種劃分如圖2所示,其中私有池是確定性交付的重要實現(xiàn)方式。結(jié)合業(yè)務場景,推薦最佳的私有池選購方案本文暫不介紹,后續(xù)專門出文檔描述,幫助用戶更好地依托云的產(chǎn)品服務,實現(xiàn)資源的確定性交付,保障業(yè)務服務的連續(xù)性。
圖2-資源交付的一種劃分
圖3-確定性交付的可選策略
圖4-靈活彈性交付的可選策略
Aliyun 私有池選購和價值
1- 相關(guān)概念
私有池: 當用戶在ECS 控制臺,“資源保障”服務標簽頁下,購買“彈性保障”或者“容量預定”等產(chǎn)品后,就獲得了云上的一個具有確定性庫存資源預留,并且是專屬分配使用的資源池。如圖5-私有池模式抽象和多種產(chǎn)品實現(xiàn)。圖5左側(cè),一個私有池的服務有兩個階段:私有池預留和私有池資源交付。針對私有池預留,產(chǎn)品目標是履約:確保私有池真正被使用。例如彈性保障EA elastic assurance,一次性預收取這個私有池費用。
圖5-私有池模式和多種產(chǎn)品實現(xiàn)
iCR:immediately Capacity Reservesion 立即生效按量預留CR,私有池全部用完,無額外的成本開銷,只在私有池有剩余容量的時候,收取剩余容量部分費用。
aCR:advance Capacity Reservation 指定時間、延遲生效的容量預定,基于信用分等級收取一些預訂金,信用等級越高,預定金越低。
針對私有池資源交付,產(chǎn)品目標是:確定性交付、零門檻使用。當實例開出來后,會按實例進行正常的收費。
資源保障:資源保障是包括資源供應量化感知、資源的確定性預定、私有池規(guī)劃使用的全鏈路資源確定性服務,它能夠全面提升您在查詢、預定、購買、使用資源過程中的體驗,使您在復雜多變的市場環(huán)境下依然能夠享受到專有保障資源。
彈性保障:通過彈性保障,您只需要支付一筆較低的保障費用,即可換取固定周期(支持1個月~5年)的資源確定性保障。購買彈性保障時設置可用區(qū)、實例規(guī)格、保障數(shù)量等屬性,系統(tǒng)會以私有池的方式預留指定數(shù)量屬性相匹配的資源,例如在華東1(杭州)可用區(qū)I預留10臺ecs.c6.large規(guī)格的實例。在彈性保障有效期內(nèi),您創(chuàng)建按量付費實例時選擇使用私有池的容量,即可享受到資源確定性保障。在彈性保障有效期內(nèi),您可以重復創(chuàng)建/釋放指定數(shù)量的實例而無需擔心資源供應的問題。超出彈性保障有效期或者彈性保障已經(jīng)沒有空閑的容量時,資源確定性保障將不再提供。
立即生效容量預定:您可以隨時購買立即生效容量預定,預定成功后立即生效,即可享受資源確定性服務。容量預定生效后即開始按照按量實例費率收費,直至立即生效容量預定到期自動釋放或者您提前手動釋放。購買立即生效容量預定時設置可用區(qū)、實例規(guī)格、操作系統(tǒng)類型、容量大小等屬性,系統(tǒng)會以私有池的方式預留指定數(shù)量屬性相匹配的資源。在容量預訂有效期內(nèi),您創(chuàng)建按量付費實例時選擇使用私有池的容量,即可享受到資源確定性保障。通過普通場景購買的ECS,由于資源的供應千變?nèi)f化,線上的資源可能無法每時每刻滿足您的定制化需求;而在容量預訂有效期內(nèi),您可以重復創(chuàng)建/釋放指定數(shù)量的實例而無需擔心資源供應的問題。容量預定未處于生效狀態(tài)或者容量預定已經(jīng)沒有空閑的容量時,資源確定性保障將不再提供。在容量預定計費周期內(nèi),如果您購買了按量實例,并且使用了資源確定性,這部分按量實例的計算資源費用將會抵扣與按量實例匹配的容量預定的部分或者全部費用。
當一個按量實例與彈性保障和容量預訂均匹配時,系統(tǒng)會優(yōu)先選取容量預定產(chǎn)品對應的私有池進行匹配。
2- 私有池價值
價值1: 確定性資源交付
隨著云原生概念和實踐的廣泛普及,基于云的算力研發(fā)已成為新常態(tài)。客戶業(yè)務云原生后,業(yè)務的快速發(fā)展過程中,往往針對特定場景,有著資源確定性交付的訴求,期望100%地保障業(yè)務按既定規(guī)劃上線、運營、推廣等。
資源保障相關(guān)產(chǎn)品提供了全鏈路確定性交付能力。
具有確定性交付的能力,從業(yè)務角度就避免了云上某個可用區(qū)下、某種稀缺資源的搶購帶來的購買成功率低的不確定性風險,例如GPU大規(guī)格實例。在原有共有資源池彈性交付基礎(chǔ)上,配合確定性交付,可以進一步保障高優(yōu)先級業(yè)務的資源100%保障。例如之前按量購買了20臺A規(guī)格實例,這些實例會有業(yè)務的一些運維、變更等操作,購買20個A規(guī)格構(gòu)成的私有池,這樣就確保這些實例操作運維過程中資源具有100%確定性,不會被其他客戶搶占。正常情況下20個A規(guī)格私有池容量被20個A規(guī)格實例全部使用,無任何空閑容量,從而無任何額外成本投入。當實際使用資源確定性的A實例數(shù)量不足20個的時候,例如僅使用18個實例,產(chǎn)生2個空閑容量,此時空閑容量會按秒級計費,按小時出賬單。
價值2: 資源專屬調(diào)度分配使用
在客戶業(yè)務架構(gòu)、業(yè)務演進深度融合云產(chǎn)品服務的迭代升級過程中,除了資源確定性交付之外,資源靈活性交付也隨之成為重要的訴求。阿里云資源保障服務目前已經(jīng)支持基于云上私有池的專屬調(diào)度分配,用戶專屬調(diào)度目前有兩種實踐方式。
方式一:用戶基于Open、Target、None的匹配規(guī)則,進行實例的調(diào)度分配
用戶在創(chuàng)建私有池的時候,指定私有池的匹配屬性:Open(開放)、Target(指定)。在創(chuàng)建實例的時候指定實例匹配屬性Open 或者Target(使用Target模式需要顯示指定私有池ID),后端進行屬性匹配調(diào)度。
當實例匹配屬性值為Open的時候,系統(tǒng)會優(yōu)先從用戶私有池創(chuàng)建實例;如果無匹配的私有池,則按照共有池流程創(chuàng)建實例,同時保留資源確定性特征,一旦發(fā)現(xiàn)有空閑的容量,系統(tǒng)會準時的自動將這些實例重新與空閑私有池進行匹配和關(guān)聯(lián);當實例匹配屬性值為Target的時候,明確指定某個私有池,此時系統(tǒng)在指定的私有池進行容量和私有池資源規(guī)則的匹配校驗。例如私有池region、zone、instanceType、platform、payType等校驗。
運行過程中,當實例的匹配屬性發(fā)生修改,系統(tǒng)會準時進行實例和私有池的重新匹配,確保實例盡可能地關(guān)聯(lián)到私有池,從而減少用戶的費用成本(私有池的空閑容量及時使用掉);當匹配模式為Open的私有池被釋放的時候,系統(tǒng)會準時的對與該私有池關(guān)聯(lián)的并且使用Open匹配模式的實例重新匹配,確保實例盡可能地關(guān)聯(lián)到私有池,從而減少用戶的成本(私有池的空閑容量及時使用掉)。
方式二:用戶基于Tags匹配規(guī)則,進行實例的調(diào)度分配
用戶在創(chuàng)建私有池的時候,指定私有池的tag信息,然后創(chuàng)建實例的時候指定tag信息,后端就可以按照客戶指定的tag匹配規(guī)則,從私有池或者共有池進行精細化資源調(diào)度分配。
為了降低用戶使用門檻,或者零門檻,不論方式一還是方式二,阿里云資源保障服務都支持用戶在現(xiàn)有CreateInstance、RunInstnaces接口基礎(chǔ)上,直接使用方式一或者方式二進行資源專屬調(diào)度。例如用戶申請白名單后,后端按用戶需求,將用戶創(chuàng)建實例時候的匹配屬性指定為默認值,這樣用戶既有的集成接口參數(shù)無須改動。
3- 私有池的獲取
控制臺購買獲取
https://help.aliyun.com/document_detail/193634.html
OpenAPI集成式獲取
相關(guān)Demo如下:
1.1 Java 下載地址:https://search.maven.org/search?q=aliyun-java-sdk-ecs 1.2 Python https://pypi.org/project/aliyun-python-sdk-ecs/ Python可直接通過pip安裝:pip install aliyun-python-sdk-ecs2.將SDK導入到工程中 具體操作步驟可參考官方幫助文檔,地址: https://help.aliyun.com/document_detail/25699.html?spm=a2c4g.11186623.6.1483.512e73fbxDWOfZ3.創(chuàng)建立即生效容量預定私有池 創(chuàng)建容量預定私有池的對應API為CreateCapacityReservation 其中<accessKeyId>和<accessSecret>需要替換為對應購買賬號的AK信息。3.1 Java版Demo 創(chuàng)建私有池:立即生效容量預留 在線接口體驗:https://api.aliyun.com/?spm=5176.12818093.resource-links.dapi_platform.54ce16d07XdZhp#/?product=Ecs&version=2014-05-26&api=CreateCapacityReservation&tab=DEMO&lang=JAVAimport com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.profile.DefaultProfile; import com.google.gson.Gson; import java.util.*; import com.aliyuncs.ecs.model.v20140526.*;public class CreateCapacityReservation {public static void main(String[] args) {DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "<accessKeyId>", "<accessSecret>");IAcsClient client = new DefaultAcsClient(profile);CreateCapacityReservationRequest request = new CreateCapacityReservationRequest();request.setRegionId("cn-hangzhou");List<String> zoneIdList = new ArrayList<String>();zoneIdList.add("cn-hangzhou-i");request.setZoneIds(zoneIdList);request.setInstanceType("ecs.c6.2xlarge");request.setPeriod(1);request.setPeriodUnit("Hour");request.setPrivatePoolOptionsName("PrivatePoolName");request.setDescription("PrivatePoolDescription");request.setPrivatePoolOptionsMatchCriteria("Open");request.setEndTimeType("Unlimited");request.setInstanceAmount(10);List<RunInstancesRequest.Tag> tagList = new ArrayList<RunInstancesRequest.Tag>();RunInstancesRequest.Tag tag1 = new RunInstancesRequest.Tag();tag1.setKey("11");tag1.setValue("22");tagList.add(tag1);request.setTags(tagList);//注入tagstry {CreateCapacityReservationResponse response = client.getAcsResponse(request);System.out.println(new Gson().toJson(response));} catch (ServerException e) {e.printStackTrace();} catch (ClientException e) {System.out.println("ErrCode:" + e.getErrCode());System.out.println("ErrMsg:" + e.getErrMsg());System.out.println("RequestId:" + e.getRequestId());}} }創(chuàng)建實例-Open 開放匹配 在線接口體驗:https://api.aliyun.com/?spm=5176.12818093.resource-links.dapi_platform.54ce16d07XdZhp#/?product=Ecs&version=2014-05-26&api=RunInstances&tab=DEMO&lang=JAVAimport com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.profile.DefaultProfile; import com.google.gson.Gson; import java.util.*; import com.aliyuncs.ecs.model.v20140526.*;public class RunInstances {public static void main(String[] args) {DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "<accessKeyId>", "<accessSecret>");IAcsClient client = new DefaultAcsClient(profile);RunInstancesRequest request = new RunInstancesRequest();request.setRegionId("cn-hangzhou");request.setZoneId("cn-hangzhou-i");request.setInstanceType("ecs.c6.2xlarge");request.setInstanceChargeType("PostPaid");request.setPeriod(1);request.setPeriodUnit("Hour");request.setNetworkType("vpc");request.setImageId("aliyun_2_1903_x64_20G_alibase_20200529.vhd");request.setSystemDiskSize(40);request.setSystemDiskType("cloud_ssd");request.setPrivatePoolOptionsMatchCriteria("Open"); // 私有池 開放匹配參數(shù)request.setSecurityGroupId("sg-xxx");request.setVSwitchId("vsw-xxx");try {RunInstancesResponse response = client.getAcsResponse(request);System.out.println(new Gson().toJson(response));} catch (ServerException e) {e.printStackTrace();} catch (ClientException e) {System.out.println("ErrCode:" + e.getErrCode());System.out.println("ErrMsg:" + e.getErrMsg());System.out.println("RequestId:" + e.getRequestId());}} }創(chuàng)建實例-Target 指定匹配 import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.profile.DefaultProfile; import com.google.gson.Gson; import java.util.*; import com.aliyuncs.ecs.model.v20140526.*;public class RunInstance {public static void main(String[] args) {DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "<accessKeyId>", "<accessSecret>");IAcsClient client = new DefaultAcsClient(profile);RunInstancesRequest request = new RunInstancesRequest();request.setRegionId("cn-hangzhou");request.setZoneId("cn-hangzhou-i");request.setInstanceType("ecs.c6.2xlarge");request.setInstanceChargeType("PostPaid");request.setPeriod(1);request.setPeriodUnit("Hour");request.setNetworkType("vpc");request.setImageId("aliyun_2_1903_x64_20G_alibase_20200529.vhd");request.setSystemDiskSize(40);request.setSystemDiskType("cloud_ssd");request.setPrivatePoolOptionsMatchCriteria("Target"); // 私有池 指定匹配request.setPrivatePoolOptionsId("crp-xxx"); // 私有池idrequest.setSecurityGroupId("sg-xxx");request.setVSwitchId("vsw-xxx");try {RunInstancesResponse response = client.getAcsResponse(request);System.out.println(new Gson().toJson(response));} catch (ServerException e) {e.printStackTrace();} catch (ClientException e) {System.out.println("ErrCode:" + e.getErrCode());System.out.println("ErrMsg:" + e.getErrMsg());System.out.println("RequestId:" + e.getRequestId());}} }4- 私有池用戶案
案例一:零門檻的Tags匹配,實現(xiàn)業(yè)務的精準、確定性交付
某A公司,每隔一段時間需要對業(yè)務進行升級,需要將服務器釋放,重新進行業(yè)務的部署;在升級的過程中,需要確保業(yè)務依賴的資源確定性交付出來,從而保障業(yè)務服務的連續(xù)性。
這里有兩個關(guān)鍵的變化:服務器釋放、重新業(yè)務的部署。在云平臺上,時時刻刻都有用戶進行資源釋放、購買。在這個動態(tài)過程中,可能A用戶釋放的資源,很快被B用戶購買走了,A用戶此時可能就買不到了,需要等其他用戶釋放掉資源的時候,或者云平臺恰巧有新增商品量的時候,才有機會購買成功。一旦業(yè)務需要延遲購買到相應的商品(等待有可售庫存供下單),可能導致業(yè)務升級過程中斷,服務連續(xù)性就受到影響。
為了解決這個問題,客戶可以先購買到目標商品,進行業(yè)務的新部署,然后釋放老的資源,這就增加了升級過程中成本投入:新購資源和老資源同時付費,并且升級過程時間越久,投入的成本越多。另外,升級進程受先購買到資源影響,只有在新購資源交付成功后,才能進行后續(xù)的升級,這使得業(yè)務升級計劃受到資源交付影響,業(yè)務升級不一定完全按業(yè)務規(guī)劃準時進行。
阿里云立即生效的CR完美地契合了這個場景。A公司購買一批適合業(yè)務場景的私有池(立即生效容量預定),然后放心釋放資源,在私有池上100%開出資源,進行業(yè)務的準時升級。在實際使用私有池過程中,阿里云提供了的標準化的接入方案:用戶按業(yè)務管理需求,用戶自主進行資源指定到哪個私有池進行資源交付。這就要求業(yè)務針對已有資源交付接口做輕微改動。但是,考慮到用戶接入成本、對已有業(yè)務的入侵程度,阿里云進一步提供了零門檻使用CR,支持高級特性:經(jīng)過客戶授權(quán)后,云平臺幫客戶在新購實例的時候,修改默認的匹配屬性為Open。同時在已有Tag資源管理基礎(chǔ)上,支持面向Tag的、業(yè)務專屬的實例和私有池Tag匹配規(guī)則(業(yè)界首推的特性)。
A公司使用CR的具體操作步驟如下:
- A公司技術(shù)人員通過API將需要使用立即生效CR的存量實例匹配屬性修改為Open,
- A公司技術(shù)人員授權(quán)阿里云將其賬戶下新購實例的默認匹配屬性從None修改為Open,
- A公司技術(shù)人員按照內(nèi)部的業(yè)務邏輯設計相應的Tag標簽組合
- A公司技術(shù)人員根據(jù)需求創(chuàng)建具有相應Tag標簽組合的立即生效的CR
- 阿里云會按照Tag標簽組合將存量的實例關(guān)聯(lián)到對應的私有池中
- A公司技術(shù)人員創(chuàng)建Tag標簽組合的新實例,該實例一定能夠創(chuàng)建成功并且關(guān)聯(lián)到對應的私有池
注意:A公司不需要修改已有的任何腳本文件,從而可以零入侵的實現(xiàn)資源的確定性交付。
案例二:業(yè)務自主管理業(yè)務與私有池的精準、確定性交付
某B公司,資源交付團隊負責整個公司的各個業(yè)務線的資源交付。為了提升資源利用率,業(yè)務之間資源共享非常普遍,例如資源白天給A業(yè)務,晚上給B業(yè)務。例如B公司業(yè)務不定期,進行線上活動推廣,推廣期間會有一個明顯的資源突發(fā)。這個過程中,發(fā)生資源的共享、資源的突發(fā)大量需求。
在云上,客戶自己的資源進行共享,一種方式是云服務器不釋放,服務上應用進行部署釋放、調(diào)整;另外一種方式是資源釋放、應用釋放,新應用重新申請資源重新部署。前者資源和應用生命周期解偶,后者資源和生命周期一致。
在云原生理念驅(qū)動下,資源和應用生命周期一致可以實現(xiàn):可編程基礎(chǔ)設施、不可變基礎(chǔ)設施。客戶的訴求是資源隨時釋放并隨時可以再次獲取到。實際上,云上多用戶并發(fā)資源購買,平臺并不承諾用戶C已釋放的資源,繼續(xù)留給用戶C使用,而是有用戶需要購買,就會出售。那么,資源發(fā)生資源釋放,就不一定能及時再次購買的到。
同理,大量突發(fā)資源的臨時購買,也不一定能購買成功。客戶的訴求是資源確定性交付,從而完成業(yè)務活動的推廣。
阿里云延遲生效容量預定、立即生效容量預定,生效后的容量預定(就是客戶專屬的私有池),客戶可以隨時釋放私有池的實例,重新在私有池上開出實例,私有池容量客戶感知,業(yè)務的資源共享基于私有池,可以隨時隨地進行精準遷移。B公司研發(fā)實力雄厚,技術(shù)控制力強,自主集成私有池的OpenAPI到公司資源交付體系中,實現(xiàn)自主、精準資源交付。
B公司的具體操作步驟如下:
- B公司技術(shù)人員通過API購買與資源規(guī)劃相匹配的立即生效CR
- B公司技術(shù)人員在收到業(yè)務資源申請時,根據(jù)B公司資源管理策略,在資源創(chuàng)建API,如CreateInstance、RunInstances 中 設置 PrivatePoolOptionsMatchCriteria= Open。這種模式下,確保資源創(chuàng)建優(yōu)先在開發(fā)的私有池中匹配,當私有池無法匹配的時候,會到共有池申請,很好地實現(xiàn)了共享性業(yè)務的確定性、靈活性交付。或者PrivatePoolOptionsMatchCriteria =Target, PrivatePoolOptions ID=crp-a。這種模式下,確保資源創(chuàng)建在指定的私有池crp-a中創(chuàng)建。很低地實現(xiàn)了重保或者高優(yōu)先級業(yè)務的確定性交付。
上面兩個案例,分別是(1)零門檻的、Tags的匹配,實現(xiàn)業(yè)務的精準、確定性交付(2)業(yè)務自主管理業(yè)務與私有池的精準、確定性交付。兩種模式可以廣泛地復用到各公司在阿里云上ECS資源確定性交付場景。
5- 私有池的關(guān)鍵技術(shù)
一句話概括就是:云平臺為客戶預留固定的資源庫存,這部分庫存僅提供給客戶專屬使用(包括客戶授權(quán)的其他子賬號或者AliUid使用)
Open|Target 分配技術(shù)原理
根據(jù)創(chuàng)建實例傳入的參數(shù):PrivatePoolOptionsMatchCriteria值是Open 或者None 或者Target,后端在選擇對應的資源池進行庫存校驗和交付。其中私有池也有MatchCriteria,取值Open 或者Target。
匹配規(guī)則可以移步官方文檔:立即生效容量預定概述 - 云服務器 ECS - 阿里云
Tags分配技術(shù)原理
Tags分配本質(zhì)上基于私有池的Tags和實例Tags的匹配規(guī)則進行分配,是調(diào)度系統(tǒng)能力直接產(chǎn)品化服務的一種體現(xiàn)。那么調(diào)度系統(tǒng)的所有相關(guān)技術(shù)理論上都可以派上用場。關(guān)于資源調(diào)度和管理的全面介紹可以參考書籍《深入集群-大型數(shù)據(jù)中心資源調(diào)度和管理》一書。
總結(jié)
云上資源保障服務(例如具體的彈性保障、立即生效容量預留等,以及將推出的容量規(guī)劃服務),交付給客戶一個云上私有池,并支持客戶基于私有池進行確定性交付、靈活性交付、資源共享等。從而為客戶業(yè)務確定性、連續(xù)性發(fā)展提供了強有力的支持,客戶也可以進行容量的共享進行成本的分擔。
本文作者:李雨前,阿里云技術(shù)專家;文章已獲得作者授權(quán)發(fā)布
本期最佳實踐的分享就到這里了,我們還會推出云上私有池的選購指南等續(xù)篇內(nèi)容,敬請期待~
原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。?
總結(jié)
以上是生活随笔為你收集整理的云上虚拟IDC(私有池)如何为客户业务的确定性、连续性保驾护航的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python调用shell脚本
- 下一篇: 如何开发 Node.js Native