Skip to main content

Построение процессов CI/CD

Построение процессов CI/CD

Автоматизируем {

  • разработку
  • запуск
  • эксплуатацию }

Об услуге#

Внедряем и поддерживаем конвейеры для сборки и автоматического развёртывания вашего приложения в тестовые и продуктивные среды.

Помогаем с тестированием, мониторингом, масштабированием приложения по мере его развития.

Наши возможности#

Написание кода

Наводим порядок
в системе разработки

Единообразный код

Подберем и внедрим линтеры для анализа стилистики
и соответствия кода лучшим практикам.

Чистый код

Внедрим инструменты сканирования кода на наличие чувствительных данных.

Go
Python
JS
C/C++

Сборка кода

Повышаем стабильность
и скорость сборки

Эффективный процесс сборки

Автоматизируем создания окружений сборки. Снижаем
размер артефактов. Распараллеливаем процесс сборки.

Унифицированные окружения

Стандартизируем управление окружениями с помощью систем хранения секретов и хранилищ артефактов (s3, registry и т.д.)

Gitlab CI
Jenkins
Teamcity
Docker

Тестирование

Тестируем приложение

Минимум ошибок

Внедряем статический анализатор кода и систему покрытия кода тестами.

Дополняем конвейеры нагрузочным, функциональным
и юнит-тестированием.

Selenium
SonarQube
JMeter
Yandex.Tank

Развёртывание в прод

Обеспечиваем контролируемое развёртывание

Эффективный процесс развёртывания

Автоматизируем развёртывание приложения в прод.

Минимальное влияние на пользователей

Подбираем стратегию выкатки (canary, blue-green и т.д.) для вашего приложения.

Подготавливаем автоматические сценарии отката изменений (rollback).

Ansible
Terraform
Kubernetes
Helm

Эксплуатация

Выявляем и решаем
проблемы прода

Минимум ошибок при эксплуатации

Автоматизируем работу с продуктивной средой.

Производительная инфраструктура

Анализируем узкие места в производительности вашей инфраструктуры и избавляемся от них.

Минимум простоя в случае отказа компонентов прода

Внедряем процесс регулярного тестирования прода (Chaos Monkey).

CentOS
Ubuntu
Suse
Debian

Мониторинг

Показываем целостную картину

Быстрая диагностика

Внедряем мониторинг, алертинг и логирование для всех компонентов прода.

Контролируемый уровень сервиса

Помогаем определить SLI и SLO для вашего сервиса .

Prometheus
Grafana
Zabbix
Elastic

Как мы работаем#

Определение задачи и поиск решения

Обсуждаем вашу задачу

Обследуем инфраструктуру разработки

Предлагаем решение, озвучиваем сроки и стоимость

Определение задачи и поиск решения

Обсуждаем вашу задачу

Обследуем инфраструктуру разработки

Предлагаем решение, озвучиваем сроки и стоимость

Проработка решения

Подписываем договор

Создаем прототипы конвейера для сборки и конвейера для автоматического развёртывания

На основе работающих прототипов уточняем детали

Внедрение решения

Создаем стабильные версии обоих конвейеров

Производим тонкую настройку и адаптируем конвейеры к новым требованиям

Передаем знания о внедренном решении

Эксплуатация

в случае необходимости

Оказываем техническую поддержку

Внедряем мониторинг, логирование и оповещения

Решаем проблемы масштабирования

Стоимость#

В основном зависит от желаемого уровня автоматизации и особенностей вашего приложения, калькулятор ниже поможет получить примерную стоимость наших услуг.

Окончательную стоимость мы сможем озвучить после обсуждения задачи и обследования вашей инфраструктуры

Калькулятор
стоимости построения процессов CI/CD

Малый проект

Средний проект

Большой проект

Ваш проект

Кол-во модулей приложения
на языках
Введите кол-во модулей приложения, написанных на различных языках, сборку которых необходимо автоматизировать.

Пример:
Изначально приложение было написано PHP и состояло из 15 модулей. Со временем часть кода переписали на Go для ускорения отдельных частей и оно стало состоять из 12 модулей на PHP и 3 модулей на Go. Затем понадобилась специфическая функция (типа распознавания изображений), выбрали готовую библиотеку на Python (из-за минимальных трудозатрат на внедрение) и теперь приложение состоит из 12 модулей на PHP, 3 модулей на Go и 2 модулей на Python.
Golang
2
5
15
5
PHP
1
5
3
5
Java
-
-
5
0
Python
-
-
2
0

