DevOps для веб- и мобильных продуктов
Мы выстраиваем то, как ваш продукт собирается, тестируется, развёртывается и отслеживается: CI/CD-пайплайны, контейнеры, облачная или VPS-инфраструктура и раздельные окружения. Релиз становится рутинным шагом, а не событием поздно вечером.
Когда DevOps окупается
Сигнал обычно один и тот же: релизы медленные, рискованные и зависят от единственного человека, который знает команды.
- Развёртывание делается вручную по SSH и иногда ломает рабочую версию
- Тестового окружения нет, поэтому изменения проверяются на реальных пользователях
- Как развёртывать, знает только один разработчик, и он уходит
- Счёт за облако растёт быстрее, чем продукт
- Об ошибках сообщают клиенты, потому что нет ни логов, ни метрик
- Настройка окружения для нового разработчика занимает несколько дней
Что мы делаем
CI/CD-пайплайны
Каждый коммит автоматически собирается и тестируется, а слияние в основную ветку разворачивается на тестовом или рабочем окружении. Для мобильных приложений — автоматические сборки с доставкой в TestFlight и тестовые треки Google Play.
Контейнеры
Приложения и их зависимости упаковываются в Docker, поэтому один и тот же образ работает на ноутбуке, на тестовом и на рабочем окружении.
Облачная и VPS-инфраструктура
Инфраструктура в публичном облаке или на выделенных и VPS-серверах, выбранная по нагрузке и бюджету, а не по привычке, и развёрнутая в аккаунтах, которые принадлежат вам.
Инфраструктура как код
Серверы, сети, DNS и доступы описаны в коде и хранятся в репозитории. Окружение можно проверять, воссоздавать и менять, как любой другой код.
Dev, stage и prod
Раздельные окружения для разработки, тестирования и рабочей версии со своими данными и настройками, чтобы каждое изменение проверялось до того, как его увидят реальные пользователи.
Мониторинг и логи
Метрики, централизованные логи и отслеживание ошибок с оповещениями, чтобы команда первой замечала проблемы и разбиралась в них по данным, а не наугад.
Развёртывание, которое не зависит от одного человека
Когда релиз — это разработчик, который подключается к серверу и по памяти запускает команды, каждый релиз — риск, а каждый отпуск — проблема. Мы переносим эти знания в пайплайн: сборка, тесты, миграции базы данных и развёртывание каждый раз выполняются одинаково, а неудачный релиз откатывается одним шагом. Секреты и доступы хранятся централизованно, а не на личных ноутбуках.
- Автоматическая сборка и тесты на каждом коммите
- Развёртывание и откат одним шагом
- Миграции базы данных как часть релиза
- Секреты и доступы управляются в одном месте
Инфраструктура, которая стоит столько, сколько должна
Счета за инфраструктуру растут незаметно: избыточные инстансы, забытые тестовые серверы, платные сервисы, дублирующие друг друга. Мы изучаем, что работает, для чего используется и сколько стоит, а затем предлагаем изменения с оценкой экономии по каждому. Иногда это подбор размеров ресурсов в том же облаке, иногда — перенос стабильных нагрузок из облака на выделенные серверы.
- Инвентаризация ресурсов и их ежемесячной стоимости
- Неиспользуемые и избыточные ресурсы удалены
- Оценка экономии по каждому предлагаемому изменению
- План миграции там, где перенос нагрузок финансово оправдан
Понимание того, что происходит в рабочей среде
Без мониторинга первым о проблеме сообщает клиент. Мы настраиваем метрики для серверов и приложения, собираем логи в одном месте и подключаем отслеживание ошибок для бэкенда, веб- и мобильных клиентов. Оповещения уходят тем, кто может на них отреагировать, и настроены так, чтобы их не начали игнорировать.
- Дашборды для серверов, баз данных и метрик приложения
- Централизованные логи с поиском
- Отслеживание ошибок для бэкенда, веба и мобильных приложений
- Оповещения направляются нужным людям
Как идёт DevOps-работа
Анализ
Смотрим репозитории, текущий процесс развёртывания, инфраструктуру и счета. Вы получаете отчёт с проблемами и предлагаемыми изменениями.
План
Изменения упорядочиваются по ценности и риску и оцениваются. Вы решаете, что делать первым.
Внедрение
Пайплайны, контейнеры, окружения и мониторинг внедряются поэтапно, без остановки текущих релизов.
Передача
Ваша команда получает документацию и разбор настроек, чтобы в них разбирался не один человек.
Постоянная поддержка
При желании мы поддерживаем работу инфраструктуры и развиваем её по договору о поддержке.
Наши инструменты
CI/CD
- GitHub Actions
- GitLab CI
- Bitbucket Pipelines
- fastlane
Контейнеры
- Docker
- Docker Compose
- Kubernetes
Облако и IaC
- AWS
- Google Cloud
- Hetzner
- DigitalOcean
- Terraform
- Ansible
Мониторинг
- Prometheus
- Grafana
- Sentry
Форматы работы
Проект по настройке
Проект с фиксированным объёмом: например, CI/CD-пайплайн, контейнеризация или переезд на новую инфраструктуру.
Постоянная DevOps-поддержка
Ежемесячное сопровождение пайплайнов, окружений и инфраструктуры, при необходимости вместе с поддержкой серверов.
Почасово или выделенный инженер
Консультации и отдельные задачи с почасовой оплатой или инженер, закреплённый за вашей командой.
Отзывы
Команда Revol продолжает укреплять возможности клиента в разработке благодаря качественной работе и надёжной поддержке. Они эффективно коммуницируют и хорошо понимают потребности и бизнес клиента.
Tomas
Работа Revol полностью оправдала ожидания и устроила клиента. Свежий подход и готовность всегда быть на связи для поддержки стали ценным преимуществом. Если нужна открытая, клиентоориентированная команда для достижения целей — Revol отличный выбор.
Andrey
Частые вопросы
Нам нужен Kubernetes?
Большинству продуктов — нет. Несколько серверов с Docker и хорошо выстроенный пайплайн закрывают потребности большинства бэкендов для веба и мобильных приложений при несравнимо меньшей сложности. Мы предлагаем Kubernetes, когда количество сервисов и нагрузка действительно этого требуют.
Можете ли вы работать в нашем существующем облачном аккаунте?
Да. Мы работаем в ваших облачных или хостинговых аккаунтах с доступами, которые вы предоставляете, и всё, что мы создаём, остаётся вашим. Мы не переносим вашу инфраструктуру в аккаунты под нашим контролем.
Прервут ли изменения наши текущие релизы?
Нет. Изменения вносятся поэтапно, обычно начиная с пайплайна, который разворачивает продукт на новом тестовом окружении. Рабочая версия переключается, когда новый процесс себя оправдал.
Можете ли вы снизить наш счёт за хостинг?
Часто да, но насколько — зависит от того, что у вас есть. После анализа вы получаете список конкретных изменений с оценкой экономии по каждому и сами решаете, какие из них вносить.
Вы настраиваете CI/CD для мобильных приложений?
Да: автоматические сборки, подпись, тесты и доставка в TestFlight и тестовые треки Google Play, чтобы тестировщики получали каждую сборку без ручных действий.
Чем DevOps отличается от поддержки серверов?
Поддержка серверов следит за здоровьем существующих серверов: обновления, резервные копии, мониторинг. DevOps меняет то, как продукт собирается и развёртывается. Многим клиентам нужно и то и другое, и это можно объединить в одном договоре.
Расскажите о своём проекте
Опишите задачу в нескольких строках. В течение одного рабочего дня мы ответим вопросами или первым мнением об объёме работ и стоимости.
Удобнее написать на почту или созвониться?
welcome@revolsource.com
+38 097 662 23 20
Revol Software OÜ, Таллин, Эстония. Наша команда распределена по всему миру.
Присоединяйтесь к нашей команде
Присылайте резюме на career@revolsource.com