最佳實踐丨雲上虛擬IDC(私有池)如何為客戶業務的確定性、連續性保駕護航

阿里雲開發者發表於2021-11-08
簡介:企業業務上雲後,還面臨特定可用區購買雲上特定計算產品例項失敗的困境?雲上私有池pick一下

Why 雲上業務為什麼需要資源確定性、服務連續性


雲端計算正朝著像水電煤一樣的基礎設施演進,支援使用者按需使用、按量付費。目前,國內外各雲服務商聯合生態夥伴,努力提升雲產品服務的快速迭代、推廣使用,然而現實很骨感:使用者依然面臨偶發的在特定可用區購買雲上特定計算產品例項失敗的困境。雲服務的計算理念--隨時隨地彈性,怎麼這個場景下就不Work了?我們來分析分析。

目前,客戶雲上業務整個生命週期過程,需要感知算力的“商品化”載體:例如某客戶A,將個人部落格的Web服務遷移到阿里雲上時,需要購買阿里雲彈性計算雲伺服器,客戶需要感知雲伺服器規格資訊,如最新的ecs.g7.xlarge。例如某客戶B,將線上製作3D創意效果的業務部署在阿里雲上,依託阿里雲強大GPU等算力資源,此時,需要購買阿里雲彈性計算的GPU雲伺服器,如ecs.gn7i-c8g1.2xlarge。

通俗理解:類似使用者向“酒店”租住一個“房間”。雲上環境,使用者購買雲上的一個具體的計算例項規格。

這與水電煤“即插即用”存在區別:雲上的算力需要感知商品例項資訊。水電煤是統一的‘用量’,遮蔽了後端的供貨商(哪個電網供電、哪條線路輸送)、供貨的生產裝置(水力發電、火力發電、風能發電、太陽能發電等)。目前國內外頭部雲服務供應商的算力服務售賣實體,主流依然是算力對應具體商品。由於面向具體商品,那麼就存在商品之間服務特性、適合的業務場景、業務所需數量等差異。雲服務供應商也就需要在不同地域提前準備好不同的商品,以及供應數量。

因為很難精準地預測各種具體算力商品的使用者量級、購買時間、購買數量,一旦出現行業熱點,同一行業的大多數客戶短時間大量購買某一個特性的商品,較容易出現針對特定商品的搶購而導致部分使用者購買失敗。典型如疫情背景下,挖礦、線上教育的興起,對本地盤、視訊編解碼算力需求旺盛,導致相關商品搶購現象突出。

通俗理解:類似“酒店”的剩餘房間已經用完了,新客戶入住失敗。對應雲環境,使用者在雲上購買計算例項,短時庫存售磬,可能購買失敗。

另外,電商每年在不同時間段會有各種“節日”促銷活動,典型如618、雙11。在促銷期間和促銷結束的一段時間內,需要大量的算力資源支援線上活動和活動結束後的海量資料分析。客戶服務經歷“正常態”、“大促態”、“大促收尾態”、“正常態”這樣的典型服務連續過程。客戶為了確保全年服務的連續性,特別是資源需求按預期規劃確定進行,那麼,雲上資源確定性交付就是重要支撐。

通俗理解:例如奧運這樣的預期活動,使用者入住酒店,保險的措施就是提前預訂好房間。對於雲環境,就是在雲上預訂一個虛擬的IDC(私有池),這樣就可以在私有池上確定性地交付資源。

 title=

 title=

圖1-水電煤基礎設施與雲端計算基礎設施“服務形態”現階段的對比

綜上分析,現階段,在雲服務的主流服務售賣形式依然是“算力商品化”的大背景下,使用者需要感知業務在雲上生命週期過程所需商品特性,雲平臺需要面向商品進行供應生產。由於需求的變化和市場環境的不確定性,供應和需求短時間的不匹配比較容易發生。所以,服務特定行業的特定客戶、針對特定算力商品的確定性購買,即雲上資源確定性交付就成為解決這種困境的重要能力。

How 如何保障雲上業務資源確定性、服務連續性


