Персональные данные

  • Город проживания: Комсомольск-на-Амуре, Россия
  • Часовой пояс: GMT+10/МСК+7
  • Email: doublic[at]gmail.com
  • Telegram: @strangeman
  • Skype: imstrangeman
  • Рассматриваю предложения о удаленной работе

Компетенции

Умею и люблю

  • Организация CI/CD это клево. Медитация на правильно настроенный пайплайн успокаивает и расслабляет. Тыкнув в кнопочку и получив развернутое и настроенное окружение, ощущаешь себя демиургом. А когда эта кнопочка доступна не только тебе, а удобна и для всех коллег - это вообще кайф;
  • Хороший мониторинг (и логирование) - это довольно веселое испытание на баланс между манией контроля (хочу знать ВООБЩЕ ВСЕ о том, что происходит с окружением и приложениями) и ограниченными человеческими возможностями (слишком большой поток информации переварить человек все равно не в состоянии);
  • Расследования - самая интересная часть работы. Все системы сейчас распределенные в большинстве своем, и докапываться до сути проблем с разработчиками и тестировщиками всегда чертовски увлекательно. Предыдущий пункт про правильный мониторинг в этом обычно отлично помогает;
  • Документация. В анамнезе есть опыт работы новостным журналистом, наверное, это легкая стадия графомании. Ну и страсть к контролю никто не отменял. Когда все описано, причем так, что документацией могут воспользоваться окружающие - это прекрасно. По факту, тот же пайплайн, только про человеков и словами;
  • Работа в небольших кроссфункциональных командах намного интереснее, чем кручение своей строго определенной гайки отсюда и до обеда. Короче цикл обратной связи, проблемы разнообразнее, но и найти того, кто с ними поможет (или погрузиться самому) куда проще;
  • Программирование. Разработчиком себя назвать не могу, но создать необходимый инструментарий на Python, Go или Ruby в состоянии.

Умею, но не особо люблю (но время от времени приходится)

  • Честно, не люблю возню с сетями. Сложные правила для iptables крутил миллион лет назад, всякие хитрые VLANы - и того раньше. При надобности все эти знания легко освежаются, но надобности такой давно уже не возникало;
  • Сложные рутинные ручные процедуры с нечеткими алгоритмами выполнения. Выматывает жутко. По возможности стараюсь перестроить процесс либо автоматизируя, либо хотя бы декомпозируя и составляя документацию для работы в brainless режиме. К сожалению, такое не всегда возможно;
  • Есть опыт выстраивания системы развертывания инфраструктуры и доставки кода для Windows (все через Ansible), но это не то, чем хотелось бы постоянно заниматься;
  • Проектная работа. Не люблю работу в ритме “кинули тушить пожар, только-только привел все в порядок - иди разгребай следующий”. Без пожаров и соответствующего выгорания работать куда интереснее.

Умею не так хорошо, как хотел бы

  • Kubernetes. Умею, но, на мой взгляд, недостаточно. Отчасти сказывается нелюбовь к сетям, это стреляет в ногу при углублении в тему администрирования кластера. С точки зрения администирования и развертывания приложений особых проблем нет;
  • High Load и High Availability. Аналогично, на мой взгляд, еще недостаточно в этом прокачан, но работаю над этим. С другой стороны - это ж непрерывный процесс саморазвития;
  • Управление командой и менеджмент проектов. Пока это довольно новый мир, но потихоньку в нем осваиваюсь. Проблема та же, что и с мониторингом: границы контроля и ответственности :)
  • Есть небольшой опыт участия в конференциях, хотелось бы развивать его дальше.

Список buzzword’ов для поисковых систем (если вы вдруг ищете не человека, а набор скиллов)

DevOps, Linux, Docker, CI/CD, Prometheus, Grafana, ELK, Graylog, Golang, Python, Ansible, Kubernetes

Места работы

United Traders, Системный инженер (Август 2016 - настоящее время)

Полная занятость, удаленная работа с Московским часовым поясом (7 часов разницы). Занимаюсь проектированием и обслуживанием dev-, test- и prod- инфраструктуры компании, релиз-инжинирингом и поддержкой разработчиков. По мере расширения отдела эксплуатации появился функционал тимлида.

