宕機(jī),是開發(fā)和運(yùn)維人員最為敏感的事情,服務(wù)器一旦宕機(jī)會(huì)給服務(wù)商和訪客造成不可預(yù)估的影響,降低訪客對(duì)訪問網(wǎng)站品牌的信任度。最近的GitHub出現(xiàn)了一次比較大規(guī)模的故障,服務(wù)中斷的時(shí)間達(dá)到24小時(shí)。由于80%以上的工程師平時(shí)工作依賴于GitHub, 所以,24小時(shí)的故障導(dǎo)致絕大部分互聯(lián)網(wǎng)企業(yè)的技術(shù)人員無法正常工作,影響很大。像微信、微博等應(yīng)用的宕機(jī)事件也時(shí)有發(fā)生,但是由于僅僅影響的是生活的體驗(yàn),所以還不算很嚴(yán)重。但是在金融行業(yè),比如銀行業(yè)務(wù)如果中斷,產(chǎn)生的后果將不堪設(shè)想。
由此可以看出,服務(wù)的穩(wěn)定性和持續(xù)性無論是在互聯(lián)網(wǎng)行業(yè),還是在傳統(tǒng)行業(yè)都非常重要,跟我們的生活息息相關(guān)。但是宕機(jī)并不能完全消除,所以增強(qiáng)系統(tǒng)可靠性、提升業(yè)務(wù)連續(xù)性、使業(yè)務(wù)運(yùn)行不受故障和災(zāi)難影響,就成了解決宕機(jī)的唯一辦法,此時(shí),多活應(yīng)運(yùn)而生。
多活:為解決宕機(jī)而生
多活的兩個(gè)重要技術(shù)指標(biāo)是RTO(業(yè)務(wù)恢復(fù)時(shí)間)和RPO(數(shù)據(jù)的丟失量)。對(duì)于互聯(lián)網(wǎng)企業(yè)來說,更關(guān)注業(yè)務(wù)恢復(fù)時(shí)間。而對(duì)于銀行、保險(xiǎn)等跟民生相關(guān)的企業(yè),則更關(guān)注數(shù)據(jù)的丟失量。最好的方式是兩個(gè)都趨近于0,使業(yè)務(wù)可以7*24小時(shí)在線,并且是可用服務(wù)。
當(dāng)然,并不是所有的業(yè)務(wù)都需要多活,需要多活的業(yè)務(wù),一是這個(gè)業(yè)務(wù)很重要,如果發(fā)生故障會(huì)影響公司業(yè)務(wù),導(dǎo)致客戶受損;二是這個(gè)業(yè)務(wù)面向廣泛的客戶,影響面比較大。
多活的架構(gòu)一直存在,但是,以往的多活架構(gòu)存在諸多問題。首先是成本高,比如銀行兩地三中心的業(yè)務(wù)至少需要找兩個(gè)城市,投入三個(gè)機(jī)房。這三個(gè)機(jī)房需要有網(wǎng)絡(luò)連接,在每個(gè)機(jī)房里要投入大規(guī)模的硬件,業(yè)務(wù)在兩個(gè)機(jī)房都要有部署。之前做多活依賴IBM、EMC等昂貴的硬件,花費(fèi)巨額的成本。第二是當(dāng)業(yè)務(wù)上線后需要有能夠運(yùn)維這些復(fù)雜多活系統(tǒng)的人,這就需要在人員投入上花費(fèi)很多成本。第三是時(shí)間成本,包括挑選機(jī)房、鋪設(shè)光纖和網(wǎng)絡(luò)。一個(gè)兩地三中心的架構(gòu)的建設(shè)至少需要一到兩年的時(shí)間。
青云:從三個(gè)層面助力企業(yè)部署多活
那么,究竟什么樣的多活基礎(chǔ)架構(gòu)才能讓客戶以更低的成本、更低的門檻部署自己的多活業(yè)務(wù)?青云QingCloud運(yùn)營副總裁林源指出,應(yīng)該從基礎(chǔ)設(shè)施、基礎(chǔ)架構(gòu)(IaaS)、分布式應(yīng)用三個(gè)層面來考慮。在基礎(chǔ)設(shè)施層,兩地三中心的架構(gòu)至少需要有城市、機(jī)房、光纖、網(wǎng)絡(luò)。青云目前有三個(gè)大區(qū)提供Region服務(wù):北京3區(qū)、廣東2區(qū)、上海1區(qū)。
在基礎(chǔ)架構(gòu)(IaaS)層,則要給用戶提供足夠多的通用組件,如負(fù)載均衡器、網(wǎng)絡(luò)、公網(wǎng)帶寬等。青云提供的負(fù)載均衡、網(wǎng)絡(luò)和公網(wǎng)本身就是多活的。負(fù)載均衡器用來承接用戶外部的訪問,本身是多機(jī)房部署,在北京區(qū)的三個(gè)數(shù)據(jù)中心都有部署。極端情況下,任意一個(gè)數(shù)據(jù)中心宕機(jī),都不會(huì)影響給用戶提供負(fù)載均衡器的服務(wù)。網(wǎng)絡(luò)連通是一件相對(duì)比較難的事情,用戶想做多活,就一定會(huì)在多個(gè)數(shù)據(jù)中心之間部署業(yè)務(wù)。這時(shí)候就需要通過簡單的方式提供多個(gè)數(shù)據(jù)中心之間的網(wǎng)絡(luò)互聯(lián),包括VPC、三層網(wǎng)絡(luò)、二層網(wǎng)絡(luò)、私有網(wǎng)絡(luò)、彈性公網(wǎng)IP(外網(wǎng))。無論哪個(gè)數(shù)據(jù)中心宕機(jī),外網(wǎng)都不會(huì)受影響,流量可以從多個(gè)數(shù)據(jù)中心進(jìn)來。
用戶的業(yè)務(wù)主要有前端、中間件、數(shù)據(jù)庫,要想在應(yīng)用層或者PaaS層給用戶提供很好的支撐,最難做的是數(shù)據(jù)庫。青云的數(shù)據(jù)庫本身是多活的,任何一個(gè)數(shù)據(jù)中心的宕機(jī)都不會(huì)影響數(shù)據(jù)庫。這樣一來,用戶部署業(yè)務(wù)會(huì)變得更簡單。
上圖是在北京大區(qū)建立多活架構(gòu)的展示。用戶想構(gòu)建多活的業(yè)務(wù),只需要做最簡單的應(yīng)用層部分和中間件的部分。這部分的業(yè)務(wù)絕大部分情況下不會(huì)涉及數(shù)據(jù),或者說不會(huì)涉及很復(fù)雜的數(shù)據(jù)一致性的問題,客戶可以自己解決。其他的負(fù)載均衡器、Redis、MySQL以及多個(gè)數(shù)據(jù)中心之間的互聯(lián),都是由青云提供。所以通過這種方式,用戶想部署一個(gè)多活的應(yīng)用或者多活的業(yè)務(wù),會(huì)變得很簡單,而且很便宜。因?yàn)橛脩糁恍枰冻鏊渴饦I(yè)務(wù)的資源,和他使用青云的PaaS資源就可以了。
全方位一體化的交付能力
青云不光提供公有云服務(wù),同時(shí)也在做混合云和私有云的交付。在公有云上,可以交付多活的基礎(chǔ)設(shè)施。如果客戶的業(yè)務(wù)不是完全在公有云上,而是混合云的架構(gòu),在此情況下客戶能否使用多活?青云的回答是可以的!利用青云的SD-WAN智能廣域網(wǎng)服務(wù),加上私有云和公有云統(tǒng)一架構(gòu),就可以給客戶提供一個(gè)混合云架構(gòu)下的多活基礎(chǔ)設(shè)施。銀行客戶、保險(xiǎn)客戶大多屬于這種情況。
總之,何為青云的真正多活?首先是高效、便捷很重要。站在用戶的角度,提供一個(gè)門檻低的產(chǎn)品,幫助他們構(gòu)建多活的服務(wù)??煽恳彩侵陵P(guān)重要的一環(huán),包括數(shù)據(jù)中心的選擇、帶寬的連接以及組件等,都要經(jīng)過考驗(yàn)。最后是全面,青云的多活架構(gòu)不光可以在公有云上使用,在混合云、私有云方面,青云都有全面的交付能力。