Диаграмма контейнеров
Как только вы поймете, как ваша система вписывается в общую ИТ-среду, следующим действительно полезным шагом будет увеличение масштаба границ системы с помощью диаграммы контейнеров. “Контейнер” - это что-то вроде серверного веб-приложения, одностраничного приложения, настольного приложения, мобильного приложения, схемы базы данных, файловой системы и т.д. По сути, контейнер - это отдельно запускаемый/развертываемый модуль (например, отдельное пространство процесса), который выполняет код или хранит данные.
Диаграмма контейнеров показывает высокоуровневую структуру архитектуры программного обеспечения и распределение обязанностей между ними. На ней также показаны основные технологические решения и способы взаимодействия контейнеров друг с другом. Это простая, высокоуровневая диаграмма, ориентированная на технологии, которая полезна как разработчикам программного обеспечения, так и сотрудникам службы поддержки/эксплуатации.
Пример
Легенда диаграммы
Область видимости
Отдельная программная система.
Первичные элементы
Контейнеры, входящие в состав программной системы in scope.
Поддерживающие элементы
Люди и программные системы напрямую подключены к контейнерам.
Целевая аудитория
Технические специалисты как внутри команды разработчиков программного обеспечения, так и за ее пределами, включая архитекторов программного обеспечения, разработчиков и операционный/вспомогательный персонал.
Technical people inside and outside the software development team; including software architects, developers and operations/support staff.
Рекомендовано?
Таким образом, схема контейнеров рекомендуется для всех групп разработчиков программного обеспечения.
Примечания
На этой диаграмме ничего не говорится о кластеризации, балансировщиках нагрузки, репликации, отработке отказа и т.д., поскольку она, скорее всего, будет отличаться в разных средах (например, в производственной, промежуточной, разрабатываемой и т.д.). Эту информацию лучше получить с помощью одной или нескольких диаграмм развертывания.

