• Операционное тестирование (Release Testing)
• Приемочное тестирование (Acceptance Testing)
• Тестирование пользовательских интерфейсов (UI Testing)
Поставку программного обеспечения будем также осуществлять с
помощью сервера интеграции TeamCity, используя bash скрипты, AWS CLI [6],
Docker [8], Amazon Container Services [7] и подход практики инфраструктура как
код [3].
Управление конфигурациями частично решается с помощью Docker, а
также Ansible [18].
К развёртыванию инфраструктуры с помощью кода в AWS решено
использовать Terraform, это позволит иметь аналогичную конфигурацию
заказанных серверов в тестовом, демо и производственных окружениях, что
исключит возможность человеческой ошибки и неоднородности сред.
Статическую проверку кода и модулей на уязвимости решено проверять
при помощи SonarQube, это исключит возможность попадания в сборку
небезопасных модулей и позволит раньше проводить проверку кода на
безопасность, что поможет ускорить доставку ПО без необходимости проверять
и исправлять код, который находится на этапе перед доставкой кода в
производственную среду.
Статический анализатор образов докер производится во время сборки на
TeamCity при помощи сканера уязвимостей внутри образов Trivy [19]
Мониторинг разворачивается при помощи запуска Docker [8] стека,
данные из серверов отправляются при помощи экспортеров, которые
настраиваются на EC2 [15] серверах при помощи Ansible.
Для автоматизации логирования используется ELK (ElasticSearch,
Logstash, Kibana) [20] стек, который предоставляет анализатор логов Kibana, а
также отправку сообщений об ошибках при помощи Logstash в средство
управления оповещениями и инцидентами OpsGenie [21] и дальнейшую
эскалацию инцидентов в команду поддержки.