
應用程式現代化
應用程式現代化
何謂應用程式現代化?
應用程式現代化是指利用現有的舊式應用程式,然後將其平台基礎架構、內部架構及/或功能特性現代化的過程。 現今有關應用程式現代化的許多討論都聚焦在單體式的內部部署應用程式上,通常使用瀑布開發流程來進行更新和維護,以及這些應用程式如何被帶進雲端架構和發行模式中,換言之即微服務 DevOps。
應用程式現代化的好處通常歸納如下:加快新功能的交付速度;透過 API 公開現有應用程式的功能以供其他服務使用;將應用程式從內部部署重建平台至雲端,以促進應用程式的規模與效能,以及長期的資料中心與 IT 策略。
應用程式現代化的挑戰通常會歸結到成本與複雜性。 將應用程式從內部部署移至雲端而不去思考 ROI,這只是為了移動應用程式而移動。 反之,其他應用程式可能可以從重建平台或重新架構獲得有意義的好處,然後卻與現有系統和基礎架構綁得太緊,結果使得現代化的複雜性超越了好處。
就像大部分的事情,應用程式現代化能否成功的關鍵最終在於策略和應用程式現代化專案的選擇,其中雲端、速度、效能、規模、新功能開發等等好處為指定應用程式提供明確的客戶體驗和 ROI 改善途徑。
為何要將舊式應用程式現代化?
舊式應用程式往往也是單體式應用程式。 單體式應用程式有兩個特點,致使它們有必要進行現代化: 它們不僅很難更新,擴充規模更是既困難又昂貴。
單體式應用程式是架構的關係很難更新。 應用程式的所有元件是一起交付的,在面臨既有的複雜性和整合挑戰之下,新增功能特性既困難又昂貴。
而擴充規模深具挑戰且成本高昂,也基於類似原因。 如果應用程式的某個元件面臨負載和效能挑戰,就必須為了需求最嚴苛的單一元件而擴增整個應用程式。 此方法會帶來相當程度的運算資源浪費。
將應用程式現代化成為接近微服務架構,元件會變得比較小,連結也變得比較鬆散,彼此可以單獨進行部署和擴充。 此方法雖然本身也有一些挑戰,但它卻是現代化的核心價值所在。
以下影片進一步說明微服務架構:
何謂微服務 (06:37)
利用應用程式評估來啟動應用程式現代化
在啟動任何的應用程式現代化專案時,最重要的方法是應用程式評估。 盤點一下您擁有的東西,這幾乎是啟動這類轉型時最顯見的方法之一。
一旦您有了清單,您就可以開始將這些應用程式放進由 x 軸和 y 軸構成的圖表中,前者代表輕鬆/困難程度,而後者代表進行現代化的潛在價值增益。 您還可以思考應用程式對於客戶體驗和組織未來發展有多重要的「潛在」價值。
落入此高價值和低努力網格其右上方象限的應用程式,它們是最明顯最沒有爭議的候選者,應該從這些應用程式開始進行現代化專案。
最棘手的決策將會落在難以移動的高價值應用程式。 對這些應用程式,也不需要在第一天去制定全有或全無的策略。 其實有一些應用現代化方法,在這些案例中,可以降低風險和成本,同時仍然可以將您的組合往正確的方向移動。
應用程式現代化模式
有一些知名的應用程式現代化方法,其中聚焦如何組合平台、應用程式架構,以及透過 API 來公開應用程式的功能。
從單體式到微服務
應用程式現代化的最常見模式涉及重構單體式應用程式並將其拆分成一組鬆散連結的小型微服務集合。
在上述的微服務架構範例中,零售應用程式從單一的 n 層級應用程式拆分成應用程式所有個別服務的微服務集合,而每個應用程式都有自己的資料庫和資料模型。
在這方面有一種方法叫做「扼殺模式」。不同於一次性拆分單體,扼殺模式採取逐步拆解應用程式,首先把最簡單也最有價值的部分拉出來,隨著這種方式的不斷進展,最後將不會有任何東西留在單體上。
雲端移轉
部分的微服務重構、平台重建或應用程式重新託管往往幾乎總是現代化流程的一部分。 雖然可以在不用做大量重寫的情況下及早簡化應用程式,但更常見的是,在重構應用程式時發現充分利用雲端模型,通常是採用容器和 Kubernetes 的價值。
如需深入探討雲端移轉,請參閱「雲端移轉:基本指南」並觀看以下影片:
何謂雲端移轉 (04:46)
透過 API 公開功能
最後,另一個現代化方法涉及將應用程式留在原地,但透過 API 安全地公開其功能或資料。 此方法偏重整合多於移轉,其可讓新的雲端原生應用程式輕鬆利用現有系統和資料的功能。
應用程式現代化的關鍵技術
有一種廣泛的技術組合可以促進大多數組織正在進行的現代化過程。
私有雲、混合多雲
雖然公有雲是任何現代化策略的重要部分,但基於安全、延遲和架構等理由,私有雲、混合雲及多雲策略也很重要。
因為一些原因,組織可能尚未準備好直接從資料中心移至公有雲,但其他雲端模型可以協助特定工作負載因為獨特性質而不得不留在其中的環境,解決相關的一切架構和原則複雜性。
容器和 Kubernetes
容器和 Kubernetes 不但在雲端上以全方位運算之姿成為 VM 的挑戰者,同時也成為混合雲和應用現代化策略的關鍵推手。
容器化可透過一致且輕量的方式封裝應用程式,讓它們可以跨桌上型電腦、雲端或內部部署環境一致執行。 這種靈活彈性對於在雲端中謀劃前進的組織來說是一種實實在在的好處。
容器化說明 (08:08)
應用程式現代化和 IBM Cloud
應用程式現代化只是推動組織前進的一部分,尤其是在商業和 IT 運作中自動化需求不斷增加時。 邁向更高度的自動化應該從可測量成功的小型專案開始,然後針對其他流程序和組織的其他部分進行擴充與最佳化。
您可以與 IBM 合作,藉此取得 IBM Cloud Pak for Automation 的 AI 型自動化功能,包括預先建置的工作流程,以藉由讓每個流程變得更有智慧來協助加速創新。
IBM Cloud 產品組合與服務專門設計用來協助組織將其商業流程和舊式應用程式帶進雲端中。
進行下一步:
- 使用 IBM 決策樹來決定哪些應用程式要優先現代化。
- 無論您需要策略、流程或功能協助,或想要全方位關注,請探索 IBM 如何協助您的應用程式現代化。
- 開始使用可以在任何雲端中執行的容器化中介軟體,全部套裝在 IBM Cloud Pak for Automation 中。
- 使用 IBM Cloud for VMware Solutions 將現有的 VMWare 工作負載輕鬆地移轉至公有雲。
- 憑藉 IBM 的應用程式現代化服務的協助,規劃及執行您的應用程式現代化策略,作為持續數位轉型的一部分。
- 取得 IBM Application Modernization Field Guide 以學習如何加速現代化、提升開發人員生產力,並加強作業效率和標準化。
- 查看 IBM WebSphere® Hybrid Edition 相關部落格文章,其中提供分階段進行的數位轉型方法。
- 閱讀此 HFS Research 報告中成功實現自動化的五個「不可或缺」(IBM 外部鏈結)。
立即開始使用 IBM Cloud 帳戶。