云服務(wù)應(yīng)用: 架構(gòu)師還不知道的秘密

責任編輯:editor004

2014-08-25 11:41:13

摘自:中關(guān)村在線

自從云計算問世以來,它的主要重點一直就是把應(yīng)用程序遷往云計算。大多數(shù)的架構(gòu)師會發(fā)現(xiàn),當他們在構(gòu)思用戶支持或數(shù)據(jù)采集以及物聯(lián)網(wǎng)時,應(yīng)用云計算模式是比較容易的。架構(gòu)師要完成的最后一步工作就是要讓云計算供應(yīng)商的網(wǎng)絡(luò)服務(wù)(包括現(xiàn)有和將來的)適應(yīng)之前提及的三個分配區(qū)

自從云計算問世以來,它的主要重點一直就是把應(yīng)用程序遷往云計算。在這個目標中所隱含的意思就是,在云計算和數(shù)據(jù)中心之間其實并不存在著什么功能性方面的差異;要說有差異,那也只是成本上的差異?,F(xiàn)在,我們知道事實并非如此;對于供應(yīng)商來說,云計算收入的最大來源來自于專為技術(shù)而開發(fā)的基于云計算的應(yīng)用程序,因此架構(gòu)師需要真正認識到這到底意味著什么。認識應(yīng)當從評估云計算業(yè)務(wù)趨勢對云計算服務(wù)模式的影響開始,并以可視化的方式顯示云計算功能將如何支持新的應(yīng)用程序。接下來的步驟就是學習如何針對云計算的特點進行應(yīng)用程序開發(fā),以及將應(yīng)用程序的設(shè)計與不斷發(fā)展的云計算功能相結(jié)合。

對于軟件架構(gòu)師來說,關(guān)于云計算業(yè)務(wù)趨勢一個最重要的事實就是,基礎(chǔ)設(shè)施即服務(wù)(IaaS)并不足以推動云計算充分發(fā)揮其潛力。只是簡單地把目前未使用的服務(wù)功能托管至云計算并不能夠為用戶創(chuàng)造足夠的價值,同時也不能夠為供應(yīng)商帶來足夠的利潤。亞馬遜公司是世界云計算服務(wù)的領(lǐng)導(dǎo)者,它已經(jīng)超越了IaaS,增加了提供特殊功能的網(wǎng)絡(luò)服務(wù),如緩存、HTML加速、身份管理以及數(shù)據(jù)流量管理等等。這些功能就是亞馬遜公司認為能夠最好綜合買方價值和賣家利潤兩方面的組合體,因此架構(gòu)師應(yīng)當以類似的方式來思考他們自己的應(yīng)用程序。

當在評估哪些功能更適用于基于云計算的應(yīng)用程序時,架構(gòu)師需要做的第一步工作應(yīng)當是對主要的云計算供應(yīng)商進行調(diào)研以便于找出他們能夠提供些什么。尤其是,他們應(yīng)當了解云計算服務(wù)與產(chǎn)品的發(fā)展趨勢。首先,亞馬遜將會致力于抓住云計算服務(wù)發(fā)展的大機遇,而亞馬遜的眾多競爭對手們則會通過找到有價值的新利基市場而避開這位云計算市場巨人的強勢。當這些企業(yè)找到正確的發(fā)展方向時,他們就可以組織開發(fā)能夠充分迎合其功能發(fā)展趨勢的云計算應(yīng)用程序。

云計算服務(wù)工具應(yīng)當能夠促進供應(yīng)商的發(fā)展和云計算應(yīng)用程序的開發(fā),從而推動云計算服務(wù)的發(fā)展,而無需專門的云計算服務(wù)。云計算的全部內(nèi)容就是分配,分配用戶、分配資源、分配數(shù)據(jù)以及分配處理等。其宗旨就是,更高效地分配最有用的云計算應(yīng)用程序和服務(wù)。

分配支持分解成三個部分:對充滿變數(shù)和多樣化用戶群的支持,從各種分散的資源收集信息,以及遍及各處(從低負載運行到幾乎需要全部超級計算機資源才能完成的高負載任務(wù))的應(yīng)用程序處理。云計算可以提供所有這些,而且大部分現(xiàn)有和新興的云計算網(wǎng)絡(luò)服務(wù)產(chǎn)品都可歸入這三種類別中的一個。

