If you have a non-standard or complex deployment environment, such as specific needs with regard to hardware, third-party software or networking requirements, consider documenting it in a separate deployment section, aimed at system administrators, developers, and testers.
If necessary, cover the following things:
- The amount of memory required
- The CPU thread count (with or without hyperthreading)
- Pinning and affinity with regard to NUMA nodes
- Specialist networking equipment requirements, such as switches that mark packages to measure latency and throughput in a black-box manner
- The networking topology
- The estimated bandwidth required
- Storage requirements for your app
- Any third-party software that you plan to use
Once you have the requirements, you can map them to specific hardware and put them into a runtime platform model. You can use a UML deployment diagram with stereotypes if you desire formal modeling. This should show your processing nodes...