混合云/多云環(huán)境如何部署微服務(wù)

責(zé)任編輯:jackye

作者:Tom Nolle

2016-09-21 09:44:59

摘自:TechTarget中國(guó)

微服務(wù)能夠?yàn)榛旌显苹蚨嘣撇渴饚?lái)大量的好處,但是它們也能夠帶來(lái)與網(wǎng)絡(luò)、安全性等相關(guān)的新挑戰(zhàn)。混合云和多云應(yīng)用中的網(wǎng)絡(luò)性能問(wèn)題通常都與數(shù)據(jù)流量流經(jīng)多云、或云和數(shù)據(jù)中心以及邊界點(diǎn)的方式相關(guān)。

微服務(wù)能夠?yàn)榛旌显苹蚨嘣撇渴饚?lái)大量的好處,但是它們也能夠帶來(lái)與網(wǎng)絡(luò)、安全性等相關(guān)的新挑戰(zhàn)。

大多數(shù)IT企業(yè)已經(jīng)開(kāi)始認(rèn)識(shí)到在開(kāi)發(fā)和部署中實(shí)施軟件組件化的好處。在云中,組件化帶來(lái)了重要的優(yōu)勢(shì),例如增加彈性和支持橫向擴(kuò)展。

微服務(wù)(即通常在應(yīng)用程序中共享的小型功能組件)能夠顯著地放大這些優(yōu)勢(shì)。但是,首先用戶(hù)必須正確地規(guī)劃、開(kāi)發(fā)和部署微服務(wù)。

了解如何讓微服務(wù)起作用

如需開(kāi)始規(guī)劃微服務(wù),IT團(tuán)隊(duì)需要了解微服務(wù)與以服務(wù)為導(dǎo)向架構(gòu)中應(yīng)用程序組件或元素的不同之處。微服務(wù)不是完整的應(yīng)用組件;它們是在應(yīng)用中作為服務(wù)專(zhuān)為共享而設(shè)計(jì)的——這意味著多個(gè)應(yīng)用能夠在同一時(shí)間內(nèi)調(diào)用微服務(wù)的單個(gè)實(shí)例。微服務(wù)也是專(zhuān)為使用類(lèi)似于網(wǎng)絡(luò)RESTful接口而設(shè)計(jì)的。

如果微服務(wù)不符合上述定義,那么它們可能不會(huì)提供很多好處的。當(dāng)微服務(wù)能夠符合上述特點(diǎn)時(shí),用戶(hù)需要在混合云或多個(gè)云部署中維護(hù)每一個(gè)微服務(wù)。

微服務(wù)對(duì)多云網(wǎng)絡(luò)的影響

因?yàn)槲⒎?wù)是小塊的功能組件,它們可以將應(yīng)用程序分解成為對(duì)外部服務(wù)的很多個(gè)連續(xù)請(qǐng)求。這個(gè)用于訪(fǎng)問(wèn)服務(wù)的網(wǎng)絡(luò)有可能引入傳輸延遲和其他網(wǎng)絡(luò)性能問(wèn)題。至關(guān)重要的是,鏈接微服務(wù)和使用它們提供服務(wù)質(zhì)量(QoS)的應(yīng)用的網(wǎng)絡(luò)連接需要支持用戶(hù)體驗(yàn)。在用戶(hù)部署微服務(wù)之前,應(yīng)跨用戶(hù)的混合云或多云環(huán)境測(cè)試所有負(fù)載變化下的微服務(wù)運(yùn)行性能。如果用戶(hù)的服務(wù)質(zhì)量低于可接受水平,那么可變更網(wǎng)絡(luò)連接以矯正之。另外,用戶(hù)可以設(shè)計(jì)自己的應(yīng)用部署過(guò)程以便于服務(wù)不會(huì)移動(dòng)到用戶(hù)網(wǎng)絡(luò)中的盲點(diǎn)。

混合云和多云應(yīng)用中的網(wǎng)絡(luò)性能問(wèn)題通常都與數(shù)據(jù)流量流經(jīng)多云、或云和數(shù)據(jù)中心以及邊界點(diǎn)的方式相關(guān)??梢耘c用戶(hù)的云供應(yīng)商進(jìn)行溝通,讓用戶(hù)的VPN供應(yīng)商和數(shù)據(jù)中心團(tuán)隊(duì)協(xié)力優(yōu)化網(wǎng)絡(luò)連接性。應(yīng)特別謹(jǐn)慎處理多云應(yīng)用,因?yàn)楹芏喙苍乒?yīng)商并不與其他供應(yīng)商直接相連;他們會(huì)希望連接通過(guò)用戶(hù)的VPN或數(shù)據(jù)中心網(wǎng)絡(luò)。如果在一個(gè)云中的一個(gè)應(yīng)用使用了另一個(gè)云中的一個(gè)微服務(wù),那么就存在著一個(gè)長(zhǎng)傳輸延遲的潛在可能。如果用戶(hù)不能降低延遲時(shí)間,那么就應(yīng)盡量避免跨云供應(yīng)商網(wǎng)絡(luò)的微服務(wù)訪(fǎng)問(wèn)。用戶(hù)可能需要在每一個(gè)云環(huán)境中都部署一個(gè)服務(wù)副本,從而避免這樣的網(wǎng)絡(luò)性能問(wèn)題。