Виды окружений
Укажите нужные Вам окружения.
На старте создания приложения может быть достаточно только окружения разработки, для большого проекта окружений может быть более 10-тка.
Именование окружений:
Prod — окружение рабочего развёртывания с которым непосредственно взаимодействуют пользователи.
Dev — окружение разработки.
Stage — окружение промежуточного развёртывания между Dev и Prod. Обычно является зеркалом Prod`а, но без пользовательской нагрузки и используется для предварительного просмотра новых функций и нагрузочного тестирования.
Test/QA — тестовое окружение для автоматических и ручных проверок.
Integration — Основа для построения CI или для тестирования сайд-эффектов разработчиком
Dev
Integration
Test/QA
Stage/Demo
Prod

Инфраструктура
Укажите сторонние сервисы, которые используется в Вашем приложении.
В калькуляторе для расчета используются трудозатраты построения сервисов в неотказоустойчивом (некластерном) варианте развёртывания. Расчет высокодоступных и отказоустойчивых вариантов производится индивидуально под конкретные требования:
  • размер домена отказа: ВМ, хост, стойка, машзал, ЦОД, провайдер;
  • RTO и RPO (допустимое время простоя сервиса в случае сбоя и допустимый объем возможных потерь данных в случае сбоя соответственно);
  • требуемая производительность сервиса.
СУБД (MySQL, PSQL, noSQL)
Rabbit, Kafka
Redis, Memcached
Nginx, Apache, Traefik
Terraform, Ansible, GitLab Runner
Vault
MinIO S3
Docker-registry
Elasticsearch, Kibana, Fluent
Prometheus, VictoriaMetrics
Другие сервисы
-
2
4
2

Наводим порядок в системе разработки
Единообразный код
Подберем и внедрим линтеры для анализа стилистики и соответствия кода лучшим практикам.
Чистый код
Внедрим инструменты сканирования кода на наличие чувствительных данных.

Повышаем стабильность и скорость сборки
Эффективный процесс сборки
Автоматизируем создания окружений сборки. Снижаем размер артефактов. Распараллеливаем процесс сборки.
Унифицированные окружения
Стандартизируем управление окружениями с помощью систем хранения секретов и хранилищ артефактов (s3, registry и т.д.)

Тестируем приложение
Тестирование качества и безопасности кода
Внедряем систему контроля качества и безопасности кода SonarQube, PVS-Studio.
В калькуляторе для расчета используются трудозатраты внедрения SonarQube CommunityEdition с параметрами «по умолчанию» и настройки базовых проверок:
  • кода на баги и уязвимости;
  • ошибки в конструкциях кода (code smells);
  • покрытие кода тестами;
  • дублировании кода.
Расчет стоимости внедрения расширенной версии SonarQube производится индивидуально под конкретные требования.
Нагрузочное тестирование
Дополняем конвейеры нагрузочным тестированием используя JMeter, Яндекс.Танк
Функциональное тестирование
Дополняем конвейеры функциональным тестированием используя Selenium.

Обеспечиваем контролируемое развёртывание
Эффективный процесс развёртывания
Автоматизируем развёртывание приложения в окружения используя Terraform, Ansible.
Минимальное влияние
на пользователей
Подбираем стратегию выкатки (canary, blue-green) для вашего приложения.
Подготавливаем автоматические сценарии отката изменений (rollback).

Выявляем и решаем проблемы прода
Производительная инфраструктура
Анализируем узкие места в производительности вашей инфраструктуры и избавляемся от них.
Минимум простоя в случае отказа компонентов прода
Внедряем процесс регулярного тестирования прода (Chaos Monkey).

Показываем целостную картину
Быстрая диагностика
Внедряем мониторинг, алертинг и логирование для всех компонентов прода
Контролируемый уровень сервиса
Помогаем определить SLI и SLO для вашего сервиса
Калькулятор стоимости построения процессов CI/CD

S

M

L

Кол-во модулей приложения
на языках
Введите кол-во модулей приложения, написанных на различных языках, сборку которых необходимо автоматизировать.

Пример:
Изначально приложение было написано PHP и состояло из 15 модулей. Со временем часть кода переписали на Go для ускорения отдельных частей и оно стало состоять из 12 модулей на PHP и 3 модулей на Go. Затем понадобилась специфическая функция (типа распознавания изображений), выбрали готовую библиотеку на Python (из-за минимальных трудозатрат на внедрение) и теперь приложение состоит из 12 модулей на PHP, 3 модулей на Go и 2 модулей на Python.
Golang
2
5
15
PHP
1
5
3
Java
-
-
5
Python
-
-
2
Виды окружений
Укажите нужные Вам окружения.
На старте создания приложения может быть достаточно только окружения разработки, для большого проекта окружений может быть более 10-тка.
Именование окружений:
Prod — окружение рабочего развёртывания с которым непосредственно взаимодействуют пользователи.
Dev — окружение разработки.
Stage — окружение промежуточного развёртывания между Dev и Prod. Обычно является зеркалом Prod`а, но без пользовательской нагрузки и используется для предварительного просмотра новых функций и нагрузочного тестирования.
Test/QA — тестовое окружение для автоматических и ручных проверок.
Integration — Основа для построения CI или для тестирования сайд-эффектов разработчиком
Dev
Integration
Test/QA
Stage/Demo
Prod
Инфраструктура
Укажите сторонние сервисы, которые используется в Вашем приложении.
В калькуляторе для расчета используются трудозатраты построения сервисов в неотказоустойчивом (некластерном) варианте развёртывания. Расчет высокодоступных и отказоустойчивых вариантов производится индивидуально под конкретные требования:
  • размер домена отказа: ВМ, хост, стойка, машзал, ЦОД, провайдер;
  • RTO и RPO (допустимое время простоя сервиса в случае сбоя и допустимый объем возможных потерь данных в случае сбоя соответственно);
  • требуемая производительность сервиса.
