There will be a series of articles to cover some aspects of web apps architecture. I do love technical literature/books, publishers like PACKT, MANNING, O'REILLY. One of the my favorite books has got (not complete) of architectural properties, that one may find in the context of various TDA in the O&G industry where Clients state them according to their business priorities.

So I want them to put together here for any kind of necessity in future to discuss in details and examples.

And ChatGPT helped to put them together.

Fully agree to start with Operational, cuz this is the target for any mature O&G industry Client Organization would expect. And each attribute's example I can bring from real experience how people can fail.

Operational Attributes / Эксплуатационные свойства

Термин (RU)Термин (EN)Определение (RU)Определение (EN)Метод оценки / расчётаМетрикиПример
НадёжностьReliabilityСпособность системы функционировать без сбоев в течение заданного времени.The ability of a system to perform without failure for a specific period.Анализ логов, тестирование на отказоустойчивость.MTBF (Mean Time Between Failures), количество отказов за периодСистема работает без сбоев 99.99% времени в течение месяца.
ДоступностьAvailabilityГотовность системы быть доступной для использования в любой момент времени.The degree to which a system is operational and accessible when required.Мониторинг времени простоя, uptime monitoring.Uptime %, MTTR (Mean Time to Recovery)Сервис недоступен менее 1 часа в месяц при SLA 99.9%
МасштабируемостьScalabilityСпособность системы справляться с увеличением нагрузки без ухудшения качества.The system's capacity to handle growth in workload or users gracefully.Тестирование при росте нагрузки (stress/load testing).Время ответа при x2 нагрузке, кол-во пользователей при приемлемом откликеДобавление новых серверов увеличивает пропускную способность на 50%
ПроизводительностьPerformanceХарактеристика, определяющая скорость реакции и обработки данных системой.The responsiveness and processing speed of a system under workload.Load testing, profiling, мониторинг задержек.Response Time, Throughput, LatencyСреднее время отклика API — 200 мс при 1000 запросах/мин
УправляемостьManageabilityЛёгкость администрирования, мониторинга и настройки системы.The ease with which a system can be administered and monitored.Оценка инструментов мониторинга и конфигурации.Время настройки, наличие дашбордовДобавление нового пользователя — 1 минута через UI
ОбслуживаемостьMaintainabilityПростота внесения изменений, исправления ошибок или улучшения системы.The ease with which a system can be modified to correct faults or improve it.Оценка количества строк кода для правки, времени разработки.Time to Fix, Code Complexity (Cyclomatic)Исправление бага занимает в среднем 2 часа
ЭффективностьEfficiencyСтепень использования ресурсов при выполнении задач.The degree of resource utilization when performing tasks.Профилирование ресурсов при тестировании нагрузки.CPU Load %, RAM Usage, IOPSСредняя загрузка CPU не превышает 60% при пике

Structural / Структурные

Термин (RU)Термин (EN)Определение (RU)Определение (EN)Метод оценки / расчётаМетрикиПример
МодульностьModularityСпособность системы быть разделённой на независимые модули.The degree to which a system's components can be separated and recombined.Оценка числа зависимостей между модулями.Количество зависимостей, границы модулейПриложение состоит из микросервисов, каждый из которых можно развернуть отдельно.
Разделение обязанностейSeparation of ConcernsРазделение системы на компоненты, отвечающие за разные аспекты.Dividing the system into distinct features that overlap as little as possible.Анализ слоёв и компонент системы.Наличие отдельных слоёв: UI, бизнес-логика, хранилищеКонтроллер отвечает за маршруты, сервис — за бизнес-логику.
СвязностьCohesionСтепень, с которой элементы одного модуля логически связаны между собой.The degree to which elements of a module belong together.Статический анализ кода, зависимые функции.Количество задач одного типа в модулеМодуль обработки платежей содержит только функции оплаты и возврата.
Слабая связанностьLoose CouplingМинимизация зависимости между модулями системы.Minimizing dependencies between system components.Анализ вызовов между модулями.Число внешних зависимостейМодуль авторизации взаимодействует с другими через API.
РасширяемостьExtensibilityСпособность системы быть легко дополненной новым функционалом.The ease with which new capabilities can be added.Внедрение новых классов или обработчиков.Время на добавление новой функцииДобавление нового типа отчёта требует создания нового класса.
Повторное использованиеReusabilityВозможность использовать компонент повторно в разных контекстах.The degree to which a component can be used in different systems.Наличие библиотек, используемых в разных модулях.Число точек повторного использованияКомпонент формы используется в 5 разных проектах.
ПортируемостьPortabilityСпособность программного обеспечения работать на разных платформах.The ease with which a system can be transferred to another environment.Тестирование на разных ОС и браузерах.Количество поддерживаемых платформПриложение развёрнуто на Windows, Linux и macOS.

Crosscutting / Сквозные

