初識《雲端計算和SOA》

出版圈郭志敏發表於2011-09-05

作者:mydeman

  前幾天參加了HTML5研究小組的翻譯送書的活動,有幸獲得了一本《雲端計算和SOA》。第一次看到SOA這個名詞還是在《程式設計師》雜誌,同時還伴隨著另外一個名詞就是SaaS。又過了幾年開始聽到有了雲端計算的概念,但是並不瞭解此為何物。2009年參加了CSDN的軟體開發2.0大會,聽到了中國工程院院士李德毅教授關於雲端計算的詳細解釋,也對雲端計算有了初步的認識。可是這些事情都已經年代久遠,再加之實際工作中沒有應用,所以這些概念又慢慢模糊起來。這次之所以選這本書,也算是為了再次掃盲。

  這本書給我的第一感覺就是有點薄,而震撼從翻開第一頁就開始了。略過前面眾多推薦不說,單是前言中“關於本書”的兩句就足以讓人刮目相看:“對於那些希望利用SOA與雲端計算融合所帶來的優勢的人們,本書堪稱聖經”,“作為本書的作者,在每一個有助於雲端計算與SOA融合的研究方向上,我都是公認的權威”。當時看到這兩句的話,第一反應就是:“太霸氣了!”能夠說出這樣話的人,要麼是吹牛皮,要麼是真的權威。我相信憑著圖靈的水平,他應該屬於後者。

  本書並沒有直接講從什麼雲端計算或者什麼是SOA,而是從一個案例入手,提出了當今企業中IT所面臨的嚴峻問題:IT的應變能力揚中拖累了公司核心業務的發展。那麼如何解決這個問題呢?“SOA來拯救”以及之後“SOA是什麼?”、“SOA與雲端計算”就水到渠成了。從問題切入,與實際相結合,是該書最大的特點,從來沒有那些讓人瞌睡蟲指數級增長的乾巴巴的定義和說教。因為在前言中,作者已經提到:“過去的圖書更多地關注定義事物是什麼,本書……更多地是怎麼做。”對我來說,這種風格尤其適合,所以才一口氣讀完了這本書。

  既然是與實際相結合,那麼一切確定就要與實際情況相符合,所以,書中充滿了唯物主義的辯證思想,“雲端計算並非IT的救世主。它只不過是企業架構的一種就是部署方式…”、“本書並不鼓吹雲端計算……你從本書中獲得是不偏不倚的觀點,包括什麼情況下適合使用雲端計算,什麼情況下不宜使用雲端計算”、“在我這裡,你永遠不會聽到……你應該把你的核心資訊系統部署到雲端計算平臺之上,同時也不會聽到‘你根本不需要雲端計算’……”等等。記得很多年前,論壇上經常有關於語言優劣的爭論,尤其.Net和Java兩大陣營,脣槍舌戰,唾沫橫飛。而在我看來這種爭論幾乎毫無意義,每種語言的設計者在設計時必然要考慮其要解決的問題,那麼就會突出某方面的特性,而弱化另外一些方面。而架構亦是如此,沒有放置四海皆准的黃金法則(銀彈?),每一種架構都是針對特定問題的所設計和優化的,可能不會有人用微博的架構去做CRM。如今,國內的技術氛圍越來越濃,而那些無謂的爭論也在逐漸消失,可喜可賀。

  作者一再強調SOA是一種架構模式,而云計算是一種架構實踐。那麼這個架構是否適合解決你當前面臨的問題呢?要回答這個問題,那麼首先要弄明白要解決的問題是什麼?在第四章的最後,作者給出了設計商業案例的具體步驟:(1)理解現有問題:IT問題和業務問題(2)分配開銷(3)建模“當前狀態”(4)建模“目標狀態”(5)定義價值點(6)定義硬性收益(7)定義軟性收益(8)建立最終商業案例。在我看來,這個步驟同樣適用於架構的設計和優化。在我們決定優化架構之前,首先要找出當前架構面臨的問題,接著要定義優化的目標並確定大概需要的開銷,然後就開始著手實際。不過,在架構的優化實踐中,尤其是小型專案,各個步驟可能不會這麼詳細的定義。從第五章到第十章,作者分別從SOA中最重要的資料、服務、流程、治理和測試幾個方面講解如何確定問題域以及選擇合適的服務。雖然這6章的內容充滿了實踐的味道,但是與現實中雲端計算服務還是有些脫節,於是在第十一章“邁向雲端計算”中,作者就結合當然流行雲服務如Amazon EC2、Amazon Simple DB、Force.com等給出了例項。

  通讀此書之後,給人的感覺作者行文如行雲流水,娓娓道來,引人入勝。當然,譯者也功不可沒,在其中也幾乎沒有發現由於直譯而晦澀的名詞(除了在117頁,“新增賬務”和前面的“新增賬戶”不一致外)。

  我始終堅信,真正的權威,除了能夠有異於常人的深厚的理論和實踐知識,更能夠把這些知識深入淺出地分享給其他人。

相關文章