СУБД (MySQL, PSQL, noSQL)
Rabbit, Kafka
Redis, Memcached
Nginx, Apache, Traefik
Terraform, Ansible, GitLab Runner
Vault
MinIO S3
Docker-registry
Elasticsearch, Kibana, Fluent
Prometheus, VictoriaMetrics
Другие сервисы
-
2
4
Наводим порядок в системе разработки
Единообразный
код
Подберем и внедрим линтеры для анализа стилистики и соответствия кода лучшим практикам.
Чистый код
Внедрим инструменты сканирования кода на наличие чувствительных данных.
Повышаем стабильность и скорость сборки
Эффективный процесс сборки
Автоматизируем создания окружений сборки. Снижаем размер артефактов. Распараллеливаем процесс сборки.
Унифицированные окружения
Стандартизируем управление окружениями с помощью систем хранения секретов и хранилищ артефактов (s3, registry и т.д.)
Тестируем приложение
Тестирование качества и безопасности
кода
Внедряем систему контроля качества и безопасности кода SonarQube, PVS-Studio.
В калькуляторе для расчета используются трудозатраты внедрения SonarQube CommunityEdition с параметрами «по умолчанию» и настройки базовых проверок:
  • кода на баги и уязвимости;
  • ошибки в конструкциях кода (code smells);
  • покрытие кода тестами;
  • дублировании кода.
Расчет стоимости внедрения расширенной версии SonarQube производится индивидуально под конкретные требования.
Нагрузочное тестирование
Дополняем конвейеры нагрузочным тестированием используя JMeter, Яндекс.Танк
Функциональное тестирование
Дополняем конвейеры функциональным тестированием используя Selenium.
Обеспечиваем контролируемое развёртывание
Эффективный процесс развёртывания
Автоматизируем развёртывание приложения в окружения используя Terraform, Ansible.
Минимальное влияние на пользователей
Подбираем стратегию выкатки (canary, blue-green) для вашего приложения.
Подготавливаем автоматические сценарии отката изменений (rollback).
Выявляем и решаем проблемы прода
Производительная инфраструктура
Анализируем узкие места в производительности вашей инфраструктуры и избавляемся от них.
Минимум простоя в случае отказа компонентов
прода
Внедряем процесс регулярного тестирования прода (Chaos Monkey).
Показываем целостную картину
Быстрая
диагностика
Внедряем мониторинг, алертинг и логирование для всех компонентов прода
Контролируемый уровень сервиса
Помогаем определить SLI и SLO для вашего сервиса

Ваш проект
Кол-во модулей приложения
на языках
Введите кол-во модулей приложения, написанных на различных языках, сборку которых необходимо автоматизировать.