Достижения:

  • Настроил процесс интеграционного тестирования внутренних микросервисов компании с помощью Jenkins, Kubernetes и Ansible;
  • Внедрил сбор метрик на уровне ОС и приложений с помощью Prometheus, сбор логов и ошибок с помощью Graylog и Sentry, а также алертинг на появление аномалий в метриках и логах;
  • Настроил автоматическую выкатку новых Windows-серверов с помощью Ansible и libvirt;
  • Сначала перетащил процесс доставки кода с полуручного на Ansible, потом обернул все в Docker, теперь постепенно уносим все в Kubernetes (bare metal). Разработчики и тестирование живет в k8s, продакшн обкладываем соломкой со всех сторон пока;
  • Внедрил какую-никакую отказоусточивость (HA-кластера Postgres, Clickhouse, Kafka), балансировку бэкендов и фронтендов (nginx, haproxy).

Express42, Стажер на должность инженера (Май 2016 — Август 2016)

Полная занятость, удаленная работа с Московским часовым поясом (7 часов разницы). В течение месяца проходил обучение и затем два месяца работал с реальными задачами.

Достижения:

  • Участвовал в разработке community- и внутренних Chef-кукбуков компании;
  • Участвовал в аудите ИТ-инфраструктуры клиента и формировании требований к ее улучшению;
  • Участвовал в докеризации и развертывании на демо-стенде DC/OS части инфраструктуры клиента;
  • Провел масштабное сравнительное исследование существующих систем оркестрации контейнеров: DC/OS, Kubernetes, Aurora, Fleet, Nomad, Docker Swarm.

Upwork, Системный администратор Linux (Сентябрь 2013 – Май 2016)

Частичная занятость (8-10 часов в неделю). В основном работал с тремя постоянными клиентами, занимался администрированием веб-серверов и обслуживанием (администрирование, оптимизация, мелкие правки в коде) WordPress сайтов. Изредка выполнял заказы на написание плейбуков и модулей для Ansible и Puppet, а также BASH-скриптов.

Достижения:

  • Оптимизировал высоконагруженные веб-сервера (lamp стек) для беспроблемной работы с более чем миллионом пользователей в сутки;
  • Написал необходимую конфигурацию и развернул с помощью Ansible ферму из 40 серверов (load-balancing, раздельные фронтенд-сервера для посетителей и сотрудников сайта, централизованный мониторинг и сбор логов);
  • Написал модуль для CPanel, позволяющий через хуки автоматически предустанавливать кастомизированный WordPress пользователям.

Солнце, сеть магазинов стройматериалов и мебели, Системный администратор (Октябрь 2013 – Апрель 2016)

Полная занятость, работа в офисе. Администрировал инфраструктуру компании, распределенную по 12 филиалам в 2 городах. В инфраструктуру входило, в общем-то, все: веб-сервера, терминальные Windows-сервера, файлсервера, Asterisk PBX, LDAP, Hyper-V и ProxMox кластеры, Git-сервер. Всего мной обслуживалось порядка 100 серверов, из них около 80 – виртуальные.

Достижения:

  • Привел Linux-сервера к одному “базовому” модулю Ansible, отражающему стандарт настройки серверов в компании и позволяющему централизованно управлять обновлениями, мониторингом и бэкапами;
  • Развернул среду для тестирования изменений в этом модуле (Test-Kitchen + Vagrant + BATS-тесты);
  • Настроил хранение и деплой из Git сложных конфигураций (Asterisk, Bacula) с тестированием корректности изменений после деплоя;
  • Перенес в кластер Hyper-V большую часть Windows-серверов компании.

ООО “Дальстраж”, разнопрофильный холдинг, Системный администратор (Сентябрь 2008 – Октябрь 2013)

Полная занятость, работа в офисе. Начинал как помощник системного администратора, потом, после ухода предыдущего сотрудника, сам стал администрировать. Обслуживал около 50 серверов, расположенных в 8 офисах по городу и объединенных в одну сеть через OpenVPN.

Достижения:

  • Разработал и внедрил автоматическое развертывание пользовательского рабочего места (Ubuntu 12.04) с помощью Puppet;
  • Виртуализовал значительную часть сервисов компании, перенеся их в OpenVZ контейнеры на ProxMox;
  • Внедрил централизованный мониторинг всех серверов с помощью Zabbix.

Профили и проекты