開發云就緒應用:到底有何不同?
雖然在某種程度上來說近乎所有的應用都是可以實現云托管的,但是還是有一些具體的設計和開發步驟可以實現云部署的***化,從而切實推進云計算的發展。如果廠商云廠商們希望實現云計算利益的***化,那么他們就需要理解云就緒應用的概念,為了云就緒的未來而構建他們的云計算基礎設施,并提供便利的服務。
云就緒意味著要解決因云計算之間的差異而帶來的問題。從幾個重要的方面來說,在虛擬資源上運行的云計算托管應用或應用組件以及這些資源都不同于典型的設備虛擬化數據中心。首先,這些資源是動態分配的,而在大多數的虛擬化數據中心里,分配給應用的虛擬機則基本上都是靜態的。其次,它們是分布在一個廣域網(WAN)中的,而大多數應用都希望資源能夠實現本地連接。再次,它們部分或全部游離于客戶的控制范圍,這就意味著資源分布和管理是遵循著公共云計算托管廠商所制定的規則,而不是應用用戶的規則。
為了適應動態資源分配,云就緒應用必須使用一個正式的DevOps工具用于部署和重新部署工作。在開發應用過程中,應用的架構設計和開發團隊必須創建必要的腳本程序或描述符,以定義應用如何映射至它所需的服務器、存儲設備以及網絡資源。然后操作人員就可以使用這些腳本程序或描述符,把這些應用部署和集成至企業的工作流中。
云廠商們可以用兩種方式方便地實現DevOps就緒。其一,他們可以通過流行的DevOps包向他們的云管理系統提供管理連接,以便于幫助用戶和開發人員部署云就緒應用。其二,他們可以提供“DevOps即服務”,也就是說他們可以把DevOps工具作為他們云管理平臺的一部分進行托管。如果廠商能夠組合托管DevOps和應用集成工具(后者能夠實現公共云計算資源和企業托管應用及組件的連接),那么其結果就是現在所謂的集成平臺即服務產品了。這不僅為廠商提供了一個新的收入來源,而且還幫助用戶開發了云就緒應用,并鼓勵開發人員從云部署出發思考如何開發應用。
開發云就緒應用:到底有何不同?
云計算中分布式網絡所面臨的新挑戰
一個分布式網絡架構是云計算的另一個獨特屬性,在云就緒中有兩層含義。在***層,應用所需的網絡連接性是其DevOps描述的一個方面。大多數應用都可以作為虛擬LAN而實現虛擬化,并托管一個或多個組件,這些組件可通過默認網關(通常是路由器)與用戶相連。創建這一配置是滿足部署和重新部署需求的一部分,因此必須在上述的DevOps過程中予以考慮。但是在第二層,分布式服務將影響應用的設計,尤其是在組件化和編排方面。
在分布式網絡中,云就緒的重要規則就是避免組件或資源之間的分離,這些組件或資源能夠在WAN上形成重要的工作流運動。逐條讀寫數據庫記錄是無法在WAN上運行工作流的一個例子,因此云計算中的數據庫應當與無論何處都可訪問數據庫的組件集成在一起。這是一個應用設計的元素。創建云就緒數據訪問設計的最常用策略是定義一個數據庫管理系統“組件”,這個組件可接受查詢(例如以SQL形式),并針對本地數據庫進行處理而只返回一個結果。Hadoop和MapReduce的架構定義也允許對查詢處理的云計算進行托管,但不能訪問單個數據庫記錄。
通過提供專為識別低效工作流而設計的云計算應用遙測技術,云計算運營商們可以幫助用戶處理與分布式網絡相關的問題。他們也可能會提供結構化面向查詢的服務,如以軟件即服務形式交付的關系型數據庫管理系統,或者他們能夠提供Hadoop和特定管理工具,幫助把這些服務和云計算應用集成。監控云計算內的流量是找出工作流中問題的最簡單方法,但有時知道客戶是如何把數據庫服務與他們的云應用連接及其結構細節信息,將有助于解決與分布式網絡相關的潛在問題。在測試階段就找出這個問題,將有助于客戶堅持在業務中使用云計算。
云就緒應用要求更多的可見性
在云就緒中,最復雜的問題也許就是資源并不在應用所有者的直接控制下。傳統的軟硬件管理不是被廠商云廠商所篡改就是被他們閹割,廠商的管理接口只能支持某些管理功能。這個問題可以一分為二地看:管理可見性和應用的體驗質量控制(QoE)。
廠商并不希望客戶有計劃在他們的云上安裝硬件,所以收集應用和網絡性能的管理數據,云計算將不得不并行托管軟件元素和應用以便于收集數據并發送至應用用戶處,或者廠商云廠商將不得不開放管理接口而允許用戶查看性能和狀態信息。
大多數廠商廠商都提供基本的管理數據,但并沒有提供捕獲所有通常管理應用QoE所需數據的機制。這意味著客戶不僅將必須試圖以對廠商透明的方式收集數據,而且他們必須以某種未知的方法將其與其他網絡和應用性能數據整合以管理應用性能和可用性。在選擇產品時,不僅要考慮用戶使用云計算資源的性能信息,而且要考慮連接至網絡的云計算端的網絡數據。
云就緒要求應用在云計算中是有意識的。廠商應當認識到,云服務的長期發展趨勢將是平臺即服務,而在開發階段更多的云計算托管服務元素將更多地與應用集成。這進一步推進客戶業務使用云計算,而他們的預算助推云計算項目和云計算運營商的整體利潤。