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