為多云構(gòu)建高效的API管理系統(tǒng)

責(zé)任編輯:editor004

作者:Stephen J. Bigelow

2017-05-04 10:50:56

摘自:TechTarget中國(guó)

摘要:API在云上扮演著至關(guān)重要的角色,它讓?xiě)?yīng)用可以和服務(wù)互相通信。因?yàn)閷蝹€(gè)API集成到企業(yè)應(yīng)用所存在的這些挑戰(zhàn),所以多云供應(yīng)商的使用——以及創(chuàng)建支持該模型的API管理系統(tǒng)——將令I(lǐng)T人員望而生畏。

API在云上扮演著至關(guān)重要的角色,它讓?xiě)?yīng)用可以和服務(wù)互相通信。但是當(dāng)混合使用多個(gè)云供應(yīng)商時(shí),API的管理非常復(fù)雜。

云應(yīng)用的開(kāi)發(fā)幾乎總是依賴一系列來(lái)自頂級(jí)供應(yīng)商的服務(wù),比如Amazon Web Services、Microsoft Azure和 Google Cloud Platform。要想高效地訪問(wèn)并且部署這些云服務(wù),企業(yè)必須使用供應(yīng)商提供的應(yīng)用程序編程接口。

但是隨著企業(yè)引入混合和多云的戰(zhàn)略,管理以及集成這些應(yīng)用程序接口(API)——供應(yīng)商不同,API區(qū)別很大——面臨著極大的挑戰(zhàn)。本文研究該領(lǐng)域的關(guān)鍵問(wèn)題以及解決方案,討論如何構(gòu)建多云的API管理系統(tǒng)。

多云API管理系統(tǒng)的挑戰(zhàn)

所有API都不是一樣的——它們包括子程序、協(xié)議和工具的任意組合。

如果某個(gè)企業(yè)想要?jiǎng)?chuàng)建在多種云平臺(tái)上都能工作的應(yīng)用的話,挑戰(zhàn)就會(huì)出現(xiàn),因?yàn)楣?yīng)商提供了不同的計(jì)算以及存儲(chǔ)實(shí)例、網(wǎng)絡(luò)服務(wù)和監(jiān)控工具。這意味著使用這些互不兼容的服務(wù)方案時(shí),在云供應(yīng)商之間遷移一些工作負(fù)載甚至是不可能實(shí)現(xiàn)的。即使服務(wù)是類(lèi)似的,用戶使用某個(gè)供應(yīng)商的API調(diào)用服務(wù)的方式和操作和其他的供應(yīng)商可能大相徑庭。

在向多云轉(zhuǎn)移時(shí),管理員必須意識(shí)到供應(yīng)商API間的不同之處。在不同的云供應(yīng)商之間完成相同的任務(wù)所使用的API調(diào)用可能會(huì)多幾次或者少幾次。

不同供應(yīng)商之間還存在著性能差異,比如延遲以及對(duì)給定時(shí)間內(nèi)的API調(diào)用次數(shù)的限制。同一時(shí)間點(diǎn),每個(gè)供應(yīng)商底層的軟件棧,以及軟件棧調(diào)優(yōu)或者優(yōu)化的方式,也會(huì)影響到API的性能和可用性。這會(huì)讓?xiě)?yīng)用的設(shè)計(jì)更為復(fù)雜。

另外,供應(yīng)商通常使用不同的API安全和授權(quán)技術(shù),以及不同的API錯(cuò)誤消息。當(dāng)云供應(yīng)商增加服務(wù)以及更新API時(shí)情況會(huì)更加糟糕。

因?yàn)閷蝹€(gè)API集成到企業(yè)應(yīng)用所存在的這些挑戰(zhàn),所以多云供應(yīng)商的使用——以及創(chuàng)建支持該模型的API管理系統(tǒng)——將令I(lǐng)T人員望而生畏。

多云API管理系統(tǒng)的服務(wù)代理

解決多云兼容性難題的一種方式是API抽象,在應(yīng)用和API訪問(wèn)的多云服務(wù)之間插入另一層。該層向企業(yè)應(yīng)用展現(xiàn)單一的、統(tǒng)一的API,使用單點(diǎn)登錄交付統(tǒng)一的命令集,比如提供創(chuàng)建和管理計(jì)算以及存儲(chǔ)實(shí)例的任務(wù)。這個(gè)抽象層隨后將這些命令翻譯成每種特定云供應(yīng)商的API調(diào)用。

這樣抽象的API已經(jīng)開(kāi)始出現(xiàn)在多云管理市場(chǎng)里。比如,云管理供應(yīng)商RightScale提供統(tǒng)一的API,可以管理大范圍的公有和私有云服務(wù),包括Amazon Web Services (AWS)、Microsoft Azure、Google Cloud Platform、Rackspace、IBM SoftLayer、Apache CloudStack、OpenStack 和 VMware vSphere。這樣的通用API讓用戶可以創(chuàng)建出跨云供應(yīng)商的一致的服務(wù)配置,同時(shí)提供覆蓋所有支持的云平臺(tái)的統(tǒng)一的監(jiān)控,費(fèi)用評(píng)估以及報(bào)告。

API管理軟件的優(yōu)勢(shì)

然而,使用云服務(wù)代理或者API管理系統(tǒng)的問(wèn)題是,添加另一層SaaS平臺(tái)所帶來(lái)的復(fù)雜度——以及對(duì)于業(yè)務(wù)而言會(huì)有另外的開(kāi)銷(xiāo)。用戶也認(rèn)為任意供應(yīng)商服務(wù)的變更都會(huì)快速并且可靠地反應(yīng)到代理的工具上。比如,如果AWS計(jì)費(fèi)變更了,或者Azure添加了一種服務(wù),代理就必須更新自己的平臺(tái)。用戶還必須適應(yīng)代理的可用性和可靠性。如果服務(wù)不可用,就會(huì)影響到所有的云供應(yīng)商服務(wù)的使用,直到代理恢復(fù)訪問(wèn)為止。

向標(biāo)準(zhǔn)API進(jìn)軍

理想狀態(tài)下,云供應(yīng)商應(yīng)該使用通用的API作為標(biāo)準(zhǔn),來(lái)輔助多云上的應(yīng)用和資源管理。雖然這聽(tīng)上去是個(gè)很美的目標(biāo),供應(yīng)商在這方面卻反應(yīng)很慢,不愿意放棄對(duì)客戶的鎖定。但是,通用云管理API上的利益和關(guān)注仍然會(huì)隨著服務(wù)利潤(rùn)的增長(zhǎng)而增長(zhǎng)。

一個(gè)新興的例子是,由Open Gred Forum的一個(gè)工作組領(lǐng)導(dǎo)的Open Cloud Computing Interface (開(kāi)放云計(jì)算接口,OCCI)。OCCI構(gòu)建了一個(gè)前端和服務(wù)供應(yīng)商的管理系統(tǒng)交互。它最初是想遠(yuǎn)程管理基礎(chǔ)架構(gòu)即服務(wù)供應(yīng)商,開(kāi)發(fā)出通用的工具,可以使用一個(gè)API去部署,擴(kuò)展以及監(jiān)控服務(wù)。OCCI至今已經(jīng)發(fā)展為可擴(kuò)展的API,還可以服務(wù)平臺(tái)即服務(wù)以及軟件即服務(wù)(SaaS)的供應(yīng)商。如今,OCCI已經(jīng)實(shí)現(xiàn)了大量云堆棧,包括OpenStack、OpenNebula、CloudStack、the CompatibleOne云代理以及其他一系列工具,比如Eucalyptus。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)