多個(gè)應(yīng)用程序訪(fǎng)問(wèn)微服務(wù)還需要專(zhuān)門(mén)的優(yōu)化網(wǎng)絡(luò)。訪(fǎng)問(wèn)微服務(wù)的最簡(jiǎn)單方法就是假定擁有一個(gè)連接用戶(hù)所有云和數(shù)據(jù)中心的專(zhuān)用網(wǎng)絡(luò)。通過(guò)使用這種方法,用戶(hù)可以在任何位置部署微服務(wù),而應(yīng)用可以使用標(biāo)準(zhǔn)IP機(jī)制——URL和域名服務(wù)(DNS)或其他服務(wù)目錄方法,來(lái)讓?xiě)?yīng)用程序訪(fǎng)問(wèn)它們。

當(dāng)微服務(wù)在不同云供應(yīng)商之間或在云供應(yīng)商與數(shù)據(jù)中心之間遷移時(shí),還會(huì)帶來(lái)另一個(gè)挑戰(zhàn)。通常情況下,這種遷移需要改變IP地址,這意味著微服務(wù)遷移后必須將服務(wù)邏輯名稱(chēng)關(guān)聯(lián)不同地址。應(yīng)確保用戶(hù)有用于更換故障組件的工具和措施,從而對(duì)DNS或服務(wù)目錄項(xiàng)做出必要的修改,以便用戶(hù)的應(yīng)用程序能夠在微服務(wù)的新地址找到新服務(wù)。

安全地部署微服務(wù)

多個(gè)應(yīng)用經(jīng)常共享一個(gè)單一的微服務(wù),這一事實(shí)帶來(lái)了混合云和多云環(huán)境中的另兩個(gè)挑戰(zhàn):安全性和合規(guī)性,以及狀態(tài)和無(wú)狀態(tài)行為。

由于應(yīng)用在任何時(shí)候都在共享功能,所以具有嚴(yán)格合規(guī)性需求的應(yīng)用程序就存在著違規(guī)風(fēng)險(xiǎn)。這是因?yàn)楣蚕矸?wù)可能會(huì)為外人留下一個(gè)進(jìn)入的窗口。由于遷移微服務(wù)或在負(fù)載下復(fù)制微服務(wù)需要相當(dāng)開(kāi)放的尋址方法,所以用戶(hù)需要確保每一個(gè)微服務(wù)及其訪(fǎng)問(wèn)的安全性。避免微服務(wù)混合要求安全性和合規(guī)性監(jiān)控的功能與其他開(kāi)放給更大社區(qū)的功能——讓它們成為兩個(gè)不同的微服務(wù)。

探索狀態(tài)和無(wú)狀態(tài)問(wèn)題

狀態(tài)與無(wú)狀態(tài)問(wèn)題是很復(fù)雜的,即便對(duì)于軟件架構(gòu)師和開(kāi)發(fā)人員來(lái)說(shuō)亦是如此。應(yīng)用程序通常支持包括多個(gè)步驟或狀態(tài)的交易型活動(dòng)。例如,假設(shè)我們有一個(gè)被稱(chēng)為“兩個(gè)數(shù)相加”的服務(wù)。如果我們?cè)谝粋€(gè)請(qǐng)求中提出第一個(gè)數(shù),在另一個(gè)請(qǐng)求中提出第二個(gè)數(shù),而其他用戶(hù)可能會(huì)無(wú)意中在我們的兩個(gè)數(shù)之間引入他們自己的數(shù)字,那么我們就會(huì)得到錯(cuò)誤的答案。

如果微服務(wù)無(wú)法在向它發(fā)出的請(qǐng)求之間保存數(shù)據(jù),那么如有需要可令請(qǐng)求無(wú)狀態(tài)或者確保他們能夠以某種方式傳輸狀態(tài)。在我們的例子中,提供兩個(gè)待相加的數(shù)字就可省去多次請(qǐng)求以及消除狀態(tài)行為風(fēng)險(xiǎn)。此外,還可以讓請(qǐng)求包含一個(gè)微服務(wù)能夠通過(guò)后端數(shù)據(jù)庫(kù)與狀態(tài)關(guān)聯(lián)的用戶(hù)ID。當(dāng)提出我們的第一個(gè)數(shù)時(shí),微服務(wù)將在數(shù)據(jù)庫(kù)中記錄下這個(gè)數(shù)。然后,當(dāng)提出第二個(gè)數(shù)時(shí),微服務(wù)就能夠?qū)蓚€(gè)數(shù)相加并返回結(jié)果。

對(duì)于多功能性、敏捷性和靈活性總是有一個(gè)物有所值的價(jià)格的,而在混合云和多云中使用微服務(wù)則代表著我們研究領(lǐng)先優(yōu)勢(shì)的這三項(xiàng)特點(diǎn)。仔細(xì)規(guī)劃、盡量降低價(jià)格并部署可輕松擴(kuò)展至復(fù)雜云未來(lái)的微服務(wù)。

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

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