Есть ли в эпоху повального использования облачных сервисов место для сетевого инженера в штате? Казалось бы, информационные системы настолько продвинулись, что «лишнюю» ставку можно убрать, а зарплатный фонд распределить между другими сотрудниками. Или сетевики всё же нужны?

Алексей Учакин, спикер Слёрма по направлению «Сети для DevOps», поделился своим мнением и ответил на насущный вопрос: «Быть или не быть профессии сетевого инженера».

Если мы прямо сейчас заглянем на HeadHunter с запросом на сетевого инженера, то агрегатор выдаст меньше 250 вакансий. И это из 40 000 тысяч объявлений о поиске программиста. Получается, не нужны? 

Забегая вперед, скажу: нужны, они решают вполне определенные, пускай и узкие, задачи. Остается всё меньше сценариев, когда собственная сеть и on-prem-инфраструктура выгоднее для бизнеса. 

При этом сети окружают нас повсюду. Практически любое приложение, от 1С до платформы с микросервисами, от IoT до суперкомпьютеров, использует сеть. Нужно настроить связь с базами данных, другими микросервисами, общаться с клиентами... Так что команде эксплуатации и разработчикам хорошо бы понимать, что происходит в тех самых «облачках», которыми на схемах обычно изображают сеть.

В каких компаниях можно встретить сетевиков:

  • Операторы связи, сервисные компании и прочие интеграторы. Сеть для таких организаций - это основа бизнеса. Они либо напрямую продают связность (операторы), либо оказывают услуги по запуску/обслуживанию сетей своих заказчиков.

  • Энтерпрайзы с большой инфраструктурой. 

  • Крупные продуктовые компании, которые разрабатывают и эксплуатируют собственные платформы (маркетплейсы, доски объявлений и т.д)

Подробнее о профессии сетевого инженера я рассказывал год назад в этой публикации.

Но если сетевой инженер владеет Linux и понимает, как система работает с сетью, какие есть инструменты для настройки и дебага, то ценность такого специалиста возрастет в разы. Или наоборот, сисадмин или DevOps/SRE разбирается в “сетевой магии”.

В больших компаниях бывает так, что сетевые инженеры общаются с остальными коллегами из эксплуатации (серверными системными администраторами, SRE, DBA), специалистами разработки будто бы на разных языках. Сетевик знает, как работают коммутаторы и роутеры, но слабо представляет, что творится на конечных хостах или в контейнерах. Сисадмины же, ввиду слабого знания сетей, не могут толком провести диагностику или правильно настроить сетевой стек ОС. И те, и другие отправляют своих визави изучать матчасть (ты ж инженер!), вот только толку от этого обычно немного: теряется время, а отношения между отделами и сотрудниками лучше не становятся.

Ещё одна причина прозаичная и злободневна. Из-за санкций и кризиса производства купить сетевое железо стало достаточно сложно, и альтернативой привычным роутерам и фаерволам могут стать вполне себе серверы на Linux. Не обязательно даже использовать какой-то специализированный дистрибутив — для начала хватит обычного-привычного debian / ubuntu / centos (подставить по вкусу), приправленного iptables/nftables, strongswan, openvpn, wireguard и инструментами net-utils, например.

Применение новым компетенциям найдётся очень быстро: от грамотной настройки фаервола на продакшене и оптимизации сети в Кубере до настройки домашнего роутера на Rasberry Pi.

Накидаю несколько вариантов развития событий. 

Самое простое: «Перестал работать пинг и софт не ставится». В чём причина? Есть ли связь с роутером? Правильно ли настроен DNS? А может, проблема не в ВМ, а в роутере или даже у провайдера?

Или, например, пропал доступ к зарубежному ресурсу. Это они заблокировали пользователей из РФ? Или это «проделки» РКН? А если доступ нужен не с личного ноутбука (где можно и vpn любой поставить) а с продакшен-сервера? А если доступ есть, но загрузка время от времени отваливается? Часами гуглить, применяя одно решение за другим — не наш метод. Гораздо продуктивнее будет потратить несколько часов на изучение того, как всё устроено, а не раз за разом искать подходящее ad-hoc решение с форумов.

