После определения состава необходимых нам кирпичиков системы, необходимо определится с их общей укладкой. Как мы будем их укладывать и как они будут между собой взаимодействовать.
Любую систему можно рассматривать как набор слоёв, где слои расставляют ограничения на её части. Обычно основных частей выделяется три:
— графический интерфейс пользователя (FrontEnd)
— обработка пользовательских запросов (BackEnd)
— система хранения и обработки данных (DataSource)
Если углубляться в внутрь каждого слоя, можно и там увидеть аналогичные дробления, в силу специфики этой части системы.
FrontEnd:
— компоненты (UI визуализации)
— логика (бизнес логика слоя)
— сервисы (обменники данных с бекендом)
BackEnd:
— сервисы компоненты (бизнес логика для обработки запросов)
— сервисы данных (интерфейсы для работы с данными, файлами, и т.д.)
— сервисы состояния (объекты, необходимые для работы системы)
DataSource:
— Обработка данных
— Хранение данных
— Представление данных
Определившись с архитектурными слоями, необходимо добавить ещё один слой сверху над всеми тремя, и являющийся «связующим звеном» для них. Рассмотрим его составляющие:
— CI/CD — непрерывная интеграция и развертывание системы
— Менеджмент — средства управления системой, слоями и их объектами
— Мониторинг — отслеживание текущего состояния системы
И получаем некоторый каркас инфраструктуры:
DevOps
|
|||||||||||
FrontEnd
|
BackEnd
|
DataSource
|