2009-01-30 63 views
6

如果您爲輕鬆擴展設計分佈式應用程序,或者您只是想利用Amazon,Google或Microsoft的任何新「雲計算」產品,那麼你通常最終會使用一些典型的概念或組件:系統架構圖中的「雲架構」概念

  • 分佈式BLOB存儲(又名S3)
  • 異步,耐久消息隊列(又名SQS)
  • 非Relational- /非事務數據庫(像SimpleDB,Google BigTable,Azure SQL Services)
  • 分佈式背景工人池
  • 負載平衡的,邊緣的服務流程處理用戶請求(通常虛擬化的)
  • 分佈式緩存(如分佈式緩存)
  • CDN(內容分發網絡等的Akamai)

現在當涉及到使用這種模式的設計和草圖架構時,有沒有我可以使用的任何常用符號?甚至可以下載一些很酷的Visio模板? :)

它不一定是一個像UML這樣的正式系統,但是我認爲如果存在每個人都知道並理解的符號,比如我們常用的數據庫或文檔形狀,那將會很棒。我認爲不要將其與傳統概念(如普通文件系統(本地或網絡服務器/ SAN)或關係數據庫)混合在一起非常重要。

簡而言之,我希望能夠通過查看系統體系結構概覽圖來得出有關應用程序的可伸縮性或數據一致性問題的一些結論。

更新:非常感謝您的回答。我喜歡在傳統符號上放置一個小型「雲符號」的想法。然而,爲了防止有人找到特定的符號(可能在某本書中) - 或者上傳了一些捲起來的Visio模板,我將此線程打開以防止;)

+0

從高層次角度來看 - 爲什麼要劃分這樣的區別?數據庫是一個數據庫。我認爲一個帶有適當符號的「雲」會讓你意識到你的觀點。更詳細的觀點 - 查看實際結構,將有N臺機器聯網。 – jim 2009-02-04 14:17:52

+0

「數據庫是一個數據庫」 - 我不這麼認爲。舉一個例子,分佈式數據庫當然可以擴展得更好,但它可能不如事務數據庫「確切」,它通常具有較少的功能(例如沒有連接)等。 – realMarkusSchmidt 2009-02-08 10:02:44

回答

5

這裏有兩組符號可以很好地映射到雲平臺中的概念。

爲Windows Azure: http://davidpallmann.blogspot.com/2011/07/windows-azure-design-patterns-part-1.html(下載here

編輯2014年2月 ==>下面是微軟最近發佈了一套較爲完整:http://www.microsoft.com/en-us/download/details.aspx?id=41937這是現在使用爲Windows Azure的最佳選擇。

的Amazon Web Services: http://aws.typepad.com/aws/2011/12/introducing-aws-simple-icons-for-your-architecture-diagrams.html

而且@markus明顯以及領先的曲線,因爲他張貼了這個問題之前,以及這些變得可用。

3

我不知道任何與衆不同的符號,但如果您需要某些 - 我會選擇傳統的,併爲每個人添加一個小小的雲彩符號。因此,每個人都知道傳統的含義 - 在抽象層上,它是否是雲並不重要 - 雲符號會添加它在雲環境中運行的信息。

但是,如果您想向客戶展示這些符號,請解釋這些符號。

0

將有興趣看到一個visio模板。從非常高的層面來看,它將確定傳統數據庫,但是不足以表達雲組件的完全導入,特別是當需要將它們包含在圖中時 - 例如異步消息總線 歡呼聲 - kalyan