企業(yè)架構(gòu)師需要注意的五個重要趨勢
譯文【51CTO精選譯文】眾所周知,互聯(lián)網(wǎng)的結(jié)構(gòu)正在影響著企業(yè)的架構(gòu)。本文嘗試著總結(jié)一些互聯(lián)網(wǎng)領域的***趨勢,這些趨勢似乎有著足夠的能力來改變企業(yè)的結(jié)構(gòu)。不用贅述,這幾個趨勢列舉如下:
#t#1、REST:表述性狀態(tài)轉(zhuǎn)移結(jié)構(gòu)模型可以讓互聯(lián)網(wǎng)以全局擴展的基本元素為基礎。詳細的解釋其基本原理和優(yōu)勢完全超出了本文的范疇。如果你的工作需要你不斷了解一些新興的趨勢,以及這些趨勢是否適合你的企業(yè)架構(gòu)需求的話,那么這個趨勢是一定要探究的。
影響面:基于網(wǎng)絡的結(jié)構(gòu)、面向服務的結(jié)構(gòu)、借由簡單的HTTP URIs和最小化集成過程實現(xiàn)的數(shù)據(jù)和處理請求(資源)的廣泛可用性和即時可用性。
2、可互用的云:具有互用性的云是指能夠創(chuàng)造一個私有云,同時也能利用公共云的能力。這已經(jīng)成為可能了:比如Ubuntu Enterprise Cloud,它允許你建立私人云或者使用公眾云(比如Amazon EC2),同時由于開源的成就(比如Eucalyptus),你能夠使用同一組API程序訪問他們。這讓你在一開始可以選擇使用隨便哪一種(私有云或者是公共云),如果有需要可以隨時再轉(zhuǎn)換到另一種云,或者能夠同時使用這兩種云,增加了靈活性。
影響面:大型服務器vs廉價服務器簇、虛擬化、彈性部署、靈活的硬件采購/供應、組織層次方面的基礎設施管理。
3、NoSQL:雖然我不喜歡這個名字,但是這個NoSQL趨勢一直就有。這涉及一系列現(xiàn)在可用的、不受很多RDBMS要求限制的存儲數(shù)據(jù)選擇(比如靈活規(guī)劃、鍵值對,等)。當有人要求你走向最終統(tǒng)一性(eventual consistency)的時候,一些數(shù)據(jù)庫還允許你以分布方式在很多服務器上存儲數(shù)據(jù),以此來支持頻繁寫操作的高可用性。當別人要求你滿足一系列不同的挑戰(zhàn)時,這些選擇增加了你作為一個架構(gòu)師的機動性和靈活性。
影響面:關系數(shù)據(jù)庫、數(shù)據(jù)存儲策略、數(shù)據(jù)分布策略、縱向vs橫向擴展、交易化、一致性和可用性。
4、使用多種語言:開發(fā)成本在總成本中所占的百分比在增加,開發(fā)時間也日益成為影響上市時間的主要因素,因此現(xiàn)在軟件快速變化和快速適應新要求的能力是成功的關鍵。解決方法之一是軟件不同的部分使用不同的語言來寫,每種語言對于相應的部分來說都是最恰當?shù)倪m合簡潔快速的語言,同時每種語言對于相應的軟件部分能夠支持快速的反映變化。因此,可以想象,在JEE平臺基礎上的一個軟件會使用JRuby語言編寫的DSL寫某些商業(yè)規(guī)則,而用Clojure語言寫算法。
影響面:開發(fā)文化和過程、最少的開發(fā)技術(shù)和擴展性、管理所需的風險管理vs現(xiàn)有的技術(shù)。
5.分布式處理:由于那些導致越來越分散的分布式處理(包括REST和NoSQL)技術(shù)的發(fā)展,應用程序需要成為一套互相協(xié)作的基于網(wǎng)絡的組件(我們之前也通過接觸分布式對象了解過)。然而尤其是考慮到這種結(jié)構(gòu)不太能保證提供即時保障處理、延遲問題、分布式控制和異步處理,一種特殊的業(yè)務邏輯可能通過許多交錯的組合元件來得到滿意的效果。雖然它可能有助于分布式對象版本的發(fā)布和簡化獨立部件的開發(fā),在數(shù)據(jù)流通方面卻帶來了更高的挑戰(zhàn)。雖然那些由MQ系列支持的異步功能已在企業(yè)中使用多年,但是我卻希望在企業(yè)中越來越多的使用較簡單的消息構(gòu)造,比如PubSubHubbub(編者注:這是Google的兩名員工帶來的一個相當酷的新協(xié)議)。
影響面:應用程序分組、基于網(wǎng)絡的器件、支持全部工作流程同步的困難。
原文:Five Important Trends on the Enterprise Architect's Radar
作者:dnene