Red Hat發表2024年應用程式現代化現況報告,發現為了提升安全性、可靠性和可擴展性,企業採取各種方法來實現應用程式現代化。與兩年前相比,企業目前更專注於更新傳統應用程式和基礎架構,而非開發新的雲端應用程式。
為了提升安全性、可靠性和可擴展性,企業採取各種方法來實現應用程式現代化。與兩年前相比,Red Hat發現企業目前更專注於更新傳統應用程式和基礎架構,而非開發新的雲端應用程式。
企業為何進行現代化
安全性、可靠性和可擴展性等常見因素是應用程式現代化的主要驅動力。在眾多調查中,當我們提出數位轉型預期效益等相關問題時,這些驅動因素或其變體常被受訪者提及。幾乎所有受訪者都表示,這三個驅動因素是其企業決定執行應用程式現代化的關鍵,逾70%受訪者也根據這三個領域的成果來評估成功與否。
若從每項驅動因素個別來看,多數受訪者(58%)表示已看到安全性方面的益處,同時也表示在可靠性(52%)和可擴展性(53%)面向看到成效(圖1)。在許多應用程式現代化專案仍在進行中的情況下,上述應被視為應用程式現代化價值的正面消息。若觀察受訪者是否至少在其中一項類別看到成效,成果則更加亮眼;高達98%受訪者表示至少在一個關鍵領域中取得了效益。
應用程式現代化沒有一個明確的定義
今年有68%受訪者將改善CI/CD(持續整合∕持續交付)管道視為應用程式現代化的首要定義(圖2),幾個重要原因如下:
首先,上述比例明顯高於2021年的調查,當時容器化工作負載位居榜首,而改善CI/CD則敬陪末座,不同調查之間出現如此大幅度的變化實屬罕見。這項結果,以及其他幾項針對傳統IT基本要素的回答,暗示企業逐漸降低對某些新興技術的關注。
其次,這提醒了我們,並非所有人都位於技術前沿。所有企業都持續地調整CI/CD管道,以納入安全性掃描等額外功能。然而,已於軟體開發採用現代化最佳實踐的企業,可合理推測它們整體而言,已具備穩固的CI/CD流程。不過,上述數據顯示,此假設並不適用於所有企業。長久以來,在其他實踐中也觀察到類似的趨勢,某些實踐已成為進階從業人員的基本功,而其他企業則還在初期嘗試的階段。
另一個應用程式現代化的常見定義是資料現代化,通常被描述為更新和改進企業的資料基礎架構、工具和實踐,以滿足不斷變化的資料驅動型業務營運和分析需求。若從這個角度思考,能夠合理推測,為人工智慧∕機器學習(AI/ML)做好準備是應用程式現代化的重要邏輯依據。在更新應用程式及其元件的資料交換模式時(例如邊緣應用的分散式資料),資料現代化也起了關鍵作用(在進行的其他調查中發現,整合問題是數位轉型專案持續面臨的挑戰)。 針對應用程式現代化,最常見定義還包括自動化工作負載和無伺服器運算(圖3)。
企業如何現代化
雖然有各式各樣的現代化策略,但通常以多個步驟進行。
向受訪者提問:「您的企業在未來兩年預計以何種方法,將自訂生產環境應用程式現代化?」並根據6R架構提出六個選項;6R架構的模型源於市場研究機構Gartner在2010年創建的5R架構,當時有許多企業努力尋找將傳統應用程式遷移至雲端的最佳方法(有時也會看到如同7R這樣的變體)。不同來源的命名方法可能稍有不同,但整體架構是被廣泛使用的。
這六種策略選項如下:
1. 淘汰:停用或解除安裝不再需要的應用程式。
2. 保留:維持關鍵應用程式的原始狀態,直到需要重構為止。
3. 重新託管:在不變更架構的情況下,將應用程式「平移」至雲端(無論是託管形式或者在地端)。
4. 重塑:在不改變核心應用程式的程式碼或架構下,將應用程式移轉到新平台的同時進行最佳化,使其具備雲端應用程式的支援能力(有時稱為「調整、提升、移轉」)。 5. 重構:重新架構為雲端原生,例如透過將工作負載容器化或將工作負載移至無伺服器架構。
6. 重新採購:從永久授權移至軟體即服務(SaaS)模式。
從本次調查及之前所做的其他調查中,得出的第一個結論是,沒有一種絕對的主要方法。調查顯示,重塑是最為常見的做法,占20%,其他選項則介於10%到19%之間。自訂應用程式的現代化策略相當多元,且取決於欲進行現代化的應用程式、企業的複雜度,甚至受訪者的職位等。
另一個可確信的結論是,應用程式現代化不是一次性的專案,而是明確的漸進式過程,最終能導向重新設計架構的應用程式。只有15%的受訪者計畫直接進行重構,但這並不表示他們未來就不會考慮重構(圖4)。事實上,有47%受訪者計畫先重塑再重構。另有38%受訪者計畫先重新託管,接著重塑,最終再重構(在將應用程式現代化視為持續性流程的企業中,最後一項的比例高達52%)。
應用程式現代化聚焦於哪些面向
大致而言,可以把應用程式現代化可分為兩大類:
1. 將既有(傳統)的基礎架構∕應用程式現代化。
2. 交付或建置新的基礎架構、雲端服務,以及現代或雲端原生應用程式,或者其他現代IT服務。
我們發現,59%的現代化預算用於上述的第一類,41%用於第二類,且各地區的結果相去不遠。
相較於兩年前的調查,現代化預算的分配已明顯從在雲端建置新的應用程式和基礎架構,轉向更新傳統應用程式和基礎架構(圖5)。兩次調查的數據呈現相反狀況,顯示企業似乎重新聚焦於IT基本要素。
深入探討優先現代化的應用程式類型,更能強化此觀點(圖6)。
核心後端應用程式以41%位居首位,其次是資料/分析/商業智慧應用程式(35%);此結果再次突顯了資料對於AI和相關技術的重要性。不同地區的結果有所不同,亞太地區的受訪者則傾向於優先將資料相關應用程式現代化,其次是將後端應用程式現代化。在所有地區中,針對客戶的應用程式之優先順序相對較低,僅占整體的14%。
這些數據與大約十年前流行的雙模(或快/慢)IT概念形成有趣對比;此概念源自於一種思維--認為傳統後端應用程式會被擱置一旁,並僅進行最小的變更(以6R術語而言,即為「保留」),而所有令人興奮的行動都將集中在面向客戶的新應用程式和服務上。
本次調查結果顯示,事實上,企業優先考慮的是執行其企業應用程式和為其業務決策提供資訊的資料。然而,新的應用程式和服務(包括面向客戶的應用程式)也必然會被交付。
企業如何因應現代化挑戰
複雜性是企業面臨的最大挑戰,48%的受訪者認為這是個特別的挑戰。此比例在應用程式現代化的早期階段更高(達58%),而在早期階段,確定正確的方法也是重要事項(55%)。即使過了此階段,該項目的排名仍有41%之高。
然而,企業正在採取措施,以因應企業和個人層面所面臨的挑戰(圖7)。一位美國的IT決策者建議,「為現代化流程設定明確目標,成立專門的現代化團隊,並對現有的應用程式組合進行全面評估。」我們調查的定量結果也突顯了事前規劃和系統性方法的重要性--面對現代化挑戰,受訪者表示他們的企業採取之主要措施包括研究/採用額外工具、API驅動的開發、建立商業案例,以及實踐DevOps等(圖8)。
AI在應用程式現代化中扮演著新興的重要角色
由於AI在IT和其他許多領域都扮演著新興的重要角色,因此如果AI沒有以某種方式融入應用程式現代化,恐怕會令人感到意外。超過75%的受訪企業正在使用AI來支援應用程式現代化流程。最常見的做法是使用AI來促進現代化(53%),但也有相當多企業(42%)正在將AI加至現有的傳統應用程式中,以進行現代化(圖9)。
效能優化是最常見的應用情境。隨著分散式系統的複雜度日益提高,人類已無法有效地手動調整效能,因此AIOps應運而生。然而,廣泛的人工作業任務自動化以及測試/QA也是AI的重要角色。另一方面,儘管大型語言模型(LLM)在許多開發者的圈子裡引起不少熱議(有時是爭議),直接協助撰寫程式碼似乎仍處於相對初期階段,其引用率低於其他用途。
整體而言,大多數企業已使用AI來支援應用程式現代化,且各地區的使用情況相當一致。
這對企業有何意義
針對上述之於企業的意義,我們的受訪者提供了一些合理建議,包括如何啟動專案,以及保持專案的正常運作(圖10)。針對如何啟動應用程式現代化專案,一位來自亞太地區的IT決策者強調「在開始現代化之旅前,設定切合實際且明確的目標,將有助於更有效地控制升級流程。」受訪的決策者、架構師和開發者都提出幾個常見的題目,包含前期的規劃、循序漸進的方法,以及擁有具備足夠技能的團隊。
訪問的決策者們也針對現代化專案啟動後的部分,提出了建議。其中一位來自英國的決策者建議「為了更成功地進行應用程式和系統現代化,企業應投資監控和可視化解決方案,這些系統提供了與應用程式目前狀態和效能有關的更多資訊」。另一位來自美國的決策者則強調「透過最佳實踐和管理,培訓員工使用和維護新的應用程式」(圖11)。
整體而言,我們看到一些明確的共同主題--有具體的目標、進行規劃、支援合適的團隊,以及持續監控(包括漏洞掃描)。有趣的是,和其他調查結果不同,雇用特定領域專家和提供額外培訓並非此調查的優先事項。其中一個原因是,受訪者似乎更傾向於外包(例如代管服務),以及向社群和供應商諮詢最佳實踐。雖然提升技能仍然重要,但在可取得且合適的情況下,借重第三方專業知識和能力也同樣關鍵。
<本文作者:Gordon Haff現為Red Hat資深首席產品行銷經理>