Этой осенью мы запускаем курс по сетям на Linux для DevOps. Разберём, как работать с сетями и как эффективно использовать их в работе.

Комментарии (11)


  1. OrsoRosso2142
    22.07.2022 21:25
    +10

    Знание как работает сеть, это по мне все равно что химия для врача или физика для электронщика. Доходит до идиотизма, когда с нами общается вендор и разрабочики оттуда просят пробросить какой нибудь порт отсюда до туда, спрашиваешь например а какой протокол? В ответ можно получить, ну выж админы вам лучше знать какой протокол для этого порта). Или тут случай был взяли новичка девопса, так он понатырил кучу айпишников от чего сеть дурака валяла, когда спросили его накой хрен ты это сделал? Ты хотя бы nslookапнул хотя бы, на что было полное непонимание процесса и ответ в духе ну раз у меня настройки применились я думал адрес свободен... Что творится в хелпдеске или еще где мне даже представлять страшно, а ведь это основы и такие не сказать бы что прямо очень глубокие.


    1. randomsimplenumber
      22.07.2022 23:19
      -5

      разрабочики оттуда просят пробросить какой нибудь порт отсюда до туда, спрашиваешь например а какой протокол

      Не нужно усложнять ;) Если протокол не уточняют - значит raw TCP. Или UDP, чтобы не вставать 2 раза - пробросить оба. Думаю, если бы им хотелось странного, типа FTP на нестандартный порт - так бы и сказали.


      1. crion
        22.07.2022 23:25

        Сходу я так вообще про ssh подумал.


      1. OrsoRosso2142
        23.07.2022 00:01
        +2

        Имелось ввиду не стандартный порт а что то вроде 22222 и там именно не понимание какой протокол используется, понятно что это не большая проблема, но все таки уровень очень сильно хромает и это затронута только сеть, но надо сказать настоящих гениев тоже хватает, с ними как то даже иногда неловко в одной конфе в тимсе находиться)


        1. iig
          23.07.2022 11:22
          +1

          не стандартный порт а что то вроде 22222

          Ну допустим это ssh. Или https. Или RDP. Есть разница, каким образом эти порты пробрасывать?


          1. SerjV
            23.07.2022 14:20
            +1

            Ну допустим это ssh. Или https. Или RDP. Есть разница, каким образом эти порты пробрасывать?

            Достаточно знать, TCP это или UDP, но есть нюанс - если на самом деле не собираться выполнять запрос на проброс порта, а, скажем, завернуть его на прокси или реверс-прокси. Тогда протокол имеет значение.


          1. Numen_Divinum
            23.07.2022 15:26
            +3

            Для NGFW есть, например. Если сигнатуры пакетов не соответствуют заявленному приложению, трафик не пройдёт.


    1. rustemka
      24.07.2022 10:35

      Постоянно встречаю описанный вами кейс про девопсов с таким уровнем знаний в сетях. При том это и джуны, которые просят кучу денег со старта, и мидлы которые занимались только стильномодномолодежными вещами. Такого же уровня знания у них и в базовых вещах на уровне ОС: какие бывают файловые системы и чем отличаются, что такое LVM, как осуществлять мониторинг работы служб и подобные моменты. Пытаемся их внутри обучать базе, но успехов (из-за нехватки желания обучаемых - ибо "а нафига оно мне") пока мало.


  1. pon007
    25.07.2022 09:58

    Слабо представляю сисадмина, который вообще не разбирается в сетях.


    1. SerjV
      25.07.2022 11:47

      Для замены картриджей в принтерах и использования роутера с DHCP - такие знания не нужны, а назваться админом - уже можно. Да, SoHO, в статье же правильно говорят про энтерпрайз. Да, таких специалистов надо меньше, чем "специалистов по замене картриджей и установке винды", но тут и уровень ответственности другой.


  1. hogstaberg
    25.07.2022 14:37

    Да вообще то знание сетей буквально таки жизненно необходимо если вам, скажем, нужно построить и обслуживать какой-либо HA сервис. В противном случае вам обеспечена гора костылей и велосипедов при худших показателях доступности. Я в своей жизни повидал такое количество невероятных вариаций самописных велосипедов, созданных от незнания того, что требуемую задачу можно гораздо проще решить на сетевом уровне - мммм... )