云API和軟件架構:云應用成功的關鍵
以下內容摘自Shlomo Swidler關于TechTarget BAA集團Java大學介紹的一部分。該系列報道涵蓋了Java開發問題、以及近年來已逐漸影響Java發展的重要技術。
如今,當涉及云應用和集成時,開發團隊往往會面對一個未知的領域。隨著越來越多的服務能夠在云計算平臺上運行,云計算的相關開發也變得越來越重要。云計算咨詢公司Orchestratus的創始人Shlomo Swidler表示,云計算是開發人員能夠為客戶提供更好的可靠性和附加值的必由之路。為了實現云計算中應用程序的成功開發,Swidler強調了如下幾點:使用高效的云API,在合適的位置擁有一個以服務為導向的堅固組件架構,以及做出正確的部署與管理選擇。
在過去,交付模式是現實可見的;公司可以把硬件郵寄給客戶或通過其他形式交付。但是現在,大多數成功的公司為客戶提供了快速、簡便的在線訪問方法。如果客戶無法獲取,那么服務就是失敗的。
通過減少開發人員用于編寫某種類型代碼的時間,云計算可以幫助加速交付過程,Swidler說。它還能減少時間浪費。“不再需要從制造商處等待硬件的時間,“他解釋道。”使用云計算,你能夠即時訪問硬件。”
“這可能聽上去似乎有違常理,如果供應商能夠擁有越多的控制,那么你在云計算中的交付的可靠性就有可能越高,但事實上確實如此,”Swidler繼續道。“每當一個供應商為你提供一個服務,其基于云計算的事實就意味著你能夠通過API控制該服務。”
云API、架構以及部署
事實上,高效的云API是成功云應用和集成設計的關鍵。它們可使開發人員能夠重新配置應用程序和集成組件,而不必修改或編寫新的代碼。“請確保,這一切——我的意思是一切——都有一個API,”Swidler建議道。
“服務需要雙方通過API實現相互交流,以便于在你需要的時候你可以靈活地重新配置它們。”這就意味著更快、更簡便的故障恢復。
Swidler建議,應當把每一個服務分解成為一系列更小、更易于管理的組件。一旦在云計算中,這些服務就可獨立運行、縮放規模和恢復。“停機時間的影響已被完全消除,”他說。“這也使得單個小組件的優化相對于全部大型組件的一次性優化變得更為簡便。”
當從傳統硬件遷移至云計算時,開發人員必須在IaaS、PaaS或客戶硬件中做出選擇。正確選擇是成功云應用的關鍵。在做出這一部署選擇中,開發人員應當考慮應用程序的復雜性以及所需控制的數量,Swidler說。“現在,你能夠在PaaS上部署相對簡單的應用程序,在IaaS上部署更為復雜的應用程序,”他補充道。
無論采用何種部署方法,所有的云計算計劃都需要一個堅實的管理策略。當遷移至云計算時,能夠跟蹤、監控和可視化顯示應用程序相關的方面都是非常重要的。“尋找合適的管理框架,將有助于你抽取低級別管理因素,并納入更高層次的架構中,如管理一個單一堆棧或作為一個單元存在的服務,”Swidler建議道。