В то время как Диаграммы компонентов сосредоточены на логической организации модулей вашего кода, тогда как диаграмма развертывания UML мостит разрыв с реальностью. Она отвечает на ключевой вопрос: «Где на самом деле живет весь этот код?»
Эта диаграмма — единственный модель UML, посвящённый физической среде выполнения. Она визуализирует сопоставление программных артефактов с аппаратными целями, показывая, как компоненты системы распределены между серверами, базами данных, мобильными устройствами и облачной инфраструктурой. В эпоху облачных вычислений, микросервисов и Интернета вещей понимание этой физической архитектуры является более важным, чем когда-либо.

Анатомия физической архитектуры
Основная цель диаграммы диаграммы развертываниязаключается в отображении физической топологии системы — аппаратного обеспечения (узлов) и программного обеспечения (артефактов), которое на нём выполняется.
1. Узлы: аппаратное обеспечение и среды выполнения
Фундаментальным строительным блоком диаграммы развертывания является узел. Узлы представляют вычислительные ресурсы, на которых развертываются артефакты для выполнения. Они изображаются в виде трёхмерных коробок (кубов).
Узлы бывают двух основных видов:
-
Узлы устройств: Это физические аппаратные ресурсы с вычислительной способностью.
-
Примеры: Сервер приложений, сервер баз данных, мобильный телефон, сенсор IoT или балансировщик нагрузки.
-
-
Узлы среды выполнения (среды выполнения): Это программные контейнеры, работающие в узле устройства и размещающие определенные типы артефактов. Они представляют собой программный уровень, управляющий развернутыми компонентами.
-
Примеры: А Виртуальная машина Java (JVM), среда выполнения .NET, контейнер Docker или экземпляр веб-браузера.
-
2. Артефакты: развертываемое программное обеспечение
А артефактОн представляет собой конкретное физическое проявление программного компонента. В то время как «компонент» — это логическая группировка классов, «артефакт» — это фактический файл, который устанавливается на сервере.
Артефакты обычно изображаются в виде прямоугольника с ключевым словом«артефакт»или небольшой значок документа в углу. Они часто размещаютсявнутриузла, чтобы показать, где они развернуты.
-
Примеры:
user-service.jar,index.html,database-schema.sql,config.xml, илиpayment-api.exe.
3. Пути связи: соединения
Узлы редко работают изолированно.Пути связи представляют физические соединения или связи между узлами, показывая, как они обмениваются информацией.
Они изображаются сплошными линиями, соединяющими два узла. Ключевым является то, что они часто помечаются стереотипами, чтобы указать используемый протокол связи или тип сети.
-
Примеры:
«HTTP/HTTPS»,«TCP/IP»,«JDBC»,«RMI», или«Очередь сообщений».

Визуализация топологии
Типичная диаграмма развертывания рассказывает историю о структуре системы во время выполнения. Например, стандартное трехуровневое веб-приложение может быть визуализировано следующим образом:
-
Уровень клиента: А
Мобильное устройство(узел), содержащийМобильное приложение(артефакт). -
Средний уровень: А
Веб-сервер(узел устройства), размещающийDocker-контейнер(среда выполнения), внутри которой находитсяAPI Service.jar(артефакт). -
Уровень данных: А
Сервер базы данных(узел устройства), содержащийPostgreSQLэкземпляр (среда выполнения), который управляетДанные пользователя(артефакт).
Соединение этих узлов будет линиями, помеченными «HTTPS» (между мобильным и веб-сервером) и «JDBC» (между веб-сервером и базой данных).
Зачем использовать диаграмму развертывания?
Диаграммы развертывания являются незаменимыми для инженеров DevOps, архитекторов систем и администраторов сетей.
-
Планирование развертывания: Они служат определяющим картографическим представлением для управления выпусками, точно указывая, какие файлы должны быть отправлены на какие серверы.
-
Анализ производительности: Визуализируя распределение обработки и сетевые связи, архитекторы могут выявить потенциальные узкие места (например, слишком много артефактов на одном узле с низкой мощностью или медленные сетевые связи между активными службами).
-
Моделирование безопасности: Они помогают выявлять риски безопасности, выделяя, какие узлы подвержены воздействию внешних сетей (публичного интернета), а какие изолированы за брандмауэрами.
-
Проектирование инфраструктуры как кода (IaC):В современных DevOps эти диаграммы служат концептуальным чертежом для написания скриптов Terraform или CloudFormation для развертывания облачных ресурсов.
Для получения дополнительной информации об UML и визуализации с помощью ИИ, см. нашуцентра ресурсов UML.
Эта статья также доступна на Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Việt Nam, 简体中文 and 繁體中文












