Резюме
Персональные данные
- Город проживания: Ереван, Армения
- Часовой пояс: GMT+4/МСК+1
- Email: doublic[at]gmail.com
- Telegram: @strangeman
- Рассматриваю предложения о удаленной работе, готов обсудить релокацию
Коротко о себе
Более 13 лет в системном админинстрировании и эксплуатации. Сейчас специализируюсь на внедрении DevOps-практик, разработке и сопровождении инфраструктурной платформы и консультации разработчиков. Предпочитаю удаленную работу. Хобби: бег, настолки, компьютерные игры.
Компетенции
Умею и люблю
- Выстраивание процессов так, чтобы работало с миниммальным моим участием. Лучше подготовить необходимые инструменты, показать и рассказать как ими пользоваться и отдать в руки коллег-инженеров, чем быть узким горлышком, на которое замыкается слишком много;
- Kubernetes. До Kelsey Hightower мне далеко, но несколько лет эксплуатации в продакшене имеется. Однажды даже довелось менять CNI в живом кластере, получилось успешно, но повторять такое больше не хочется. С сопуствующим стеком типа Istio, Helm и прочего тоже поработал довольно плотно;
- Организация CI/CD это классно. Медитация на правильно настроенный пайплайн успокаивает и расслабляет. Тыкнув в кнопочку и получив развернутое и настроенное окружение, ощущаешь себя демиургом. А когда эта кнопочка доступна не только тебе, а удобна и для всех коллег - это вообще кайф;
- Хороший мониторинг (и логирование) - это довольно веселое испытание на баланс между манией контроля (хочу знать ВООБЩЕ ВСЕ о том, что происходит с окружением и приложениями) и ограниченными человеческими возможностями (слишком большой поток информации переварить человек все равно не в состоянии);
- Расследования - самая интересная часть работы. Все системы сейчас распределенные в большинстве своем, и докапываться до сути проблем с разработчиками и тестировщиками всегда чертовски увлекательно. Предыдущий пункт про правильный мониторинг в этом обычно отлично помогает;
- Документация. В анамнезе есть опыт работы новостным журналистом, наверное, это легкая стадия графомании. Ну и страсть к контролю никто не отменял. Когда все описано, причем так, что документацией могут воспользоваться окружающие - это прекрасно. По факту, тот же пайплайн, только про человеков и словами;
- Работа в небольших кроссфункциональных командах намного интереснее, чем кручение своей строго определенной гайки отсюда и до обеда. Короче цикл обратной связи, проблемы разнообразнее, но и найти того, кто с ними поможет (или погрузиться самому) куда проще;
- Программирование. Разработчиком себя назвать не могу, но создать необходимый инструментарий на Python, Go или Ruby в состоянии.
Умею, но не особо люблю (но время от времени приходится)
- Честно, не люблю возню с сетями. Сложные правила для iptables крутил миллион лет назад, всякие хитрые VLANы - и того раньше. При надобности все эти знания легко освежаются, но надобности такой давно уже не возникало;
- Сложные рутинные ручные процедуры с нечеткими алгоритмами выполнения. Выматывает жутко. По возможности стараюсь перестроить процесс либо автоматизируя, либо хотя бы декомпозируя и составляя документацию для работы в brainless режиме. К сожалению, такое не всегда возможно;
- Есть опыт выстраивания системы развертывания инфраструктуры и доставки кода для Windows (все через Ansible), но это не то, чем хотелось бы постоянно заниматься;
- Проектная работа. Не люблю работу в ритме “кинули тушить пожар, только-только привел все в порядок - иди разгребай следующий”. Без пожаров и соответствующего выгорания работать куда интереснее.
Умею не так хорошо, как хотел бы
- High Load и High Availability. Не было проектов с очень высоким RPS, так что какие-то ошибки наверное прощались. А так, конечно же со всяческим резервированием и балансировками позаниматься доводилось;
- Управление командой и менеджмент проектов. Несколько лет руководил небольшой командой, но каких-то вызовов в этом не было, ребята все адекватные, сильные специалисты, так что сильно прокачаться было не на чем;
- Есть небольшой опыт участия в конференциях, хотелось бы развивать его дальше;
- Облака. Вся работа с облачными провайдерами сводилась к написанию довольно типового Terraform (Terragrunt точнее) кода для деплоя статики в S3 и настройки CloudFront distribution перед ним. Да и то, после пары повторений и обкатки отдали всё это в хозяйство фронтендерам, теперь они сами себе инфраструктуру создают и манифесты для этого пишут.
Список buzzword’ов для поисковых систем (если вы вдруг ищете не человека, а набор скиллов)
DevOps, Kubernetes, Linux, Docker, CI/CD, Prometheus, Grafana, ELK, Graylog, Golang, Python, Ansible
Места работы
United Traders, Системный инженер, тимлид команды инфраструктуры (Август 2016 - настоящее время)
Полная занятость, удаленная работа. Занимаюсь проектированием и обслуживанием dev-, test- и prod- инфраструктуры компании, разработкой и поддержкой инфраструктурной платформы и поддержкой разработчиков. По мере расширения отдела эксплуатации появился функционал тимлида.
Достижения:
- Построил (не один, конечно, но планировал и вёл проект) платформенную команду, предоставляющую разработчикам Infrastructure Platform as a Service, позволившую разработчикам самостоятельно обслуживать весь цикл разработки приложения, от создания репозитория, до выкатки в прод и эксплуатации;
- Поэтапно перевел сборку и выкатку микросервисов сначала в Docker, а затем в bare-metal и managed кластера Kubernetes;
- Настроил процесс интеграционного тестирования внутренних микросервисов компании с помощью Jenkins, Kubernetes и Ansible;
- Внедрил сбор метрик на уровне ОС и приложений с помощью Prometheus, сбор логов и ошибок с помощью Graylog и Sentry, а также алертинг на появление аномалий в метриках и логах;
- Настроил автоматическую выкатку новых Windows-серверов с помощью Ansible и libvirt;
- Внедрил какую-никакую отказоусточивость (HA-кластера Postgres, Clickhouse, Kafka), балансировку бэкендов и фронтендов (nginx, haproxy).
Hexlet, Наставник курса DevOps для программистов (Ноябрь 2021 - Май 2022)
Частичная занятость, удаленная работа. Проводил вебинары, ревьюил проекты студентов и консультировал их по возникающим вопросам. В общем, делился опытом и рассказывал про DevOps-практики и всякие хитрости в эксплуатации.
Express42, Стажер на должность инженера (Май 2016 — Август 2016)
Полная занятость, удаленная работа. В течение месяца проходил обучение и затем два месяца работал с реальными задачами.
Достижения:
- Участвовал в разработке 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.