Термин (RU)Термин (EN)Определение (RU)Определение (EN)Метод оценки / расчётаМетрикиПример
БезопасностьSecurityСпособность системы защищать данные и предотвращать несанкционированный доступ.The system’s ability to protect data and prevent unauthorized access.Пентесты, проверка авторизации и шифрования.Число успешных атак, наличие шифрованияВсе пользовательские пароли хранятся в виде bcrypt-хэшей.
ТестируемостьTestabilityПростота написания, выполнения и поддержки тестов.The ease with which software can be tested.Покрытие кода тестами, модульность компонентов.Coverage %, число тестов на модульUnit-тесты покрывают 85% бизнес-логики.
АудитируемостьAuditabilityВозможность отслеживания событий и изменений в системе.The ability to log, trace, and audit system activity.Наличие журналов действий, следов изменений.Число логируемых событий, глубина журналаВсе действия пользователей сохраняются в журнале с меткой времени.
КонфиденциальностьConfidentialityСпособность защищать данные от доступа третьих лиц.The assurance that data is not disclosed to unauthorized individuals.Проверка доступа, шифрование каналов связи.Наличие TLS, ограничение видимости данныхПередача данных осуществляется по HTTPS, поля паспорта скрыты.
ЦелостностьIntegrityГарантия того, что данные не были изменены несанкционированным образом.Ensuring that data is accurate and has not been tampered with.Контрольные суммы, цифровые подписи, ограничения на уровне БД.Hash-суммы, наличие триггеров контроляФайлы проверяются по SHA256 при каждом загрузке.
ПодотчетностьAccountabilityВозможность идентифицировать действия конкретных пользователей или систем.The ability to trace actions to responsible entities.Логирование с привязкой к пользователю.Наличие user_id в логах, токены аудитаУдаление записи связано с user_id и timestamp.
ЛогируемостьLoggingВозможность системы фиксировать ключевые события.The capability to record important runtime information.Наличие логирования ключевых операций.Число логов, типы событийСоздание документа логируется с уровнем INFO.
СоответствиеComplianceСпособность системы соответствовать стандартам и нормативам.The ability to conform to laws, regulations, and standards.Аудит на соответствие требованиям.Наличие сертификации, отчётностьПродукт соответствует GDPR и ведёт журнал обработки данных.
ИнтероперабельностьInteroperabilityСпособность взаимодействовать с другими системами.The ability to work with other systems or products without special effort.Поддержка API, интеграционные тесты.Наличие внешних API, совместимость форматовСистема может загружать файлы в формате XML от внешнего клиента.

Дополнительные и управленческие свойства архитектуры

Термин (RU)Термин (EN)Определение (RU)Определение (EN)Метод оценки / расчётаМетрикиПример
РазвёртываемостьDeployabilityСпособность системы быть развернутой в целевой среде быстро и без ошибок.The ability of a system to be deployed efficiently and reliably to its target environment.CI/CD pipeline, время на развёртывание, количество ручных шагов.Deployment Time, Automation RatioСистема разворачивается за 3 минуты через GitHub Actions.
ОтказоустойчивостьFault ToleranceСпособность системы продолжать работу при частичном сбое компонентов.The capability of a system to continue operating properly in the event of failures.Тестирование на сбои компонентов, резервирование.Error Recovery Time, Redundancy CoverageПри отказе одного из серверов система автоматически переключается на резервный.
АдаптируемостьAdaptabilityСпособность системы адаптироваться под изменения в среде или требованиях.The ability of a system to adjust to changing environments and requirements.Наличие параметров конфигурации, архитектурной гибкости.Configurable Components, Feature Toggle RatioСистема переключает режимы работы с использованием переменных окружения.
ЭволюционностьEvolvabilityСпособность системы развиваться и изменяться без существенных переделок.The ability of a system to accommodate future changes with minimal impact.Оценка затрат на модификации, гибкость архитектуры.Effort for New Features, Change Impact ScopeДобавление нового бизнес-процесса требует изменения только одного модуля.
ПростотаSimplicityЛёгкость понимания, использования и сопровождения архитектуры.The ease with which the system can be understood and maintained.Обзор архитектурной документации, восприятие командой.Documentation Score, Learning CurveНовая команда может начать работу с кодовой базой за 1 день.
ТестируемостьTestabilityПростота написания, выполнения и поддержки тестов.The ease with which software can be tested.Покрытие кода тестами, модульность компонентов.Coverage %, число тестов на модульUnit-тесты покрывают 85% бизнес-логики.
Общие затратыCost EfficiencyСовокупность расходов на разработку, сопровождение и эксплуатацию системы.The total cost of development, operation, and maintenance of a system.Оценка затрат по TCO, ROI, затратам на сопровождение.TCO, ROI, OPEXСнижение затрат на сопровождение на 20% за счёт автоматизации.
Время вывода на рынокTime to MarketСкорость, с которой команда может выпустить продукт или обновление.The time it takes to deliver a product or feature to users.Оценка времени между началом работ и релизом.Average Delivery Cycle, Lead TimeФича от идеи до релиза занимает в среднем 2 недели.
РентабельностьReturn on Investment (ROI)Отношение прибыли от проекта к его затратам.The ratio of profit gained from a project relative to its costs.Финансовый анализ прибыли/убытков.ROI %ROI по проекту составил 150% за 12 месяцев.

Somehow ChatGPT also included ROI over here, but it's absolutely from another Opera. I used see Fault Tolerance variations but what I do like from this section is Deployability. This is the new common, trendy. Another top point is simplicity. Have you ever met those? But I do have a insights from the other world of simple O&G context. Still simple products are catchy. One love and the next story will be related to the service, that ChatGPT advised in a regular manner of alternatives selection, it was on the third place. In our current company we don't have that established, though it takes something like couple of minutes and it's free of charge.