上午7點,你早早地趕到辦公室,希望在沒有他人訪問公司公有云的時候,庫存應用程序能做好更改的準備。然而,即使早上這段時間只有少量的用戶在線,應用的性能仍然乏善可陳。
你會條件反射地認為,這一定是供應商的責任。確實,供應商是應用程序和數據的宿主,因此它必須承擔所有的性能問題,是嗎?不。
筆者在訪談調查中發現,性能問題的誘因,十之八九是來自于應用程序設計和支持技術的選擇,而不是云基礎設施的問題。這很容易理解,你在云中所使用的資源是可以根據需求隨時擴展的。
我們可以這樣理解:
把糟糕的應用程序轉移到云上,也只是變成了一個糟糕的云應用程序而已。
目前的情況是,很多企業把應用程序推向公有云之前,并不會關注應用程序設計,或者使用數據庫、中間件或其他使能技術。編譯,連接到數據庫,數據開始流動,他們就會覺得很好,自己已經成功完成云轉型了。
事實是,這不但會導致性能不好,甚至可能還會增加云成本50%或60%。因為公有云會耗費很多資源去處理一個設計不當的應用程序。常見的問題是低效的I/O,閑談式應用程序,和數據庫的非優化查詢——而這些問題只是幾十個會出現的錯誤中的一部分。
解決問題的辦法是在IT企業中大多數人都不想聽到的:應用程序需要重構。包括對設計進行調整,并使應用程序的某些部分利用云本地特性,如原生I/O、數據庫緩存和一系列的其他技巧,以使應用程序在云或其他任何平臺中運行良好。
這種事誰都不會喜歡,但我們必須確保在遷移到云時,會花時間重新設計糟糕的應用程序,否則的話,無論你多早趕到辦公室,都不夠早。