前面分析了客觀現狀,存在特定地域、特定時間段、特定算力商品的短時購買失敗現象。對客戶來說,需要結合自身場景,市場上雲商品供應情況,合適的成本投入來實現資源交付的確定性,從而確保業務連續性。

下文的分析以整體性概念為主,具體到客戶的業務場景,還需要具體案例具體分析。例如預定地域的選擇、例項規格的選擇、預定時長的選擇、預定數量的選擇、總的成本最優等。資源交付的一種劃分如圖2所示,其中私有池是確定性交付的重要實現方式。結合業務場景,推薦最佳的私有池選購方案本文暫不介紹,後續專門出文件描述,幫助使用者更好地依託雲的產品服務,實現資源的確定性交付,保障業務服務的連續性。

 title=

圖2-資源交付的一種劃分

 title=

圖3-確定性交付的可選策略

 title=

圖4-靈活彈性交付的可選策略

Aliyun 私有池選購和價值


1- 相關概念

有池: 當使用者在ECS 控制檯,“資源保障”服務標籤頁下,購買“彈性保障”或者“容量預定”等產品後,就獲得了雲上的一個具有確定性庫存資源預留,並且是專屬分配使用的資源池。如圖5-私有池模式抽象和多種產品實現。圖5左側,一個私有池的服務有兩個階段:私有池預留和私有池資源交付。針對私有池預留,產品目標是履約:確保私有池真正被使用。例如彈性保障EA elastic assurance,一次性預收取這個私有池費用。

 title=

圖5-私有池模式和多種產品實現

iCRimmediately Capacity Reservesion 立即生效按量預留CR,私有池全部用完,無額外的成本開銷,只在私有池有剩餘容量的時候,收取剩餘容量部分費用。

aCR:advance Capacity Reservation 指定時間、延遲生效的容量預定,基於信用分等級收取一些預訂金,信用等級越高,預定金越低。

針對私有池資源交付,產品目標是:確定性交付、零門檻使用。當例項開出來後,會按例項進行正常的收費。

資源保障:資源保障是包括資源供應量化感知、資源的確定性預定、私有池規劃使用的全鏈路資源確定性服務,它能夠全面提升您在查詢、預定、購買、使用資源過程中的體驗,使您在複雜多變的市場環境下依然能夠享受到專有保障資源。

彈性保障:通過彈性保障,您只需要支付一筆較低的保障費用,即可換取固定週期(支援1個月~5年)的資源確定性保障。購買彈性保障時設定可用區、例項規格、保障數量等屬性,系統會以私有池的方式預留指定數量屬性相匹配的資源,例如在華東1(杭州)可用區I預留10臺ecs.c6.large規格的例項。在彈性保障有效期內,您建立按量付費例項時選擇使用私有池的容量,即可享受到資源確定性保障。在彈性保障有效期內,您可以重複建立/釋放指定數量的例項而無需擔心資源供應的問題。超出彈性保障有效期或者彈性保障已經沒有空閒的容量時,資源確定性保障將不再提供。

立即生效容量預定:您可以隨時購買立即生效容量預定,預定成功後立即生效,即可享受資源確定性服務。容量預定生效後即開始按照按量例項費率收費,直至立即生效容量預定到期自動釋放或者您提前手動釋放。購買立即生效容量預定時設定可用區、例項規格、作業系統型別、容量大小等屬性,系統會以私有池的方式預留指定數量屬性相匹配的資源。在容量預訂有效期內,您建立按量付費例項時選擇使用私有池的容量,即可享受到資源確定性保障。通過普通場景購買的ECS,由於資源的供應千變萬化,線上的資源可能無法每時每刻滿足您的定製化需求;而在容量預訂有效期內,您可以重複建立/釋放指定數量的例項而無需擔心資源供應的問題。容量預定未處於生效狀態或者容量預定已經沒有空閒的容量時,資源確定性保障將不再提供。在容量預定計費週期內,如果您購買了按量例項,並且使用了資源確定性,這部分按量例項的計算資源費用將會抵扣與按量例項匹配的容量預定的部分或者全部費用。

當一個按量例項與彈性保障和容量預訂均匹配時,系統會優先選取容量預定產品對應的私有池進行匹配。

2- 私有池價值