所有這些分配模式中的共同點就在于工作流所承擔的關(guān)鍵角色。如今的架構(gòu)師們都傾向于開發(fā)敏捷性和功能性的應(yīng)用程序?;谠朴嬎愕膽?yīng)用程序的開發(fā)均應(yīng)圍繞工作流開展,而每個分配區(qū)域都有著各自的工作流管理問題和機遇。

對于用戶分配,云計算架構(gòu)師應(yīng)當對個人用戶尋求類似于網(wǎng)絡(luò)的支持,而工作請求則應(yīng)匯集到一個共同的事務(wù)處理或處理流程。我們可以把整個應(yīng)用程序前端視為一個彈性元素的集合體(即一些網(wǎng)絡(luò)服務(wù)器和一些應(yīng)用程序服務(wù)器),我們可以在需要的任意時間任意地點以任意的數(shù)量進行部署。這一模式可為任何應(yīng)用程序所遵循,而在這一模式下支持這些應(yīng)用程序的功能就是云計算架構(gòu)師所需要達到的首要目標。

云計算數(shù)據(jù)收集往往是與用戶支持聯(lián)系在一起的,這是因為一般情況下用戶不僅是信息的來源而且也是成果交付的目標。說這句話對,是因為相同的模式對于應(yīng)用程序是可以奏效的。說這句話不對,則是因為物聯(lián)網(wǎng)(IoT)模式的存在。云計算物聯(lián)網(wǎng)是指從分布源收集信息并將其聚集成兩部分:一個是為實時過程或業(yè)務(wù)控制應(yīng)用而設(shè)計的,而另一個則是為驅(qū)動分析和知識應(yīng)用程序的收集形式(大數(shù)據(jù))應(yīng)用而設(shè)計的。當你在開發(fā)云計算數(shù)據(jù)收集應(yīng)用程序時,應(yīng)當將物聯(lián)網(wǎng)的原理和特性謹記在心。

大多數(shù)的架構(gòu)師會發(fā)現(xiàn),當他們在構(gòu)思用戶支持或數(shù)據(jù)采集以及物聯(lián)網(wǎng)時,應(yīng)用云計算模式是比較容易的。而分配過程則是比較困難的,這是因為在一個應(yīng)用程序的固定函數(shù)模式下過程彈性是對可變工作負載的響應(yīng)。而這恰恰正是架構(gòu)師需要完成的工作內(nèi)容。

在讓應(yīng)用程序過程變得可分配的工作中,其關(guān)鍵步驟就是正確地設(shè)計其組件。一般來說,管理生成數(shù)據(jù)庫升級的組件擴展是比較困難的;數(shù)據(jù)庫的升級和保護技術(shù)是一個難以得到緩解的瓶頸問題。這就意味著,你應(yīng)當為你的計算密集型或以只讀模式訪問數(shù)據(jù)表的云計算應(yīng)用程序?qū)ふ夜δ軈^(qū)。找到這些功能區(qū),并讓這每一個功能區(qū)成為能夠隨工作增長或合同而水平擴展的組件。

架構(gòu)師要完成的最后一步工作就是要讓云計算供應(yīng)商的網(wǎng)絡(luò)服務(wù)(包括現(xiàn)有和將來的)適應(yīng)之前提及的三個分配區(qū)。例如,內(nèi)容緩存和HTML加速是服務(wù)不同應(yīng)用程序用戶群體的有用技術(shù),而流量管理也是物聯(lián)網(wǎng)或分布式數(shù)據(jù)采集中的關(guān)鍵因素。在每個區(qū)的架構(gòu)限制下,通過把這些云計算工具映射至工作流中的合適位置就可讓這些工具適應(yīng)。架構(gòu)師應(yīng)當始終把外部工具和API納入公司的邏輯設(shè)計范圍內(nèi),這樣如果網(wǎng)絡(luò)服務(wù)發(fā)生變化或者如果他們找到了另一家具有更好服務(wù)功能的云計算供應(yīng)商,那么他們就能夠輕松地修改代碼。

由于與組件集成相關(guān)的網(wǎng)絡(luò)開銷方面的原因,云計算工作流非常容易就會變得低效起來。在完成邏輯設(shè)計之前,開發(fā)出測試應(yīng)用程序以測試工作流是一種非常明智的做法,這樣一來架構(gòu)師就能夠讓應(yīng)用程序適應(yīng)他們云計算供應(yīng)商的性能特性。這樣就能防止他們的先進應(yīng)用程序發(fā)生故障。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號