Базовые навыки
•Опыт поддержки высоконагруженных систем 24/7 на виртуальных машинах.
•Понимание SLA/SLO/error budgets, практики инцидент‑менеджмента, эскалаций, post‑mortem, работа в дежурствах, умение стабилизировать систему в сжатые сроки, а затем разбираться с причиной.
•Администрирование Linux (Ubuntu/CentOS/Debian) на уровне уверенного пользователя. Управление пакетами, мониторинг ресурсов (htop, iotop, vmstat, sar), диагностика узких мест (CPU, RAM, I/O, сеть), работа с файловыми системами, понимание load average, swap, OOM killer.
•Работа с виртуальными инфраструктурами: практический опыт эксплуатации сред на базе VMware Cloud Director и/или Microsoft Azure Stack HCI — создание/масштабирование VM, управление шаблонами, контроль квот, планирование ёмкости, понимание особенностей жизненного цикла ВМ, снимков (snapshots), миграций.
•Работа с процессами и службами: Systemd (юниты, таймауты, перезапуски, логи через journalctl), понимание graceful shutdown для .NET‑приложений, управление жизненным циклом процессов, корректная обработка сигналов.
•Сетевая диагностика: tcpdump, ss, netstat, curl/telnet, traceroute, понимание TCP‑стека, таймаутов, TIME_WAIT, исчерпания портов, DNS, TLS‑рукопожатий; умение быстро локализовать проблему между клиентом, сетью и сервером.
•Мониторинг и алертинг: Prometheus + Node Exporter + Blackbox Exporter, Grafana, алерты на ключевые метрики (CPU, RAM, диск, сеть, latency HTTP‑эндпоинтов, ошибки 5xx). Умение писать алерты так, чтобы они не шумели при плановых работах.
•CI/CD и GitHub: GitHub Actions, понимание workflow, branch‑стратегий, PR‑ревью, версионирования релизов, деплоя артефактов (бинарники/DLL) на VPS/VM, rollback‑сценариев, контроля целостности (checksums/signatures).
•Безопасность на уровне сервера и гипервизора: SSH (ключи, запрет root, fail2ban), фаерволы (iptables/nftables/ufw), базовые принципы hardening, управление пользователями и правами, аудит доступа, ротация ключей и паролей; понимание политик безопасности в рамках VMware/Azure Stack HCI.
•Работа с MySQL: настройка и мониторинг (innodb_buffer_pool, slow query log, индексы, репликация, бэкапы), диагностика блокировок и долгих запросов, понимание влияния БД на производительность C#‑сервисов, опыт работы с версиями 8.0.x и готовность к миграции на 8.4.x.
•Автоматизация: Bash/PowerShell, Python/Go на уровне написания скриптов для деплоя, бэкапов, сбора метрик, анализа логов, восстановления сервисов.
Технические (желательно/преимущество)
•Глубокая диагностика .NET‑приложений на Linux: умение читать логи ASP.NET Core, работать с correlation ID, понимать влияние runtime на latency/throughput, диагностировать memory leaks, GC pressure, thread pool exhaustion, проблемы с HttpClient (connection pool exhaustion). Инструменты: dotnet trace, dotnet counters, perf.
•Понимание модели развёртывания .NET без контейнеров: запуск через systemd, управление переменными окружения, конфигами (appsettings.json), сигналами ОС, graceful shutdown, обработка ошибок при старте/остановке.
•Навыки работы с файловой системой и логированием: структурированные логи (JSON), ротация (logrotate), агрегация (rsyslog/fluentd), поиск по логам (grep/awk/jq), корреляция событий по correlation ID.
•Резервное копирование и восстановление: стратегии бэкапов (дифференциальные/инкрементальные), проверка восстановления, RPO/RTO, хранение бэкапов вне продакшна, контроль целостности.
•Capacity planning и прогнозирование: оценка нагрузки по CPU/RAM/I/O/сети, планирование масштабирования (добавление новых VM), понимание точек насыщения, подготовка к пиковым нагрузкам, учёт лимитов в VMware Cloud Director/Azure Stack HCI.
•Практики снижения toil: автоматизация типовых операций (перезапуск, сбор статистики, проверка статуса), создание runbooks, playbooks, чек‑листов, чтобы рутина не съедала время.
•Основы ClickHouse (как план развития): понимание сценариев, где ClickHouse лучше MySQL (аналитические запросы, агрегации, большие объёмы событий), умение проектировать простые схемы, базовые запросы, понимание различий в консистентности и гарантиях.
Дополнительные требования
•Деплой без контейнеров и понимание контейнеризации: кандидат должен уметь упаковывать и доставлять .NET‑артефакты (publish output) на VM, управлять зависимостями, проверять целостность, настраивать systemd‑юниты. При этом важно понимание, как в будущем перейти на контейнеры/оркестрацию: базовые концепции Docker, Kubernetes (rolling updates, canary/blue‑green, rollback, readiness/liveness probes, ConfigMap/Secrets), чтобы участвовать в проектировании миграции.
•Конфигурация без секретов‑менеджеров, а также работа с секрет-менеджерами: работа с переменными окружения и конфиг‑файлами, понимание рисков хранения секретов в файлах, базовые практики безопасности (права на файлы, шифрование при хранении, ротация), контроль доступа к конфигам. Готовность к переходу на более зрелые практики при внедрении контейнеров.
•MySQL + ClickHouse: глубокое понимание транзакций, блокировок, индексов, плана запросов (EXPLAIN), медленных запросов, репликации, бэкапов; умение видеть влияние БД на стабильность сервиса и предлагать быстрые решения. Параллельно — понимание, какие нагрузки лучше выносить в ClickHouse (логи, события, аналитика), как организовать ETL/выгрузку данных, как избежать двойной записи и рассинхронизации.
•Обработка ошибок: обработка ошибок и повторных попыток на уровне C#‑кода (Polly, retry/backoff, circuit breaker), понимание идемпотентности, ручная реализация очередей (если есть) через таблицы MySQL или файловые очереди, обработка дубликатов.
•Виртуализация и масштабирование: опыт работы с квотами, шаблонами, снимками, миграциями в VMware Cloud Director и/или Azure Stack HCI; понимание, как быстро поднять новые VM под нагрузку, как контролировать рост парка, как автоматизировать provisioning (скрипты, API гипервизоров).
•Тестовые сервера: автоматизация создания/удаления тестовых окружений, управление их жизненным циклом, чтобы не разрастались, изоляция тестовых данных, быстрые сценарии развёртывания на тестовых VM.
•Критичная структура 24/7: опыт стабилизации деградировавших сервисов — отключение некритичных функций, деградация функционала, увеличение таймаутов, отключение тяжёлых операций, быстрый rollback, ручное масштабирование критичных сервисов.
Софт‑скиллы
•Документирование: runbooks, troubleshooting guides, инструкции по восстановлению, описание архитектуры и зависимостей, матрицы инцидентов, описание типовых проблем и решений, включая сценарии миграции (MySQL → ClickHouse, VM → контейнеры).
•Коммуникация: умение объяснять технические проблемы и решения разработчикам на C#, тестировщикам, менеджерам, поддержке; переводить между бизнес‑метриками и техническими метриками.
•Планирование и приоритезация: работа с техническим долгом, планирование улучшений надёжности, оценка рисков изменений, приоритезация задач по снижению риска простоя, участие в планировании этапов миграции на новые технологии.
•Английский язык: чтение документации, баг‑репортов, общение в чатах и на встречах — уровень не ниже B2.