價值1: 確定性資源交付

隨著雲原生概念和實踐的廣泛普及,基於雲的算力研發已成為新常態。客戶業務雲原生後,業務的快速發展過程中,往往針對特定場景,有著資源確定性交付的訴求,期望100%地保障業務按既定規劃上線、運營、推廣等。

資源保障相關產品提供了全鏈路確定性交付能力

具有確定性交付的能力,從業務角度就避免了雲上某個可用區下、某種稀缺資源的搶購帶來的購買成功率低的不確定性風險,例如GPU大規格例項。在原有共有資源池彈性交付基礎上,配合確定性交付,可以進一步保障高優先順序業務的資源100%保障。例如之前按量購買了20臺A規格例項,這些例項會有業務的一些運維、變更等操作,購買20個A規格構成的私有池,這樣就確保這些例項操作運維過程中資源具有100%確定性,不會被其他客戶搶佔。正常情況下20個A規格私有池容量被20個A規格例項全部使用,無任何空閒容量,從而無任何額外成本投入。當實際使用資源確定性的A例項數量不足20個的時候,例如僅使用18個例項,產生2個空閒容量,此時空閒容量會按秒級計費,按小時出賬單。

價值2: 資源專屬排程分配使用

在客戶業務架構、業務演進深度融合雲產品服務的迭代升級過程中,除了資源確定性交付之外,資源靈活性交付也隨之成為重要的訴求。阿里雲資源保障服務目前已經支援基於雲上私有池的專屬排程分配,使用者專屬排程目前有兩種實踐方式。

方式一:使用者基於Open、Target、None的匹配規則,進行例項的排程分配

使用者在建立私有池的時候,指定私有池的匹配屬性:Open(開放)、Target(指定)。在建立例項的時候指定例項匹配屬性Open 或者Target(使用Target模式需要顯示指定私有池ID),後端進行屬性匹配排程。

當例項匹配屬性值為Open的時候,系統會優先從使用者私有池建立例項;如果無匹配的私有池,則按照共有池流程建立例項,同時保留資源確定性特徵,一旦發現有空閒的容量,系統會準時的自動將這些例項重新與空閒私有池進行匹配和關聯;當例項匹配屬性值為Target的時候,明確指定某個私有池,此時系統在指定的私有池進行容量和私有池資源規則的匹配校驗。例如私有池region、zone、instanceType、platform、payType等校驗。

執行過程中,當例項的匹配屬性發生修改,系統會準時進行例項和私有池的重新匹配,確保例項儘可能地關聯到私有池,從而減少使用者的費用成本(私有池的空閒容量及時使用掉);當匹配模式為Open的私有池被釋放的時候,系統會準時的對與該私有池關聯的並且使用Open匹配模式的例項重新匹配,確保例項儘可能地關聯到私有池,從而減少使用者的成本(私有池的空閒容量及時使用掉)。

方式二:使用者基於Tags匹配規則,進行例項的排程分配

使用者在建立私有池的時候,指定私有池的tag資訊,然後建立例項的時候指定tag資訊,後端就可以按照客戶指定的tag匹配規則,從私有池或者共有池進行精細化資源排程分配。

為了降低使用者使用門檻,或者零門檻,不論方式一還是方式二,阿里雲資源保障服務都支援使用者在現有CreateInstance、RunInstnaces介面基礎上,直接使用方式一或者方式二進行資源專屬排程。例如使用者申請白名單後,後端按使用者需求,將使用者建立例項時候的匹配屬性指定為預設值,這樣使用者既有的整合介面引數無須改動。

3- 私有池的獲取

控制檯購買獲取

https://help.aliyun.com/document\_detail/193634.html

OpenAPI整合式獲取

