UML Deployment Diagram for IaaS and PaaS Cloud Systems
Asked Answered
L

1

8

I would like to model the following situation using a UML deployment diagram.

A small command and control machine instance is spawned on an Infrastructure as a Service cloud platform such as Amazon EC2. This instance is in turn responsible for spawning additional instances and providing them with a control script NumberCruncher.py either via something like S3 or directly as a start up script parameter if the program is small enough to fit into that field. My attempt to model the situation using UML deployment diagrams under the working assumption that a Machine Instance is a Node is unsatisfying for the following reasons.

  • The diagram seems to suggest that there will be exactly three number cruncher nodes. Is it possible to illustrate a multiplicity of Nodes in a deployment diagram like one would illustrate a multiplicity of object instances using a multi-object. If this is not possible for Nodes then this seems to be a Long Standing Issue
  • Is there anyway to show the equivalent of deployment regions / data-centres in the deployment diagram?

Lastly:

What about Platform as a Service? The whole Machine Instance is a Node idea completely breaks down at that point. What on earth do you do in that case? Treat the entire PaaS provider as a single node and forget about the details?

IaaS Nodes are Machine Instances

Linebacker answered 23/4, 2013 at 14:24 Comment(0)
R
2

Regarding your first question:

Is there anyway to show the equivalent of deployment regions / data-centres in the deployment diagram?

I generally use Notes for that.

And your second question:

What about Platform as a Service? The whole Machine Instance is a Node idea completely breaks down at that point. What on earth do you do in that case? Treat the entire PaaS provider as a single node and forget about the details?

I would say, yes for your last question. And I suppose you could take more details from the definition of the deployment model and its elements. Specially at the end of this paragraph:

They [Nodes] can be nested and can be connected into systems of arbitrary complexity using communication paths. Typically, Nodes represent either hardware devices or software execution environments.

and

ExecutionEnvironments represent standard software systems that application components may require at execution time.

source: http://www.omg.org/spec/UML/2.5/Beta1/

Reade answered 10/6, 2013 at 23:3 Comment(4)
+1 For going to specification, do you know of any publicly accessible examples of Nodes being used as more abstract execution environments. I've seen many deployment diagrams for Java based systems that do not specify the JVM as a node for example.Linebacker
Sorry. I don't know any public example... :/ But since it depends on the abstraction level employed, it is understandable why ppl don't usually model the JVM as a node.Reade
Oh well, I guess that covering a wide variety of abstraction levels is one of the limitations/strengths of UML. I'm doubtful this question will get any further answers any time soon. So after a brief waiting period I will accept.Linebacker
+1 I like the notes idea, too. Regarding PaaS, I've seen a << web server cluster >> as an EEN on diagrams before, with {clusterCount=4} in the properties. Why not a << cloud server >> as a physical node, even though it's not single? The word cloud says a lot. In 5 years, there will likely be another deployment abstraction that doesn't work in standard UML.Kathaleenkatharevusa

© 2022 - 2024 — McMap. All rights reserved.