Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UML Deployment Diagram for IaaS and PaaS Cloud Systems

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

like image 737
DuncanACoulter Avatar asked Apr 23 '13 14:04

DuncanACoulter


1 Answers

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/

like image 123
gustavogbc Avatar answered Sep 21 '22 17:09

gustavogbc