作好雲平臺架構須要哪些能力

這兒講的平臺,是指計算平臺(conputing platform),這是一種環境,軟件在這種環境裏運行。更進一步,雲平臺,咱們把它定義爲企業級的雲計算化的平臺,直接面向業務的軟件運行在這個平臺上,而且利用這個平臺環境,新的業務軟件能夠迅速被開發出來。雲平臺涵蓋了硬件、運行時代碼庫、框架、服務及服務管理系統等。mysql

架構師

作好雲平臺,作出一個安全、穩定、高效的,能支持企業級大規模業務處理的雲平臺,須要哪些基本能力呢?程序員

  • 熟悉平臺所服務的業務環境
  • 掌握軟件系統的工做原理
  • 擁有架構理論及經驗
  • 項目管理
  • 文檔及表達

<!--more-->sql

熟悉平臺所服務的業務環境

業務是信息系統的靈魂,只有可以支撐業務運營、業務發展的企業信息系統,纔是最適合企業的,也是最值得企業投入資源去開發和維護的。雲平臺做爲企業信息系統的底層支撐系統,更是要着眼於業務。核心業務有哪些、非核心業務有哪些、企業着力開拓的新興業務有哪些,業務規模都有多大,業務跨越的地理範圍有多大等等,在瞭解了這些的基礎上,你所架構的平臺系統,才更適合企業。數據庫

好比企業業務是跨國的,那麼平臺系統若是不支持跨語言、跨文化的話,那麼極可能會成爲業務發展的掣肘,反之則助力企業發展緩存

掌握軟件系統的工做原理

其實掌握軟件系統的工做原理更多地是指選型的能力,這涉及到你的工具箱的廣度。
在你根據業務進行一番比較抽象的思考後,你決定了一個基本架構的結構圖,而後你須要選型,或許你須要選擇一個分佈式緩存系統,那麼你至少須要知道有哪些已經存在了的分佈式緩存系統,而且它們各自的工做原理是什麼,而後才能判斷它們是否適用,或者是否有必要本身動手對其進行包裝或創造一種全新的緩存系統。安全

這兒列舉一些基本的你可能須要掌握或瞭解的軟件系統的工做原理服務器

  • 開發語言(好比Java)
  • 操做系統(Linux或Windows)
  • DNS(域名解析)
  • CDN(內容分發網絡)
  • WEB服務器(基於互聯網提供的服務將愈來愈多)
  • 負載均衡(好比Nginx)
  • 消息隊列(好比ActiveMQ)
  • 緩存系統(好比Redis)
  • 數據庫(好比mysql)及ORM框架(好比MyBatis)

若是還能夠掌握如下軟件系統工做原理的話,你設計的雲平臺或許可以應對更大規模的企業業務網絡

  • 分佈式資源協調
  • 大數據框架(好比Storm)
  • 人工智能框架(好比)

擁有架構理論及經驗

架構理論能夠指導你開展架構工做,能夠指導你如何對業務系統進行分解以獲得子系統、子系統之間的交互關係,指導你考慮系統的運行環境及制約因素、指導你考慮運維需求等。而經驗可讓你更快地做出判斷,更快地在各類需求之間找到平衡點。架構

架構理論有許多種,常見的系統架構理論有三層架構、JavaEE架構、SOA架構、微服務架構、CAP理論,常見的企業架構理論有開放組體系結構框架(TOGAF)、聯邦體系架構框架(FEA)、美國國防部架構框架(DODAF)。負載均衡

項目管理

項目管理知識能夠指導你的架構的實現更加成功。在企業文化及上下文環境的制約下,充分考慮範圍、時間、成本、進度、採購、質量、團隊、風險,而後做出的架構決定,更加真實,距離成功的實現更進一步了。 通常若是你是既擔任架構師又擔任項目經理的話,你就不得不考慮這些了:)

文檔及表達

【英】Simon Brown著的《程序員必讀之軟件架構》一書(鄧鋼譯 ISBN:987-115-37107-2),是這麼解釋架構的。

架構做爲名詞來解釋時,歸納起來都與結構有關:將產品分解爲一系列組件、模塊和交互。這須要考慮整個產品..
架構做爲動詞來解釋時,包括了理解你須要構建什麼、設定願景以便進行構建和作出恰當的涉及決策...關鍵在於,架構是關於交流願景和引入技術領導力的,這樣參與構建產品的每一個人都能理解這個願景,併爲產品的成功作出積極貢獻

你對產品的分解、你所設定的願景、你做出的決策,都須要很好地記述下來,表達出來,以便每一個人都能準確理解,並參與、貢獻。

相關文章
相關標籤/搜索