相關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-ecs
2.將SDK匯入到工程中
具體操作步驟可參考官方幫助文件,地址:
https://help.aliyun.com/document_detail/25699.html?spm=a2c4g.11186623.6.1483.512e73fbxDWOfZ
3.建立立即生效容量預定私有池
建立容量預定私有池的對應API為CreateCapacityReservation
其中<accessKeyId>和<accessSecret>需要替換為對應購買賬號的AK資訊。
3.1 Java版Demo
建立私有池:立即生效容量預留
線上介面體驗:https://api.aliyun.com/?spm=5176.12818093.resource-links.dapi_platform.54ce16d07XdZhp#/?product=Ecs&version=2014-05-26&api=CreateCapacityReservation&tab=DEMO&lang=JAVA
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 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);//注入tags
        try {
            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());
        }
    }
}
建立例項-Open 開放匹配
線上介面體驗:https://api.aliyun.com/?spm=5176.12818093.resource-links.dapi_platform.54ce16d07XdZhp#/?product=Ecs&version=2014-05-26&api=RunInstances&tab=DEMO&lang=JAVA
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 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"); // 私有池 開放匹配引數
        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());
        }
    }
}
建立例項-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"); // 私有池id
        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());
        }
    }
}

4- 私有池使用者案

案例一:零門檻的Tags匹配,實現業務的精準、確定性交付

某A公司,每隔一段時間需要對業務進行升級,需要將伺服器釋放,重新進行業務的部署;在升級的過程中,需要確保業務依賴的資源確定性交付出來,從而保障業務服務的連續性。

這裡有兩個關鍵的變化:伺服器釋放、重新業務的部署。在雲平臺上,時時刻刻都有使用者進行資源釋放、購買。在這個動態過程中,可能A使用者釋放的資源,很快被B使用者購買走了,A使用者此時可能就買不到了,需要等其他使用者釋放掉資源的時候,或者雲平臺恰巧有新增商品量的時候,才有機會購買成功。一旦業務需要延遲購買到相應的商品(等待有可售庫存供下單),可能導致業務升級過程中斷,服務連續性就受到影響。

為了解決這個問題,客戶可以先購買到目標商品,進行業務的新部署,然後釋放老的資源,這就增加了升級過程中成本投入:新購資源和老資源同時付費,並且升級過程時間越久,投入的成本越多。另外,升級程式受先購買到資源影響,只有在新購資源交付成功後,才能進行後續的升級,這使得業務升級計劃受到資源交付影響,業務升級不一定完全按業務規劃準時進行。

阿里雲立即生效的CR完美地契合了這個場景。A公司購買一批適合業務場景的私有池(立即生效容量預定),然後放心釋放資源,在私有池上100%開出資源,進行業務的準時升級。在實際使用私有池過程中,阿里雲提供了的標準化的接入方案:使用者按業務管理需求,使用者自主進行資源指定到哪個私有池進行資源交付。這就要求業務針對已有資源交付介面做輕微改動。但是,考慮到使用者接入成本、對已有業務的入侵程度,阿里雲進一步提供了零門檻使用CR,支援高階特性:經過客戶授權後,雲平臺幫客戶在新購例項的時候,修改預設的匹配屬性為Open。同時在已有Tag資源管理基礎上,支援面向Tag的、業務專屬的例項和私有池Tag匹配規則(業界首推的特性)。

A公司使用CR的具體操作步驟如下:

  • A公司技術人員通過API將需要使用立即生效CR的存量例項匹配屬性修改為Open,
  • A公司技術人員授權阿里雲將其賬戶下新購例項的預設匹配屬性從None修改為Open,
  • A公司技術人員按照內部的業務邏輯設計相應的Tag標籤組合
  • A公司技術人員根據需求建立具有相應Tag標籤組合的立即生效的CR
  • 阿里雲會按照Tag標籤組合將存量的例項關聯到對應的私有池中
  • A公司技術人員建立Tag標籤組合的新例項,該例項一定能夠建立成功並且關聯到對應的私有池

注意:A公司不需要修改已有的任何指令碼檔案,從而可以零入侵的實現資源的確定性交付。

案例二:業務自主管理業務與私有池的精準、確定性交付

某B公司,資源交付團隊負責整個公司的各個業務線的資源交付。為了提升資源利用率,業務之間資源共享非常普遍,例如資源白天給A業務,晚上給B業務。例如B公司業務不定期,進行線上活動推廣,推廣期間會有一個明顯的資源突發。這個過程中,發生資源的共享、資源的突發大量需求。

