當(dāng)最終用戶對(duì)關(guān)鍵業(yè)務(wù)應(yīng)用程序使用的是內(nèi)部部署模式時(shí),他們錯(cuò)失了云好處。關(guān)鍵業(yè)務(wù)應(yīng)用程序的混合云計(jì)算化會(huì)讓用戶得到云計(jì)算的好處。
在垂直意義上來(lái)說(shuō),員工的生產(chǎn)率與關(guān)鍵業(yè)務(wù)應(yīng)用程序相關(guān)。在垂直堆棧上,最終用戶訪問(wèn)一個(gè)賬戶、減輕庫(kù)存以及運(yùn)行報(bào)告這些任務(wù)都是通過(guò)一系列功能來(lái)完成任務(wù)請(qǐng)求的,而這些功能幾乎總是會(huì)在數(shù)據(jù)庫(kù)中結(jié)束。但是,移動(dòng)大型企業(yè)數(shù)據(jù)至云,尤其是數(shù)據(jù)庫(kù)中還有著大量的敏感數(shù)據(jù)時(shí),這將是一項(xiàng)困難的任務(wù),這就使得企業(yè)往往不愿意把關(guān)鍵業(yè)務(wù)應(yīng)用程序遷出他們的數(shù)據(jù)中心。為了獲得云的好處,企業(yè)IT人員需要有所創(chuàng)新。
事務(wù)性應(yīng)用程序遵循著一個(gè)相當(dāng)可預(yù)見(jiàn)的格式:用戶請(qǐng)求提供信息、執(zhí)行一次更新,然后查看結(jié)果。這樣就把應(yīng)用程序分為了三個(gè)邏輯部分,即:圖形用戶界面、應(yīng)用程序處理以及數(shù)據(jù)庫(kù)服務(wù)。
管理人員可以移動(dòng)GUI甚至一些應(yīng)用程序處理到云計(jì)算,其成本和性能都要優(yōu)于內(nèi)部部署用程序?,F(xiàn)在有一個(gè)新的應(yīng)用程序云計(jì)算化方法,它可以把應(yīng)用程序分為云友好和基于數(shù)據(jù)中心兩類,這是一個(gè)實(shí)現(xiàn)關(guān)鍵業(yè)務(wù)應(yīng)用程序“混合云計(jì)算化”的高效方法。其關(guān)鍵就是要正確地實(shí)施它。
應(yīng)用垂直植入
把關(guān)鍵業(yè)務(wù)應(yīng)用程序?qū)崿F(xiàn)混合云化成為純垂直分量的第一步就是實(shí)現(xiàn)GUI網(wǎng)絡(luò)服務(wù)的云托管。大多數(shù)的現(xiàn)代應(yīng)用程序都設(shè)計(jì)了一個(gè)網(wǎng)絡(luò)前端處理,它使用了一個(gè)瀏覽器或者一系列的RESTful API來(lái)向用戶呈現(xiàn)信息并獲得更新。這樣一個(gè)模式更易于適應(yīng)移動(dòng)設(shè)備中的變化或者對(duì)語(yǔ)言的變化。
如果一個(gè)應(yīng)用程序不具有網(wǎng)絡(luò)前端,那么它仍然易于通過(guò)應(yīng)用程序跟隨信息流并確定其中符合信息處理格式的點(diǎn)。這是一個(gè)合乎邏輯的GUI/應(yīng)用服務(wù)邊界。其目的就是在邊界點(diǎn)上識(shí)別特定軟件組件,并使用它的界面和API來(lái)連接網(wǎng)絡(luò)前端。
下一步就是在GUI/應(yīng)用邊界上檢查軟件組件。最好的云應(yīng)用設(shè)計(jì)應(yīng)當(dāng)充分利用云計(jì)算的能力,以便于根據(jù)流量變化復(fù)制組件,并使用新的副本更換發(fā)生故障的組件。我們可以把這個(gè)前端部分視為云托管網(wǎng)絡(luò)服務(wù)器的可變資源池,而這個(gè)服務(wù)器可以把交易發(fā)送給應(yīng)用程序的入口組件或軟件組件。但是,這個(gè)組件必須是準(zhǔn)備就緒的。
確保應(yīng)用程序入口能夠處理網(wǎng)絡(luò)服務(wù)器可變數(shù)量是非常重要的,因?yàn)檫@些網(wǎng)絡(luò)服務(wù)器將為GUI提供可接受的性能,或者你可以根據(jù)工作負(fù)載改變應(yīng)用程序的入口與出口流量。你需要在用戶和網(wǎng)絡(luò)服務(wù)器GUI之間做好工作負(fù)載平衡,以便于為托管一個(gè)特定用戶而選擇一臺(tái)服務(wù)器。如有需要,這也可以發(fā)生在應(yīng)用程序前以便于部署組件的多個(gè)副本。
對(duì)于這個(gè)網(wǎng)絡(luò)服務(wù)器應(yīng)用程序入口邊界的另一個(gè)考慮因素就是交易狀態(tài)和完整性了。有狀態(tài)的應(yīng)用程序組件希望能夠與用戶進(jìn)行一個(gè)多步驟的對(duì)話,即讀操作、更新和寫(xiě)操作。使用有狀態(tài)防火墻邏輯可確保最終用戶的交易從讀操作到寫(xiě)操作都是由入口組件的相同副本處理的。
無(wú)狀態(tài)應(yīng)用程序把讀操作、更新以及寫(xiě)操作當(dāng)作單獨(dú)的交易進(jìn)行處理。在這種情況下,我們可能適應(yīng)簡(jiǎn)單的負(fù)載平衡技術(shù)。這兩種情況在交易退出和完整性處理方面還是有著差異性的,因此在進(jìn)行規(guī)劃制定時(shí)應(yīng)了解應(yīng)用程序的結(jié)構(gòu)。
選擇混合云應(yīng)用
在一些情況下,在云中托管應(yīng)用程序的前端處理需要證明混合云計(jì)算。如果一家企業(yè)需要看到更多的好處,那么下一步就是要把應(yīng)用程序邏輯組件遷入云計(jì)算,這需要從應(yīng)用程序入口組件開(kāi)始。我們可以把每一個(gè)應(yīng)用程序組件都認(rèn)為是“黑匣子”,這樣的黑匣子容納了交易工作流程的一部分。一般情況下,你不會(huì)希望頻繁地在內(nèi)部設(shè)施和云之間轉(zhuǎn)移數(shù)據(jù),因此我們就需要把一些組件從工作流的入口端移至云計(jì)算。為了確定在何處停止,可觀察每一個(gè)組件的工作情況,尤其是那些數(shù)據(jù)庫(kù)服務(wù)。
如果一個(gè)應(yīng)用程序組件處理信息,那么它是通過(guò)另一個(gè)組件進(jìn)行傳輸?shù)?,而不適執(zhí)行數(shù)據(jù)庫(kù)查詢命令本身。因此,把它遷移至云是相當(dāng)簡(jiǎn)單的。
對(duì)于GUI或網(wǎng)絡(luò)服務(wù)器前端來(lái)說(shuō),這個(gè)過(guò)程是相同的。任何具有較少或者沒(méi)有數(shù)據(jù)庫(kù)訪問(wèn)操作的組件更適于遷移至云計(jì)算。當(dāng)應(yīng)用程序有頻繁的數(shù)據(jù)庫(kù)訪問(wèn)操作時(shí),混合就從GUI導(dǎo)向的模式變更為服務(wù)器查詢模式。
為混合云部署調(diào)試應(yīng)用程序的服務(wù)器查詢模式將降低把關(guān)鍵業(yè)務(wù)數(shù)據(jù)庫(kù)遷至云的需要,因?yàn)樵L問(wèn)它們的組件已經(jīng)被移至云計(jì)算。如果一個(gè)云組件讀取數(shù)據(jù)庫(kù)來(lái)執(zhí)行一次對(duì)記錄進(jìn)行定位的查詢,那么將會(huì)發(fā)生大量的云數(shù)據(jù)庫(kù)訪問(wèn)流量。此舉將影響價(jià)格和性能。
把數(shù)據(jù)庫(kù)托管至云將增加安全性風(fēng)險(xiǎn)。服務(wù)器查詢模式可以允許云組件發(fā)送數(shù)據(jù)庫(kù)請(qǐng)求至數(shù)據(jù)中心的數(shù)據(jù)庫(kù)服務(wù)器——只有當(dāng)需要特定數(shù)據(jù)是它才會(huì)返回?cái)?shù)據(jù)。這樣做能夠降低流量、延時(shí)和成本。
很多的云規(guī)劃者把混合云視為關(guān)鍵業(yè)務(wù)應(yīng)用程序應(yīng)對(duì)故障轉(zhuǎn)移或云流量爆發(fā)的良方。應(yīng)用程序的垂直視圖為云應(yīng)用程序開(kāi)辟了新的可能性,它能夠提高故障轉(zhuǎn)移和云應(yīng)用爆發(fā)應(yīng)用程序的價(jià)格和性能。最終,這將增加云的影響力和接受速度。