"cloud architecture" concepts in a system architecture diagrams
Asked Answered
J

3

6

If you design a distributed application for easy scale-out, or you just want to make use of any of the new “cloud computing” offerings by Amazon, Google or Microsoft, there are some typical concepts or components you usually end up using:

  • distributed blob storage (aka S3)
  • asynchronous, durable message queues (aka SQS)
  • non-Relational-/non-transactional databases (like SimpleDB, Google BigTable, Azure SQL Services)
  • distributed background worker pool
  • load-balanced, edge-service processes handling user requests (often virtualized)
  • distributed caches (like memcached)
  • CDN (content delivery network like Akamai)

Now when it comes to design and sketch an architecture that makes use of such patterns, are there any commonly used symbols I could use? Or even a download with some cool Visio stencils? :)

It doesn’t have to be a formal system like UML but I think it would be great if there were symbols that everyone knows and understands, like we have commonly used shapes for databases or a documents, for example. I think it would be important to not mix it up with traditional concepts like a normal file system (local or network server/SAN), or a relational database.

Simply speaking, I want to be able to draw some conclusions about an application’s scalability or data consistency issues by just looking at the system architecture overview diagram.

Update: Thank you very much for your answers. I like the idea of putting a small "cloud symbol" on the traditional symbols. However I leave this thread open just in case someone will find specific symbols (maybe in a book or so) - or uploaded some pimped up Visio stencils ;)

Jewelry answered 30/1, 2009 at 12:14 Comment(2)
From a high level perspective - why delineate such a distinction ? A database is a database. I think a "cloud" with the appropriate symbol inside would get your point across. A more detailed perspective - viewing the actual structure, one would have N machines networked.Electrodynamics
"A database is a database" - I don't think so. Just as an example, a distributed database would of course scale better, however it might be less "exact" than a transactional database, it usually has less functionality (e. g. no Joins) etc.Jewelry
S
5

Here are two sets of symbols that map nicely to concepts in cloud platforms.

For Windows Azure: http://davidpallmann.blogspot.com/2011/07/windows-azure-design-patterns-part-1.html (download here)

EDIT Feb 2014 ==> Here's a more complete set released recently by Microsoft: http://www.microsoft.com/en-us/download/details.aspx?id=41937 This is now the best option to use for Windows Azure.

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

And @markus was obviously well ahead of the curve since he posted this question well before these became available.

Sewn answered 2/9, 2012 at 13:53 Comment(1)
Wow, thank you very much -- finally the answer, just 3.5 years later :D Both looking really great.Jewelry
S
3

I do not know any of distinctive symbols but if you need some - I'd go for the traditional ones and add a small cloud symbol to each of them. So everyone knows the traditional meaning - and on an abstract layer it does not matter if it is a cloud or not - and the cloud symbol adds the information that it runs in a cloud-environment.

But explain the symbols if you want to present that to a customer.

Stomatal answered 4/2, 2009 at 15:1 Comment(0)
A
0

would be interested to see a visio template. From a very high level perspective, it will do to put a clould over a traditional database, however it is not sufficient to express the full import of a cloud components, specially when it is necessary to include them in a diagram -- for example asynch message buses cheers - kalyan

Ammerman answered 18/5, 2010 at 4:37 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.