Вакансия в архиве
Компания больше не ищет сотрудника. Посмотрите похожие предложения
Yandex Cloud

C Developer

в Yandex Cloud

200 000 —‍ 370 000 ₽/мес на руки

📍 Белград (Сербия)Астана (Казахстан)Ереван (Армения)Санкт-ПетербургМоскваПолная удалёнкаПомощь с переездом
Специализация
С
Уровень
Senior
Команда
6 - 10 человек

Наша команда отвечает за software-часть внешней сетевой связности в Yandex Cloud. Мы строим систему доставки трафика для разных сценариев: IPv4-связность, Cloud Interconnect, Egress NAT, сетевой балансировщик нагрузки. Эти сервисы обслуживают десятки миллионов пакетов в секунду. У нас микросервисная архитектура control plane с gRPC-транспортом и Yandex Database в качестве хранилища данных. Команда называется так, потому что является своего рода вратами (gate) в Облако (cloud).

Технологии/инструменты

CGo

Про сервис CloudGate

Команда CloudGate занимается разработкой и обслуживанием следующих сервисов:

  • Cgw-ipv4 (cgw - Cloud GateWay, CGW). Обеспечивает внешнюю сетевую связность по IPv4. Если ваша виртуальная машина в Yandex.Cloud имеет публичный IPv4 адрес, то во внешнюю сеть она ходит через cgw-ipv4.
  • Cgw-ipv6. Обеспечивает связность по IPv6, пока используется только самим Yandex.Cloud.
  • Egress-nat. Обеспечивает внешнюю сетевую связность по IPv4 для виртуальных машин без собственного IPv4 адреса. Фактически, работает как ваш домашний роутер: имеет набор публичных адресов, и обеспечивает трансляцию между публичными и приватными адресными пространствами.
  • Cgw-dc. Обеспечивает прямую связность Yandex.Cloud с частными инфраструктурами клиентов cgw-dc. Позволяет строить безопасный транспорт с широким гарантированным каналом.
  • Load-balancer, он же nlb. Сетевой балансировщик нагрузки (L4), обеспечивает внешнюю и внутреннюю связность вида "один ко многим", повышает отказоустойчивость сервисов наших клиентов.

Сеть можно условно поделить на "железную" и "программную". Последнюю, в свою очередь, можно поделить на внутреннюю и внешнюю. Команда CloudGate строит сервисы для внешней сетевой связности, напрямую взаимодействуя с "железной" и программной внутренней сетями.

О команде

  • Наша распределённая команда объединяет разработчиков из Москвы, Екатеринбурга и Новосибирска. Кто-то работает в офисе, кто-то удалённо.
  • Периодически мы берём командировки и собираемся все вместе, потому что пользу общения лицом к лицу никто не отменял.
  • Члены команды являются специалистами в разных областях, кто-то пишет dataplane на C, кто-то сервисы на Go, работа найдётся всем.
  • В команде используется Agile подход к планированию. Есть долгосрочное планирование с ежеквартальной синхронизацией с бизнесом и смежными командами. Разработка ведётся двухнедельными спринтами, синхронизация идёт ежедневными встречами.

Процессы и подходы к разработке

  • В команде используется Agile подход к планированию. Есть долгосрочное планирование с ежеквартальной синхронизацией с бизнесом и смежными командами. Разработка ведётся двухнедельными спринтами, синхронизация идёт ежедневными встречами.
  • Команда сама отвечает за работоспособность своих сервисов, поэтому существует роли основного и запасного дежурных. В среднем приходится около одного дежурства в неделю. Дежурный отвечает за обработку срабатыаний мониторинга и обращений смежников, в том числе L2 поддержки. Это стандартная практика для Yandex.Cloud.
  • Приоритетными задачами для нас являются стабильная и надёжная работа сети. Сервисы проектируются с расчётом на работу в случае частичных отказов, поощряется автоматические действия по восстановлению работоспособности отдельных компонентов.
  • Производительность является важной частью надёжности, мы стараемся обеспечить как вертикальное масштабирование отдельных узлов, так и горизонтальное машстабирование всей системы в сборе.
  • Для проектирования новых сервисов или крупных изменений в существующих мы устраиваем внутренние дизайн-ревью, на которых обсуждаем предложенные подходы и их плюсы и минусы (как известно, в systems design нет идеального решения, а любое решение — это всегда набор trade offs).

Наши задачи

  • Увеличить масштабируемость сервисов в десятки раз.
  • Разрабатывать и внедрять новые сетевые сервисы.
  • Улучшать внутреннюю архитектуру, оптимизировать взаимодействие со смежными сервисами.

Что нужно делать

  • Разрабатывать control plane и data plane сетевых сервисов Yandex Cloud.
  • Улучшать производительность и надёжность сервисов.
  • Автоматизировать работу сложных сценариев кросс-сервисного взаимодействия.
  • Проводить нагрузочное тестирование сервисов: прокачка BGP full view и т. п.

Ожидания

  • Хорошо разбираетесь в виртуальных сетях и оверлеях, SDN, NFV, DPI, сетевых протоколах, маршрутизации и туннелировании, BGP, MPLS.
  • Пишете надёжный высокопроизводительный код.
  • Хорошо знаете Go или C.

Будет плюсом:

  • Работали с VPP, DPDK, сетевой подсистемой ядра Linux.
  • Знаете методы горизонтального и вертикального масштабирования сервисов.
  • Работали с IaaS-сервисами в публичных облаках.
  • Практикуете IaC-подход.
Илья Рыжов Talent Partner
Yandex Cloud

О компании Yandex Cloud

Сфера
Продуктовая компания
Размер
1001+

Yandex Cloud — публичная облачная платформа, которая предоставляет корпорациям, среднему бизнесу и частным разработчикам масштабируемую инфраструктуру, сервисы хранения данных, инструменты машинного обучения и средства разработки. С 2018 года платформа выросла вдвое не только по суммарному доходу, но и по клиентской базе: ежедневно сервисы используют более 10 тысяч компаний.

Похожие вакансии

6 000 – 9 000 $/мес на руки
Полная удалёнка
5 000 – 8 000 $/мес на руки
📍 Испания, Сербия, Любая страна по договоренности, полная удалёнка, помощь с переездом
4 500 – 9 000 €/мес на руки
📍 Амстердам (Нидерланды), Белград (Сербия), помощь с переездом
4 500 – 5 500 €/мес на руки
📍 Лимасол (Кипр), помощь с переездом
4 200 – 6 600 €/мес на руки
📍 Берлин (Германия), помощь с переездом