Что нужно сделать
Для каждого из доменов (Collaboration, Build, Test, Deploy, Run) подберите пул инструментов, которые вы внедрили бы у себя в компании при необходимости.
Насчет инструментов, недоступных пока в РФ
Я не стал учитывать недоступность на данный момент в РФ некоторых инструментов.
Не думаю, что это критично — в любом случае, для почти каждого такого инструмента есть обходной путь (или очень похожий аналог), который позволит продолжать его использовать в текущих условиях 😁.
Toolset
Строить тулсет буду для условной небольшой команды, разрабатывающей небольшое веб-приложение с бэкендом на Go и фронтом на htmx (ибо опыта и широкого представления о больших командах с большим продуктом не имею).


Domains
Collaborate
| Subdomain | Tool | Explained |
|---|---|---|
| Application lifecycle management (ALM) | Trello | Я думаю, простого корпоративного канбана вполне хватит для небольшой команды разработчиков. |
| Communication | Slack | Slack вполне отвечает всем требованиям корпоративного мессенджера. |
| Knowledge sharing | Notion | Notion выбран как самое простое решение для создания и управления статьями в команде. |
Build
| Subdomain | Tool | Explained |
|---|---|---|
| SCM/VCS | GitLab | Выбран из-за встроенного GitLab CI/CD, который, в свою очередь, выбран как инструмент в поддомен CI. |
| CI | GitLab CI/CD | Простой достаточно инструмент, который позволит легко собрать веб-приложение в рамках одно из этапов пайплайна. |
| Build (optional) | --- | Доп. инструмент для сборки, получается, не нужен, раз всё может спокойно собираться в пайплайне GitLab CI/CD. |
Test
Выбор инструментов тестирования
Инструменты тестирования выбраны так, чтобы легко встроиться в GitLab CI/CD Pipeline как один из этапов (stages).
| Tool | Explained |
|---|---|
| Zed Attack Proxy (ZAP) | Т.к. разрабатывается веб-приложение, то проверять его на уязвимости будет хорошей практикой. |
| Selenium | Selenium позволит автоматически тестировать функционал WebUI. |
| Стандартный пакет testing в Go | Пакет testing из стандартной библиотеки Go позволит написать тесты и запустить их в пайплайне. |
| JMeter | JMeter должен помочь с нагрузочным тестированием разрабатываемого веб-приложения. |
Deploy
| Subdomain | Tool | Explained |
|---|---|---|
| Config management/provision | Terraform / Ansible | Terraform здесь поможет поднять и базово настроить сервера. Ansible же подготовит окружение на серверах для последующего деплоя веб-приложения. |
| Deployment | GitLab Runner + SSH | Раз используется GitLab CI/CD, то поднятый GitLab Runner на одном из серверов позволить задеплоить веб-приложение, например, с помощью SSH соединения. |
| Artifact management (optional) | --- | Здесь менеджер/репозиторий артефактов тоже, думаю, будет излишним. |
Run
| Subdomain | Tool | Explained |
|---|---|---|
| Cloud | Yandex Cloud | Я уже пару раз работал с Yandex Cloud, поэтому разворачивал бы там. Это облако полностью покроет все нужды проекта. |
| Orchestrator | --- | Оркестратор для такого небольшого проекта, думаю, не нужен. |
| Monitoring | Prometheus + Grafana + Loki | Базовый стек инструментов для мониторинга. |