新聞中心
云應用需要轉變開發(fā)思維
2009-08-11 15:05:55
云計算 云計算提供的服務需要開發(fā)人員轉化一下自己的開發(fā)思維,因為云應用和以往不同,開發(fā)者可以從互聯(lián)網(wǎng)服務器集群上獲取應用和服務。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比南木林網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式南木林網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋南木林地區(qū)。費用合理售后完善,十載實體公司更值得信賴。
云是一種使用松散耦合結構的web服務。
提供云服務的主機放置在互聯(lián)網(wǎng)上,用戶直接從互聯(lián)網(wǎng)服務器集群上獲取應用和服務。這樣的部署方式使得開發(fā)人員不必過多地關心操作系統(tǒng)和硬件這樣的底層架構,只要專注于應用創(chuàng)新和業(yè)務邏輯即可。同時,開發(fā)人員還必須注意云服務帶來的新挑戰(zhàn)。
通過使用API,開發(fā)人員可以為云應用編寫程序,并直接向云提供商要求更多的資源。在開發(fā)過程中,開發(fā)人員需要進行冗余設計?!叭绻悴粸樵茟迷O計冗余,服務器出錯是不可避免的。”微軟Azure云平臺副總裁薩維斯塔夫指出。
創(chuàng)建云還需要設計無狀態(tài)性的云應用。無狀態(tài)性是指客戶端和服務器端都不保存對方的詳細信息,服務器只處理當前請求,而不必了解歷史信息。
云服務的特點是,如果某些應用失效,完全可以將應用中止并重新開始。云的無狀態(tài)性減少了服務器從局部錯誤中恢復的任務量。云計算技術包含維護應用程序狀態(tài)變化的機制,當然這需要無狀態(tài)設計。在云中,既沒有本地磁盤的概念,也沒有真正的登錄,所有應用都是無狀態(tài)的。
簡單的云應用應該是無狀態(tài)的。然而,還有一些有趣的應用要求保留某些狀態(tài),因此會用數(shù)據(jù)庫來存儲一些狀態(tài)信息。某些特定項目,比如用戶信息可以存儲起來,但有一定規(guī)模的應用程序在云中依然是無狀態(tài)的。
過去,人們一般都在本地服務器上把整個應用開發(fā)出來,現(xiàn)在不必這樣做了。云應用的另一個不同之處在于,應用組件可以在不同的云中運行。例如,一個應用可以調(diào)用Facebook的表現(xiàn)層,把數(shù)據(jù)儲存在Amazon的S3上,而邏輯運算可以在其他地方進行。這意味著構建云應用需要新的系統(tǒng)架構和思維方式,還要考慮云服務的規(guī)模。
云的抽象和無狀態(tài)性會影響到數(shù)據(jù)庫。例如,Azure平臺提出了一個非標準關系數(shù)據(jù)庫的模型,存儲引擎不使用標準的關系數(shù)據(jù)庫。因此,如果按照標準的關系型數(shù)據(jù)庫來開發(fā)應用,很多工作就毫無意義了。另外,Azure的存儲引擎與微軟提供的基于云服務的SQL Server版本是不同的,開發(fā)者在設計時必須注意。
目前,微軟正在加速開發(fā)Azure利用關系型數(shù)據(jù)庫的能力,同時也為非關系型數(shù)據(jù)存儲提供了數(shù)據(jù)表式的存儲選擇。App Engine中使用的Big Table數(shù)據(jù)庫模型是另外一個例子?!癇ig Table不是SQL數(shù)據(jù)庫。它支持的一些功能很難進行分割,與我們跨機器存儲數(shù)據(jù)的想法無法結合。”Google App Engine產(chǎn)品經(jīng)理派特?庫門說,“這意味著開發(fā)者上傳代碼,然后Google進行管理并將數(shù)據(jù)庫分割。這樣的數(shù)據(jù)處理有特定的模式,與傳統(tǒng)SQL模式完全不同,開發(fā)人員必須遵循?!?/p>
云環(huán)境會摒棄掉關系型數(shù)據(jù)庫?!霸诟吡髁康木W(wǎng)絡環(huán)境中,關系型數(shù)據(jù)庫很難管理,而且最終會給開發(fā)者帶來巨大負擔?!迸商?庫門說。
【編輯推薦】
- 技術人員開發(fā)云計算從這里下手
- 新一代開源云計算開發(fā)平臺
- 幫助學習云計算開發(fā)的幾個開源平臺
當前標題:云應用需要轉變開發(fā)思維
文章出自:http://m.5511xx.com/article/copddoe.html


咨詢
建站咨詢
