We have a moderately complex solution for which we need to construct a production environment.
There are around a dozen components (and here I'm using a definition of "component" which means "can fail independently of other components" - e.g. an Apache server, a Weblogic web app, an ftp server, an ejabberd server, etc). There are a number of weblogic web apps - and one thing we need to decide is how many weblogic containers to run these web apps in.
The system needs to be highly available, and communications in and out of the system are typically secured by SSL
Our datacentre team will handle things like VLAN design, racking, server specification and build.
So the kinds of decisions we still need to make are: How to map components to physical servers (and weblogic containers) Identify all communication paths, ensure all are either resilient or there's an "upstream" comms path that is resilient, and failover of that depends on all single-points of failure "downstream". Decide where to terminate SSL (on load balancers, or on Apache servers, for instance).
My question isn't really about how to make the decisions, but whether there are any standards for documenting (especially in diagrams) the design questions and the design decisions. It seems odd, for instance, that Visio doesn't have a template for something like this - it has templates for more physical layout, and for more logical /software architecture diagrams.
So right now I'm using a basic Visio diagram to represent each component, the commms between them with plans to augment this with hostnames, ports, whether each comms link is resilient etc, etc.
This all feels like something that must been done many times before. Are there standards for documenting this?
Disclaimer: I am one of the founders for the following software.
Please take a look at device42 as a possible solution for this. We let users defined application components and add dependencies on other components. Impact and dependency charts are automatically created. Services running on multiple servers can be represented visually using cluster devices.(and we are working on adding network paths to this as well.)