2009-01-30 36 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