Skip to content

Instantly share code, notes, and snippets.

@ybogdanov
Forked from diunko/GrammarlyDevOps.md
Created March 14, 2019 17:37
Show Gist options
  • Save ybogdanov/9e282a590ed38dd890d447107b4ab4c1 to your computer and use it in GitHub Desktop.
Save ybogdanov/9e282a590ed38dd890d447107b4ab4c1 to your computer and use it in GitHub Desktop.

Привет. Меня зовут Дима Унковский, я – ведущий разработчик в команде Platform в Grammarly, и я ищу хороших DevOps ребят в нашу команду.

Что делает ваша команда?

Наша область ответственности – облачная инфраструктура, сопутствующие инструменты и инфраструктурные сервисы. Улучшая их, мы делаем все, чтобы продуктовым командам было удобнее разрабатывать и поддерживать продукт Grammarly.

Что делает компания? Как вы работаете?

Grammarly – это AI-based Communication и Writing Assistant. Им сейчас пользуются более 10 миллионов пользователей ежедневно, и, в будущем, могут пользоваться все те 2 миллиарда человек, которые так или иначе пишут на английском.

Под капотом Grammarly около сотни сервисов. Над ними работают несколько инженерных команд, в трех офисах, в Киевe, Сан-Франциско и Нью-Йорке. Продуктовые команды максимально самодостаточны – они полностью отвечают за весь жизненный цикл сервиса, от написания кода, тестирования, до выкатки и поддержки в проде. Это возможно благодаря всем тем инструментам, которые разрабатывает и поддерживает команда Platform.

Структура компании максимально плоская. Мы часто общаемся с продуктовыми командами, и стараемся прочувствовать и понять их потребности. Мы создаем экосистему, или, если хотите, продукт для инженерных команд. Мы влияем на процессы в компании, приоритизируем, принимаем решения, и несем за них ответственность.

Что буду делать, когда/если приду к вам?

Поддерживать и приводить в порядок общие инфраструктурные сервисы. В какое-то ближайшее время будем делать более современные деплои, где-то позже – multi-region. Еще будет много IDS и другого security. По дороге будем делать proof-of-concept стенды решений, бенчмаркать, выбрасывать неподходящие, доводить подходящие до production-ready состояния и поддерживать их.

Какие тулы используете? Какой стек технологий?

Мы ценим простоту, и в инструментах, и в подходах. Доверяем коллегам, и даже когда что-то идет не так, подразумеваем best intent с их стороны. Стараемся отразить это в инструментах, которые мы предоставляем.

Максимально, где возможно, используем инфраструктуру AWS. Управляем ей as code, при помощи Terraform. Используем Packer для сборки AMI. Docker и Docker-compose, конечно же. В ближайших планах – переходить на более современную оркестрацию контейнеров, k8s или ECS. Teamcity/Jenkins. Используем Ubuntu, Amazon Linux. Ansible. Внутренние тулы написаны на Python и Golang.

Стараемся не делать вещи, которые уже сделаны хорошо кем-то еще. При прочих равных, будем скорее использовать 3rd-party сервис, чем поддерживать in-house решение. Например, с ELK недавно перешли на Sumo Logic. Graphite+Grafana+Sensu собираемся заменить на какого-то вендора, которого еще предстоит выбрать.

Ок, звучит интересно. А что от меня нужно?

Одно из главных – умение находить общий язык с людьми, и вообще коммуницировать. Человеку, который придет в команду, будут доверять критические для компании вещи, и одна из этих вещей – атмосфера взаимного уважения и командной работы. Важно уметь понимать точку зрения собеседника, уметь поставить себя на его место, конструктивно доносить свою позицию и вместе искать способы решения.

О технической части. Например, если ты Ops с хорошим опытом автоматизации, то этого должно хватить. Мы обращаем внимание на hands-on опыт с linux, знания networking, на опыт построения и поддержки highload HA сервисов. Нужно владеть каким-то scripting language. Отлично, если у тебя есть опыт построения и поддержки облачной инфраструктуры. Важно также критическое мышление и взвешенный, методичный подход.

В общем, золотой набор DevOps-инженера.

А подробнее?

Подробнее о том, как у нас все было и будет мы рассказали в нашем докладе. Пишите мне на [email protected], сразу с CV, или просто – пообщаемся.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment