📄 Сергей Садчиков — DevOps/Platform Engineer
| Удаленная работа | 200 000 ₽ на руки | Полная занятость |
🎯 Summary
DevOps/Platform Engineer с 4+ годами коммерческого опыта в построении отказоустойчивой инфраструктуры, автоматизации CI/CD и внедрении DevSecOps-практик, подкрепленными 7-летним фундаментом в системном администрировании Linux и сетей.
Специализируюсь на трансформации хаотичных процессов в предсказуемые, масштабируемые платформы. Умею переводить технические задачи на язык бизнес-метрик через конкретные инженерные решения.
Глубоко понимаю, как системы работают “под капотом” (namespaces, cgroups, systemd, сетевой стек), что позволяет эффективно решать нетривиальные задачи траблшутинга, с которыми не справляются стандартные инструменты.
Ключевые результаты:
- DevSecOps-платформа с нуля: время развертывания окружения 2-3 дня → 10-15 минут (Terraform + Ansible Dynamic Inventory + Kaniko вместо DinD)
- Перевод прод-БД на Managed PostgreSQL HA (PITR): бизнес-RPO снижен с 24ч до 5 мин, RTO до 5-10 мин (авто-failover < 30 сек), SLA 99.95%
- Аудит бэкапов GitLab: выявлены 2 root-cause (архивация Registry, баг omnibus-конфига), кэш исключён из контура: 9.1 ГБ → 44 МБ, время 15 мин → 48 сек
- Оптимизация Docker-образов: ML-образ 5.24 GiB → 1.23 GiB (-77%), Frontend 875 MB → 22 MB (×40) через multi-stage build
Портфолио: sadchikovsg.ru (4 детальных кейса с архитектурными схемами)
GitHub: github.com/sadchikovsg (Homelab K8s, AI Harness, Ansible roles)
💼 Опыт работы
Июль 2025 — настоящее время (1 год 3 месяца)
ООО ПКО «ХАБЕР» | DevOps Engineer (Проектная деятельность)
Выступал в роли ключевого инженера по модернизации инфраструктуры, построению платформенных решений и обеспечению compliance.
Ключевые проекты:
1. Внедрение и архитектура Managed Kafka
- С нуля спроектировал и развернул отказоустойчивый кластер Managed Kafka (3 брокера, KRaft mode, Kafka 4.0) в Yandex Cloud
- Обосновал выбор network-hdd вместо network-ssd под текущие паттерны нагрузки: стоимость инфраструктуры снижена в ~4 раза
- Настроил строгие Security Groups и создал исчерпывающую документацию для разработчиков (схемы подключения, примеры кода на Java/Python/kcat)
- SRE-элемент: Настроил мониторинг consumer lag, алерты при отставании > 1000 сообщений
2. Сложный сетевой траблшутинг (Kafka Advertised Listeners)
- Решил критическую проблему подключения внешних клиентов, когда брокеры возвращали внутренние FQDN, не резолвящиеся с локальных машин
- Спроектировал элегантную схему без проброса публичных портов: связка
/etc/hostsс loopback-адресами (127.0.0.1/2/3) + три параллельных SSH-туннеля на каждый брокер через Jump Host - Результат: Внешние клиенты получили стабильное подключение без изменения сетевой архитектуры
3. Миграция критической инфраструктуры (PostgreSQL HA)
- Перевел прод-базу с незащищённой ВМ (открытый порт
0.0.0.0:5432) на Yandex Managed PostgreSQL HA (2 хоста, c3-c2-m4, PITR 7 дней) - Внедрил централизованный SSH Jump Host для безопасного доступа команды с любых IP
- Выполнил безопасную миграцию данных с верификацией целостности
- Результат: бизнес-RPO снижен с 24 часов до 5 минут, RTO до 5-10 минут (авто-failover < 30 сек), SLA вырос до 99.95%, периметр закрыт Security Groups
4. Построение DevSecOps платформы
- Полный отказ от Docker-in-Docker в пользу Kaniko: сборка идёт в раннере без привилегированного доступа
- Внедрил многоуровневый пайплайн: Semgrep SAST (592 правила), Trivy, SCA и Cosign keyless OIDC подпись образов
- Реализовал runtime-закалку контейнеров (
read_only: true,tmpfs,no-new-privileges: true,cap_drop: ALL) - SRE-элемент: Настроил автоматический rollback при провале healthcheck после деплоя
Июль 2022 — настоящее время (4 года 3 месяца)
Проектная деятельность (Freelance / Independent Consultant) | DevOps Engineer
Ключевой проект А: EdTech-платформа (Миграция и автоматизация, 2025-2026)
- Задача: Перенос инфраструктуры из ручного управления (ClickOps) в Selectel с построением воспроизводимой DevSecOps-платформы
- Действия:
- Разработал модульную архитектуру Terraform (IAM, Network, Compute, Data слои)
- Реализовал связку Terraform → Ansible через Dynamic Inventory и GitLab Group Variables, исключив ручное обновление хостов
- Настроил Production-Ready Ansible CI/CD пайплайн с SSH-доступом через Bastion
- Разработал универсальный скрипт миграции БД (
db_migrate_v3.sh) с поддержкой PostgreSQL и автоматической верификацией целостности по таблицам
- Результат:
- Время развертывания нового окружения сократилось с 2–3 дней до 10-15 минут одной командой
- Миграция DEV и PROD баз данных выполнена с верификацией ~250 000+ строк
- Полностью исключен человеческий фактор
- ROI автоматизации: Окупаемость на 2-м проекте: экономия ~65 часов на каждое развертывание
Ключевой проект Б: Организация хакатона (Платформенная инженерия, 2026)
- Задача: Развертывание изолированной CI/CD-платформы для 5 команд на отдельном сервере
- Действия:
- Развернул GitLab CE на rootless Podman, решив нетривиальные проблемы с сохранением ACL на сокете после перезагрузки (через systemd drop-in) и сетевым стеком (netavark)
- Настроил двухуровневую систему бэкапов (Omnibus + secrets в S3)
- Создан единый платформенный репозиторий (
platform) с переиспользуемыми CI/CD workflow и стандартизированнымиdocker-composeманифестами - Внедрена система управления деплоем через CI-переменные (
DEPLOY_MODE,DB_TYPE,NEEDS_DB)
- Критический инцидент: Во время мероприятия несколько команд случайно подключались к чужим базам данных (общее имя сервиса
postgresв общей сети Podman) - Решение: Логика генерации переменных перенесена в скрипт
deploy-remote.sh. Теперь при каждом деплое скрипт автоматически формирует и пробрасывает в контейнер уникальные переменные окружения (например,DB_HOST=team-2-hackathon-backend-postgres), полностью исключая ручной ввод и коллизии - Аудит бэкапов GitLab: выявлены 2 root-cause роста архивов до 9.1 ГБ — архивация Container Registry и баг
GITLAB_OMNIBUS_CONFIG(параметры не сохранялись при перезапуске). Применены: флагSKIP=registryпри бэкапе и прямая запись вgitlab.rbчерез Ansible. - Результат:
- 5 команд работали параллельно без сетевых коллизий и взаимного влияния
- 0 изменений кода пайплайна со стороны наставников; все настройки через CI-переменные
- Размер бэкапа GitLab: ~9.1 ГБ → 44 МБ (в ~200 раз), время 15 мин → 48 сек
- Rootless-исполнение, автоматическая очистка ресурсов после мероприятия (полный демонтаж через Terraform)
Дополнительные достижения в проектной работе:
- Радикальная оптимизация артефактов:
- ML-образ: 5.24 GiB → 1.23 GiB (-77%)
- Frontend-образ: 875 MB → 22 MB (в 40 раз) через multi-stage build
- Глубокий системный траблшутинг:
- Устранил недоступность микросервисов (Hairpin NAT), переведя конфигурацию на внутренние Docker DNS-имена
- Расследовал “плавающие” 404 ошибки из-за зависания FUSE-маунта s3fs, восстановив сервис за минуты
- Эволюция резервного копирования (арка v1 → Restic):
- Первая попытка (v1) — кастомный скрипт синхронизации с S3 с проактивной диагностикой — дал видимость, но упёрся в системные пределы: собственный код нужно поддерживать, а шифрования и дедупликации в нём не было
- Расширение v1 отвергнуто: шифрование, дедупликацию и ротацию пришлось бы писать и поддерживать самостоятельно
- Выбран Restic — эти свойства встроены в инструмент (AES-256 на стороне клиента, дедупликация, retention-политики), задача — корректно их сконфигурировать и обернуть в надежную автоматизацию (Ansible-роль, user-level systemd-таймеры, честные exit codes, Runbook)
Ноябрь 2024 — Июнь 2025 (8 месяцев)
Qtim | DevOps Engineer
Обеспечивал надежность и эффективность CI/CD процессов для продуктовой компании с фокусом на веб-проекты (Nest.js, Nuxt.js). Отвечал за инфраструктуру в мульти-облачной среде (Yandex Cloud + AWS).
Ключевые достижения:
1. Оптимизация CI/CD пайплайнов
- Переработал GitLab CI конфигурации для фронтенд и бэкенд сервисов
- Внедрил кэширование зависимостей (node_modules, Docker layers), параллельное выполнение независимых jobs и auto-cancel устаревших пайплайнов при новых коммитах
- Результат: Среднее время деплоя сокращено на 20% (с 15 до 12 минут), что ускорило итерации разработки
2. Ключевое достижение — Внедрение Secrets Management
- С нуля развернул и интегрировал в рабочие процессы систему управления секретными данными Infisical
- Заменил хранение чувствительных данных (API-ключи, пароли БД, токены) в переменных GitLab CI и
.envфайлах на централизованное хранилище с версионированием, аудитом доступа и автоматической ротацией - Результат: Полностью исключил риск утечки секретов через репозитории и логи CI, обеспечил compliance требованиям безопасности, упростил онбординг новых разработчиков (доступ к секретам через единый интерфейс)
3. Внедрение Observability стека
- С нуля настроил систему мониторинга на базе Prometheus + Grafana для ключевых сервисов
- Разработал дашборды с метриками здоровья приложений (HTTP latency, error rate, saturation) и настроил алерты в Telegram при отклонениях от базовых порогов
- Результат: Время обнаружения инцидентов сокращено с часов до минут, команда получила прозрачную картину состояния сервисов
4. Работа с Kubernetes (Yandex Managed K8s)
- Настроил iOS Deep Links для мобильного приложения через кастомизацию Ingress контроллера NGINX
- Подключился к кластеру через kubectl, использовал аннотации
nginx.ingress.kubernetes.io/server-snippetдля добавления location-блоков - Параллельно решил аналогичную задачу на VPS (Selectel), устранив проблему с trailing slash в NGINX
Январь 2015 — Июль 2022 (7 лет 7 месяцев)
Госсектор | Системный администратор → Senior System Administrator
Администрировал гетерогенную сеть из 200+ рабочих станций и 15 серверов на базе Linux и Windows Server. Этот опыт заложил фундамент для перехода в DevOps.
Ключевые достижения:
- Разработал и внедрил систему автоматизированного резервного копирования на базе Bash-скриптов, что сократило время восстановления данных с 4 часов до 30 минут
- Спроектировал и модернизировал ЛВС (VLAN, маршрутизация, firewall), обеспечив бесперебойную работу критических сервисов
- Автоматизировал рутинные задачи (мониторинг состояния, отчетность), что освободило ~30% рабочего времени для стратегических задач
- Фундамент для DevOps: Глубокое понимание Linux (namespaces, cgroups, systemd), сетевого стека (TCP/IP, DNS, DHCP) и безопасности
🔬 Homelab / R&D
Развернул собственный лабораторный стенд для выхода за рамки VPS/Managed-парадигмы и отработки декларативной оркестрации на реальном железе.
Текущие инженерные задачи:
- Kubernetes HA-кластер «с нуля»: многонодовая сборка без Managed-решений, проработка Control Plane, etcd, CNI.
- Local AI на Apple Silicon (Mac Mini M4): инференс LLM-моделей, интеграция AI-инструментов в CI/CD.
- GitOps-цикл: ArgoCD для синхронизации состояния кластера с Git-репозиторием.
- Наблюдаемость: Prometheus + Grafana + Loki для мониторинга нод, подов и AI-нагрузок.
🎓 Образование
Высшее образование
2008 — Волгоградский государственный университет
Факультет: Физический
Специальность: Радиофизика и электроника (радиофизик)
Повышение квалификации
- 2024 — Диплом о профессиональной переподготовке по программе “Python-разработчик” (Яндекс Практикум)
- 2023 — Удостоверение о повышении квалификации по программе “DevOps для эксплуатации и разработки” (Яндекс Практикум)
- 2022 — Дополнительная профессиональная программа повышения квалификации “Инженер облачных сервисов” (Яндекс Практикум)
📬 Контакты
- Telegram: @chill_devops
- Email: sadchikovsg@gmail.com
- GitHub: github.com/sadchikovsg
- Портфолио: sadchikovsg.ru