Диаграмма контейнеров

Как только вы поймете, как ваша система вписывается в общую ИТ-среду, следующим действительно полезным шагом будет увеличение масштаба границ системы с помощью диаграммы контейнеров. “Контейнер” - это что-то вроде серверного веб-приложения, одностраничного приложения, настольного приложения, мобильного приложения, схемы базы данных, файловой системы и т.д. По сути, контейнер - это отдельно запускаемый/развертываемый модуль (например, отдельное пространство процесса), который выполняет код или хранит данные.

Диаграмма контейнеров показывает высокоуровневую структуру архитектуры программного обеспечения и распределение обязанностей между ними. На ней также показаны основные технологические решения и способы взаимодействия контейнеров друг с другом. Это простая, высокоуровневая диаграмма, ориентированная на технологии, которая полезна как разработчикам программного обеспечения, так и сотрудникам службы поддержки/эксплуатации.

Пример

A container diagram

Легенда диаграммы

A diagram key

Область видимости

Отдельная программная система.

Первичные элементы

Контейнеры, входящие в состав программной системы in scope.

Поддерживающие элементы

Люди и программные системы напрямую подключены к контейнерам.

Целевая аудитория

Технические специалисты как внутри команды разработчиков программного обеспечения, так и за ее пределами, включая архитекторов программного обеспечения, разработчиков и операционный/вспомогательный персонал.

Technical people inside and outside the software development team; including software architects, developers and operations/support staff.

Рекомендовано?

Таким образом, схема контейнеров рекомендуется для всех групп разработчиков программного обеспечения.

Примечания

На этой диаграмме ничего не говорится о кластеризации, балансировщиках нагрузки, репликации, отработке отказа и т.д., поскольку она, скорее всего, будет отличаться в разных средах (например, в производственной, промежуточной, разрабатываемой и т.д.). Эту информацию лучше получить с помощью одной или нескольких диаграмм развертывания.