Пример:
Изначально приложение было написано PHP и состояло из 15 модулей. Со временем часть кода переписали на Go для ускорения отдельных частей и оно стало состоять из 12 модулей на PHP и 3 модулей на Go. Затем понадобилась специфическая функция (типа распознавания изображений), выбрали готовую библиотеку на Python (из-за минимальных трудозатрат на внедрение) и теперь приложение состоит из 12 модулей на PHP, 3 модулей на Go и 2 модулей на Python.
Golang
5
PHP
5
Java
0
Python
0
Виды окружений
Укажите нужные Вам окружения.
На старте создания приложения может быть достаточно только окружения разработки, для большого проекта окружений может быть более 10-тка.
Именование окружений:
Prod — окружение рабочего развёртывания с которым непосредственно взаимодействуют пользователи.
Dev — окружение разработки.
Stage — окружение промежуточного развёртывания между Dev и Prod. Обычно является зеркалом Prod`а, но без пользовательской нагрузки и используется для предварительного просмотра новых функций и нагрузочного тестирования.
Test/QA — тестовое окружение для автоматических и ручных проверок.
Integration — Основа для построения CI или для тестирования сайд-эффектов разработчиком
Dev
Integration
Test/QA
Stage/Demo
Prod
Инфраструктура
Укажите сторонние сервисы, которые используется в Вашем приложении.
В калькуляторе для расчета используются трудозатраты построения сервисов в неотказоустойчивом (некластерном) варианте развёртывания. Расчет высокодоступных и отказоустойчивых вариантов производится индивидуально под конкретные требования:
  • размер домена отказа: ВМ, хост, стойка, машзал, ЦОД, провайдер;
  • RTO и RPO (допустимое время простоя сервиса в случае сбоя и допустимый объем возможных потерь данных в случае сбоя соответственно);
  • требуемая производительность сервиса.
СУБД (MySQL, PSQL, noSQL)
Rabbit, Kafka
Redis, Memcached
Nginx, Apache, Traefik
Terraform, Ansible, GitLab Runner
Vault
MinIO S3
Docker-registry
Elasticsearch, Kibana, Fluent
Prometheus, VictoriaMetrics
Другие сервисы
2
Наводим порядок в системе разработки
Единообразный код
Подберем и внедрим линтеры для анализа стилистики и соответствия кода лучшим практикам.
Чистый код
Внедрим инструменты сканирования кода на наличие чувствительных данных.
Повышаем стабильность и скорость сборки
Эффективный процесс сборки
Автоматизируем создания окружений сборки. Снижаем размер артефактов. Распараллеливаем процесс сборки.
Унифицированные окружения
Стандартизируем управление окружениями с помощью систем хранения секретов и хранилищ артефактов (s3, registry и т.д.)
Тестируем приложение
Тестирование качества и безопасности кода
Внедряем систему контроля качества и безопасности кода SonarQube, PVS-Studio.
В калькуляторе для расчета используются трудозатраты внедрения SonarQube CommunityEdition с параметрами «по умолчанию» и настройки базовых проверок:
  • кода на баги и уязвимости;
  • ошибки в конструкциях кода (code smells);
  • покрытие кода тестами;
  • дублировании кода.
Расчет стоимости внедрения расширенной версии SonarQube производится индивидуально под конкретные требования.
Нагрузочное тестирование
Дополняем конвейеры нагрузочным тестированием используя JMeter, Яндекс.Танк
Функциональное тестирование
Дополняем конвейеры функциональным тестированием используя Selenium.
Обеспечиваем контролируемое развёртывание
Эффективный процесс развёртывания
Автоматизируем развёртывание приложения в окружения используя Terraform, Ansible.
Минимальное влияние
на пользователей
Подбираем стратегию выкатки (canary, blue-green) для вашего приложения.
Подготавливаем автоматические сценарии отката изменений (rollback).
Выявляем и решаем проблемы прода
Производительная инфраструктура
Анализируем узкие места в производительности вашей инфраструктуры и избавляемся от них.
Минимум простоя в случае отказа компонентов прода
Внедряем процесс регулярного тестирования прода (Chaos Monkey).
Показываем целостную картину
Быстрая диагностика
Внедряем мониторинг, алертинг и логирование для всех компонентов прода
Контролируемый уровень сервиса
Помогаем определить SLI и SLO для вашего сервиса
По окончанию внедрения, мы так же можем взять на себя техническую поддержку конвейеров, инфраструктурных сервисов и прода.
По вопросу стоимости вашего проекта или другим вопросам, пожалуйста, свяжитесь с нами.

Контакты#

Профессиональные практики DevOps

Профессиональные
практики DevOps