在雲上,客戶自己的資源進行共享,一種方式是雲伺服器不釋放,服務上應用進行部署釋放、調整;另外一種方式是資源釋放、應用釋放,新應用重新申請資源重新部署。前者資源和應用生命週期解偶,後者資源和生命週期一致。

在雲原生理念驅動下,資源和應用生命週期一致可以實現:可程式設計基礎設施、不可變基礎設施。客戶的訴求是資源隨時釋放並隨時可以再次獲取到。實際上,雲上多使用者併發資源購買,平臺並不承諾使用者C已釋放的資源,繼續留給使用者C使用,而是有使用者需要購買,就會出售。那麼,資源發生資源釋放,就不一定能及時再次購買的到。

同理,大量突發資源的臨時購買,也不一定能購買成功。客戶的訴求是資源確定性交付,從而完成業務活動的推廣。

阿里雲延遲生效容量預定、立即生效容量預定,生效後的容量預定(就是客戶專屬的私有池),客戶可以隨時釋放私有池的例項,重新在私有池上開出例項,私有池容量客戶感知,業務的資源共享基於私有池,可以隨時隨地進行精準遷移。B公司研發實力雄厚,技術控制力強,自主整合私有池的OpenAPI到公司資源交付體系中,實現自主、精準資源交付。

B公司的具體操作步驟如下:

  • B公司技術人員通過API購買與資源規劃相匹配的立即生效CR
  • B公司技術人員在收到業務資源申請時,根據B公司資源管理策略,在資源建立API,如CreateInstance、RunInstances 中 設定 PrivatePoolOptionsMatchCriteria= Open。這種模式下,確保資源建立優先在開發的私有池中匹配,當私有池無法匹配的時候,會到共有池申請,很好地實現了共享性業務的確定性、靈活性交付。或者PrivatePoolOptionsMatchCriteria =Target, PrivatePoolOptions ID=crp-a。這種模式下,確保資源建立在指定的私有池crp-a中建立。很低地實現了重保或者高優先順序業務的確定性交付。

上面兩個案例,分別是(1)零門檻的、Tags的匹配,實現業務的精準、確定性交付(2)業務自主管理業務與私有池的精準、確定性交付。兩種模式可以廣泛地複用到各公司在阿里雲上ECS資源確定性交付場景。

5- 私有池的關鍵技術

一句話概括就是:雲平臺為客戶預留固定的資源庫存,這部分庫存僅提供給客戶專屬使用(包括客戶授權的其他子賬號或者AliUid使用)

Open|Target 分配技術原理

根據建立例項傳入的引數:PrivatePoolOptionsMatchCriteria值是Open 或者None 或者Target,後端在選擇對應的資源池進行庫存校驗和交付。其中私有池也有MatchCriteria,取值Open 或者Target。

匹配規則可以移步官方文件:https://help.aliyun.com/document\_detail/193633.html

Tags分配技術原理

Tags分配本質上基於私有池的Tags和例項Tags的匹配規則進行分配,是排程系統能力直接產品化服務的一種體現。那麼排程系統的所有相關技術理論上都可以派上用場。關於資源排程和管理的全面介紹可以參考書籍《深入叢集-大型資料中心資源排程和管理》一書。

總結


雲上資源保障服務(例如具體的彈性保障、立即生效容量預留等,以及將推出的容量規劃服務),交付給客戶一個雲上私有池,並支援客戶基於私有池進行確定性交付、靈活性交付、資源共享等。從而為客戶業務確定性、連續性發展提供了強有力的支援,客戶也可以進行容量的共享進行成本的分擔。

本文作者:李雨前,阿里雲技術專家;文章已獲得作者授權釋出

本期最佳實踐的分享就到這裡了,我們還會推出雲上私有池的選購指南等續篇內容,敬請期待~

版權宣告:本文內容由阿里雲實名註冊使用者自發貢獻,版權歸原作者所有,阿里雲開發者社群不擁有其著作權,亦不承擔相應法律責任。具體規則請檢視《阿里雲開發者社群使用者服務協議》和《阿里雲開發者社群智慧財產權保護指引》。如果您發現本社群中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社群將立刻刪除涉嫌侵權內容。

相關文章