что нужно знать чтобы быть хорошим сисадмином

Как стать системным администратором — пособие для начинающих (часть 1)

Так получилось, что эту весну я провёл в поисках/собеседованиях людей аж на четыре вакансии, связанные с системным администрированием. Я пообщался с несколькими десятками людей и заметил характерные ошибки и проблемы, с которыми они сталкиваются. Излагаю то, что заметил, а так же свои мысли, как эти проблемы решить.

scope: начинающие системные администраторы, помощники системных администраторов и т.д. Опытным администраторам, а так же тем, кто имеет вполне конкретную специализацию будет если и интересно, то бесполезно.

Примерная структура цикла статей — я опишу то, как мне видится профессия системного администратора, разберу текущее отношение к профессии со стороны работодателя, потом попробую дать общую информацию о том, с чего начинать и куда двигаться дальше.

Какие бывают системные администраторы?

Если очень огрублять, сисдамины бывают со специализацией, и без специализации. Обычно карьеру начинают без специализации, потом имеют несколько «загнувшихся» веток развития и одну-две-три, в которой проходит дальнейшая жизнь (классические «билды» персонажей в RPG очень хорошо соответствуют этому). Сисадмин без специализации — эникейщик-переросток (я этот тезис разберу чуть ниже). Однако, востребованность сисадмина узкой специализации ниже (если считать в штуках вакансий), чем сисадминов универсалов (этот тезис я тоже раскрою ниже). Однако, при меньшем количестве вакансий, реальная потребность в квалифицированных специалистах много выше, чем есть самих специалистов, то есть чем выше квалификация, тем меньше конкуренция. В какой-то момент у вас будет лежать несколько предложений от разных компаний, хоть вы и не планируете уходить из текущей.

(Забегая чуть вперёд — чем выше квалификация, тем дольше ищется новая работа, для топового спеца искать работу пол-года — это вполне нормально. Характерно это не только для админов, но и для других профессий с высокой ответственностью и узкой специализацией).

Кому нужны сисадмины?

Поскольку сисадмин — профессия, то за неё платят деньги. Деньги обычно платят компании сотрудникам. Значит, компаниям нужны сисадмины.

Итак, в соответствии с вышеприведённой классификацией есть два важных типа работодателей — профильные и непрофильные.

Начнём с непрофильных. Непрофильный работодатель — это компания, которая НЕ занимается IT, или занимается ею в далёкой от сисадмина области. Яркие «антиподы» IT-шности: туристические агенства, компании, работающие с недвижимостью, автодиллеры и т.д. Для них администратор — это такой «электрик/завхоз по компьютерам». Им не нужна сложная инфраструктура, они знать не знают про то, что делают сисадмины, что там есть сложного и что простого. Они не могут проконтролировать качество работы сисадмина, а единственным признаком его успешности является «работает» или «нет». Точный уровень развития компании очень сильно варьируется и может сводиться к «настроить принтеры и аську» до сопровождения довольно экзотических программ (этим особо страдают медицинские учреждения). В любом случае, айтишная сложность их конфигурации чаще всего минимальная, и говорить про реальное «хозяйство» сисадмина не приходится.

Отдельно нужно упомянуть компании с высокой степенью айтизации не-айтишного бизнеса. (Яркий пример — торговые сети, банки). Чаще всего в такой компании таки есть человек, который способен оценить качество работы и сложность решения, он же обычно способен говорить с сисадмином на нормальном языке, а не изъясняться птичьими словами про «не работает интернет», «процессор под столом пищит» и т.д. Однако, не смотря на возможную сложность конфигурации, она вполне ограничена бюджетом и потребностями компании, и обычно не требует выходить за рамки минимума для работы. Потребности IT-отдела воспринимаются как чистая обуза, которую нужно на этом самом птичьем языке отстаивать.

Второй тип работодателей, это профильные компании. Большинство крупных интернет-сайтов являются такими, к таковым же относятся хостеры, дата-центры (если они занимаются чем-то, кроме аренды юнитов/dedicated), компании, у которых бизнес завязан на компьютерные технологии (сотовые компании, процессинговые центры). Заметим, что у профильных компаний так же бывают непрофильные администраторы (которые занимаются обслуживанием рабочих мест в back-office’е), при трудоустройстве нужно точно для себя выяснить, чем именно вы будете заниматься.

Такие компании обычно ищут себе сотрудников «под задачи», то есть им нужен человек, который может заняться какой-то областью их деятельности.

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

Кто такой системный администратор-универсал?

На самом деле такой профессии не существует. Так сложилось, что многие компании хотят иметь в штате человека, который будет отвечать «за всё компьютерное». Обычно это непрофильные компании. Причём хотят они одного-двух, а не три десятка сертифицированных специалистов. (Для тех, кто хочет рассказать про своё блестящее настоящее в лице администратора Oracle и т.д. — повторю, речь про ситуацию на рынке). Отсюда простое правило: от вас будут хотеть всего сразу же. Причём, в будущем вы обнаружите, что поверхностные знания обо всём не особо ценятся. Однако, такие рабочие места — отличное место для начала — вы можете попробовать всё и понять, что вам нравится больше всего.

Таким образом имеется явное противоречие между работой начинающего системного администратора (точнее, теми требованиями, которые к нему предъявляют) и дальнейшим карьерным ростом. Это противоречие появляется не сразу же, а через некоторое время, когда человек осваивается с работой.

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

Что подразумевают под системным администрированием?

Подводя итог: невозможно быть не то, что профессионалом, но хотя бы более-менее хорошо знать всё это. Но знать надо. Именно на этом противоречии и строится карьера начинающего администратора.

Отдельно нужно сказать о тех, с кем вы столкнётесь при собеседовании. В отличие от остальных случаев, собеседовать вас будут с 99% вероятностью люди, далёкие от компьютеров. И проверять они будут не ваши знания, а вашу адекватность и «бойкость ответов». Если вы их закидаете умными словами, вас не воспримут адекватно.

Кто такой помощник системного администратора?

… aka эникейщик.
Это человек, на которого сваливают всю плохоформализуемую и нудную работу, общение с пользователями и возню с железом.

Заметим, «помощник системного администратора» чаще всего практически расходный материал с высокой текучкой. В одной компании дело доходило до того, что начальник отдела не знал по именам всех помощников администраторов (3 шт), ибо хоть кто-то но раз в месяц-полтора уходил.

С точки зрения эникейщика — такая работа — это трамплин в системное администрирование, но никак не основная профессия.

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

Кто идёт в эникейщики?

Мой опыт говорит, что туда идут обычно люди без профильного образования. Чаще всего молодые, хотя я собеседовал дядю 42 лет на должность «помощник системного администратора». Не смотря на то, что описанные выше обязанности вроде бы являются почти тривиальными, для многих это самый сложный шаг. Стать администратором из помощника администратора легче, чем стать помощником сисадмина.

Основная причина: от вас будут хотеть знаний, которые сравнимы с администратором. Причём, половина из этих знаний не изложена нигде в книгах и является переходящим опытом (например, возня с банк-клиентами). Ещё одной важной особенностью является «чувство компьютеров», я встречал на собеседованиях много людей, они просто не могли оценить естественность того, что происходит в компьютере, что сильно им мешало в анализе ситуации. Это невербальный опыт, он появляется после долгой работы с компьютерами.

Карьера

Типичная карьера выглядит так: помощник системого администратора (или администратор в маленькой компании с 5-8 человеками), администратор, администратор (может быть ещё 2-3 раза администратор), начало настоящей специализации. Специализация может быть двух видов: повышение технического уровня (вместо поверхностных знаний обо всём, глубокие знания о немногом), и административная карьера — начальник IT-отдела, CIO (ИТ-директор) и т.д. Это два совершенно разных направления — первое связано с компьютерами, второе — с людьми, управлением персоналом, планированием, бюджетированием, совещаниями и т.д.

Переход с этапа на этап определяется несколькими факторами: 1) Теоретическими знаниями 2) Практическими навыками 3) Знанием реалий 4) Связями и отношениями с другими людьми (как внутри компании, так и за её пределами).

Среди этого не очень понятным выглядит третий пункт. Что такое «реалиии»?

Знание реалий

Речь идёт про знание того, чем обычно пользуются в компаниях, сколько это стоит и как работает. Условно говоря, это человек, который знает, что современные офисы кладут 5e, а не ThickEthernet (как было описано в книжке 1993 года), что класть 6ую катеорию неоправданно (хоть это и советует буклет производителя), что за программистами нужен глаз да глаз, иначе компания окажется намертво завязана на конкретного человека и т.д. Другими словами, знание реалиий — это способность сказать, что именно нужно в терминах, которые будут понятны и поставщику, и окружающим.

Навыки

До определённого момента решают почти всё. Без некоторого набора навыков никакие теоретические знания не помогут. Включает в себя просто «много километров за рулём» — решение множества проблем, навыки работы с консолью и типовым софтом, знание симптомов проблем, знание типовых решений для типовых случаев.

Теория

На первых порах теоретические знания не очень важны, поскольку у вас нет должного ощущения от компьютеров, чтобы правильно их воспринять. Однако, если не вкладывать своё время и усилия в теоретические знания, то вы быстро не заметите, как застряните на своём уровне. Зарплата будет по чуть-чуть расти, возможно, будет карьера, но ит-шный мир вокруг перестанет меняться. Те же технологии, те же глюки. Отсутствие теоретических знаний не мешает работать — оно мешает понимать, как работает и как чинить неработающее. Опыт сильно подменяет теорию в смысле решения проблем, но не даёт сил увидеть ситуацию в общем, найти настоящую причину (вместо повода).

Связи

Да, они значат очень много, особенно, в случае карьеры IT-директора. Единственный метод избежать необходимости иметь много знакомых и играть в офисные игры «царь горы» — это профессионализм (читай, опыт и теория). Если нет — то только личные связи, знание людей, умение их ощущать, умение им приказывать и всячески иначе руко водить. По моим наблюдениям примерно 30% эникейщиков находят первую работу по знакомству.

Для узкоспециальных администраторов связи значат уже совсем другое. Чем уже специализация — тем меньше ассортимент работодателей, тем больше вероятность знать всех или почти всех. Наличие примелькавшегося имени сильно сокращает время поиска работы. В этом случае речь идёт не о «связях» в бытовом смысле, а о профессиональной известности.

Источник

Основы системного администрирования: что нужно знать сисадмину?

что нужно знать чтобы быть хорошим сисадмином. Смотреть фото что нужно знать чтобы быть хорошим сисадмином. Смотреть картинку что нужно знать чтобы быть хорошим сисадмином. Картинка про что нужно знать чтобы быть хорошим сисадмином. Фото что нужно знать чтобы быть хорошим сисадмином

Системный администратор — это специалист, который отвечает за слаженную работу компьютеров, локальных сетей, оборудования и программного обеспечения на заданной ему «территории». Данных специалистов часто можно встретить :

Системное администрирование — это постоянный рабочий процесс, результатом которого является слаженная работа всего предприятия или организации, где трудится сам сисадмин. Поэтому эффективность работы этого специалиста напрямую влияет на показатели эффективности всей компании.

Системное администрирование

Системное администрирование — это определенные должностные требования, которые могут частично отличаться на разных предприятиях, но обязательны к выполнению. Системное администрирование может нести в себе:

Основы системного администрирования

Чтобы «войти» в профессию «системное администрирование», нужно соответствовать определенным требованиям. Часто эти требования, опять же, зависят от компании, куда планируете устраиваться. Но общие основы системного администрирования все равно можно выделить.

Итак, системный администратор должен:

Какие бывают направления системного администрирования

Как видно, спектр работ, которые затрагивает системное администрирование, очень широкий. Поэтому и основы администрирования для вхождения в эту профессию будут отличаться. В некоторых случаях сисадмину понадоби тся изучить язык программирования, чтобы писать небольшие скрипты для наладки системы, а иногда это ненужно. Очень часто администратору придется иметь дело с «Консолью» в Windows или с «Терминалом» в Linux. Поэтому не лишним будет изучить работу с этими инструментами.

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Источник

Профессия: системный администратор

Нередко от старшего поколения мы слышим магические слова о «единственной записи в трудовой книжке». И правда, приходилось встречать совершенно потрясающие истории: слесарь — слесарь высшего разряда — мастер цеха — начальник смены — главный инженер — директор завода. Это не может не впечатлять наше поколение, которое меняет работу раз, два, да что там — порой и пять, и больше. У нас есть возможность не просто менять компанию, можно менять профессию и довольно быстро в ней осваиваться. Особенно заметно это в ИТ-сфере, где встречаются весьма причудливые карьерные трансферы и кардинальные сдвиги по карьерной лестнице, как вверх, так и вниз.

Наблюдая за этим процессом, мы поняли, что справочник профессий востребован не только школьниками, выбирающими вуз, но и взрослыми, выбирающими путь. Поэтому решили рассказать об основных специальностях, которые востребованы в ИТ-сфере. Начинаем с самой близкой нам — системный администратор.

что нужно знать чтобы быть хорошим сисадмином. Смотреть фото что нужно знать чтобы быть хорошим сисадмином. Смотреть картинку что нужно знать чтобы быть хорошим сисадмином. Картинка про что нужно знать чтобы быть хорошим сисадмином. Фото что нужно знать чтобы быть хорошим сисадмином

Кто это?

Системный администратор — это специалист, который занимается настройкой, совершенствованием и поддержкой ИТ-инфраструктуры компании, включая оборудование, периферию, программное обеспечение и сетевые подключения. Правда, очень формальное определение?

То, чем занимается системный администратор, зависит от размера компании, сферы деятельности, опыта и навыков самого админа. Вместо того чтобы давать определение, лучше выделим конкретные типы сисадминов.

что нужно знать чтобы быть хорошим сисадмином. Смотреть фото что нужно знать чтобы быть хорошим сисадмином. Смотреть картинку что нужно знать чтобы быть хорошим сисадмином. Картинка про что нужно знать чтобы быть хорошим сисадмином. Фото что нужно знать чтобы быть хорошим сисадмином

Где нужен?

Я бы сказал, что везде, но это будет ложь. Почему-то руководители малого и среднего нейатишного бизнеса полагают, что всё можно «запихнуть» в облако, а сисадмин может быть исключительно приходящим эникеем. Поэтому нередко компании сильно страдают от хромой на все ноги ИТ-инфраструктуры (точнее, ИТ-бардака), но сисадмина не нанимают. Если вам удастся попасть в такую компанию, то в 99% случаев нужно рассматривать работу в компании как опыт и двигаться дальше, и лишь в 1% случаев удаётся переубедить босса, стать незаменимым и выстроить идеальную ИТ-среду с выверенной архитектурой и грамотным управлением (вот прямо с реального примера описываю!).

А вот в компаниях, где ИТ является ключевой сферой деятельности (хостинги, разработчики и проч.) или же замыкает на себе операционную работу (доставки, интернет-магазины, банки, ритейл и проч.), сисадмин сразу становится востребованным специалистом, который может развиваться в одном или нескольких направлениях. Поскольку автоматизация продолжает захватывать компании, найти работу сисадмином начального и среднего уровня не составит особого труда. А когда вы станете прокачанным специалистом, компании будут за вас сражаться, потому что эникеев много, а профессионалов, как и везде, крайне мало.

На момент написания статьи на сервисе «Хабр Карьера» 67 вакансий, связанных с системным администрированием. И вы как раз можете увидеть, что разброс «специализации» велик: от сотрудника технической поддержки до специалиста по инфобезу и DevOps. Кстати, работа в технической поддержке на старте очень быстро, качественно и глубоко прокачивает ряд навыков, ценных для системного администратора.

Средняя заработная плата

Заработную плату будем смотреть опять же на «Хабр Карьере».

Возьмём среднюю заработную плату без выделения навыков для «Системного администратора» и для «DevOps» по данным за 2 полугодие 2019 года. Это самые популярные специальности в разделе «Администрирование», и наиболее показательные. Сравним.

Уровень специалистаСистемный администраторDevOps
стажёр (intern)25 900 руб.нет стажёров
младший (junior)32 560 руб.69 130 руб.
средний (middle)58 822 руб.112 756 руб.
старший (senior)82 710 руб.146 445 руб.
ведущий (lead)86 507 руб.197 561 руб.

Цифры, конечно, даны с учётом Москвы, в регионах ситуация поскромнее, но, что характерно, пропорции примерно такие же. И мне кажется справедливым такая разница, потому что DevOps реально более продвинутые по скиллам (если мы говорим о канонических девопсах, а не о тех, у которых одно название).

Единственное, что не хотелось бы рекомендовать, это брать джунов-девопсов после вуза. Ребята-теоретики, не познавшие ни dev, ни ops, весьма посредственно смотрятся на старте, слабо развиваются из-за непонимания того, куда двигаться и точно не стоят обозначенных денег. Всё же на узких специализациях должны быть более опытные админы, которые прошли огонь, воду, медные трубы, bash и скрипты PowerShell.

Базовые требования к профессионалу

Требования к системному администратору отличаются от компании к компании (кому-то нужно владение 1С, 1С-Битрикс, Kubernetes, определённой СУБД и т.д.), но есть несколько базовых требований, которые, скорее всего, понадобятся в любой компании.

что нужно знать чтобы быть хорошим сисадмином. Смотреть фото что нужно знать чтобы быть хорошим сисадмином. Смотреть картинку что нужно знать чтобы быть хорошим сисадмином. Картинка про что нужно знать чтобы быть хорошим сисадмином. Фото что нужно знать чтобы быть хорошим сисадмином

Вот выучитесь и будете понимать эту шутку.

Важные личные качества

Системный администратор — специалист, который не может быть изолированным в компании и профессионально среде. Ему постоянно приходится общаться с людьми по телефону и лично, поэтому интровертные черты придётся побороть. Сисадмин должен быть:

Необходимость знания иностранных языков

Если компания предъявляет требования к знанию языков и они распространяются на специалистов, то системный администратор должен соответствовать этим правилам (например, компания предоставляет аутсорсинговые услуги для зарубежных компаний). Но вообще системный администратор должен понимать базовые команды и системные сообщения на английском языке — для большинства этого достаточно.

Однако если вы хотите расти в карьере, получать международные сертификаты, в том числе Cisco, разбираться в передовых технологиях первым, вам понадобится английский язык не ниже Upper Intermediate. Очень рекомендую сделать эту инвестицию в профессиональное развитие, это не какой-то фантастический уровень, освоить вполне реально даже без способностей к языку.

Где учиться

Профессия системного администратора интересна тем, что для входа в специальность нет специфических требований к обучению, поскольку на сисадмина как такового на особом факультете не учат. Изначально всё зависит от вас — от того, насколько вы готовы самостоятельно осваивать теорию и заниматься практикой, работать с операционными системами (Windows и Unix), периферией, безопасностью. Фактически ваш компьютер должен стать вашей учебной лабораторией (а ещё лучше, если у вас будет отдельная машина под такие задачи, чтобы процесс не мешал основной работе и учёбе).

Сказать, что системный администратор — это профессия без обучения и удел самоучек — в наше время просто преступно, потому что мы видим уровень хорошо оплачиваемых системных администраторов. А значит есть базовый «классический» набор, который вам понадобится.

Вам не удастся обойти азы и стать крутым профессионалом — без знания архитектуры ПК, сервера, понимания принципов работы прикладного и служебного ПО, операционных систем ничего не получится. Поэтому для системных администраторов как никогда актуален тезис «начинайте с начала».

Лучшие книги и средства обучения

Ну и, конечно, Хабр и профильные форумы — отличное подспорье для системных администраторов любого уровня. Когда мне пришлось обучаться науке Windows Server 2012, Хабр оказался сильным подспорьем — тогда мы познакомились ещё ближе.

Будущее сисадмина

Мне приходилось слышать о деградации профессии системного администратора и аргументы в пользу этого тезиса более чем слабые: справятся роботы, облака гарантируют работу без сисадмина и т.д. Вопрос о том, кто администрирует облака, например, на стороне провайдера, остаётся открытым. На самом деле, профессия системного администратора не деградирует, а трансформируется в сторону усложнения и универсальности. Поэтому если вы выбрали именно её, перед вами открываются несколько путей.

Мифы профессии

Как и любая профессия, системное администрирование окружено мифами. С радостью развею самые распространённые.

что нужно знать чтобы быть хорошим сисадмином. Смотреть фото что нужно знать чтобы быть хорошим сисадмином. Смотреть картинку что нужно знать чтобы быть хорошим сисадмином. Картинка про что нужно знать чтобы быть хорошим сисадмином. Фото что нужно знать чтобы быть хорошим сисадмином

Главный совет

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

Источник

Oh, my code. Как стать системным администратором

Заместитель технического директора Mail.Ru Group Татьяна Бахаревская рассказывает о пути системного администратора, о плюсах работы сисадмином и особенностях эксплуатации в крупной компании. Татьяна отвечала и отвечает за работу сервисов двух крупнейших порталов России.

Ведущий программы — Павел Щербинин.

Расскажи немного о себе.

— Я пришла в профессию довольно давно. Устроилась младшим системным администратором в небольшой стартап, который разрабатывал свою поисковую систему и ряд других интернет—проектов. Это был «Яндекс», где я проработала очень много лет. Выросла до серьезного системного администратора, потом возглавила отдел системного администрирования. В 2005 году в этом отделе работало 5 человек, а через 10 лет — 250, это была большая структура, образовалось несколько подразделений. Мы научились нанимать, растить инженеров, сделали такие мероприятия, как Root, КИТ. В Яндексе я отвечала за непрерывную бесперебойную работу компании, а теперь уже скоро год как занимаюсь тем же самым в Mail.Ru Group. Поначалу казалось, что задачи похожие, но при ближайшем рассмотрении выяснилось, что общего много, но и различий хватает, и это интересно.

Есть много разных терминов для службы эксплуатации. Это и просто эксплуатация, и системный администратор, SRE, SE, DevOps. Расскажи про каждый подробнее. Или это одно и то же? Чем они отличаются?

— На самом деле, системный администратор — это довольно широкое понятие, начиная с того, что человек может отвечать за какой-то небольшой офис с небольшой офисной инфраструктурой на несколько сотрудников, заканчивая ответственностью за непрерывную работу высоконагруженного сервиса. В какой-то момент это всё же разделилось на разные направления. В таких компаниях, как Mail.Ru Group, «Яндекс», Google, системный администратор ближе к тому, что сейчас называется модными словами SRE — Site Reliability Engineer, то есть человек, отвечающий за доступность сайта.

Наша работа требует много разных знаний о технологиях: Linux/Unix, сети, базы данных, веб-сервера, облачные технологии, состав оборудования, которое мы применяем для построения сервисов (процессоры, память, диски) и много еще чего. Про технологии надо понимать, как их применять, чем они отличаются. Всегда есть очень много рутинной работы, которую надо автоматизировать. Писать код тоже надо. Современные системные администраторы/SRE по большей части программируют. На текущий момент основной язык для автоматизации — Python, плюс, конечно же, bash. Знание C тоже всегда было плюсом. К примеру, самая лучшая документация по Linux: открыть код ядра и посмотреть, как всё устроено.

Еще важно понимать, как строить высоконагруженные и отказоустойчивые системы. Про это уже довольно много рассказано на конференциях и написано в интернете.

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

Давай вернемся немного в прошлое. Очень интересен самый начальный этап. Почему ты выбрала эксплуатацию?

— Это было забавно. В те годы все приличные девочки хотели стать бухгалтерами. Я тоже хотела, поэтому пошла на курсы. Там сказали, чтобы стать бухгалтером, нужно освоить счеты и арифмометр «Феликс», я решила, что это слишком сложно, и «знание компьютера» (так писали в объявлениях о работе) облегчит мне жизнь и поиск работы. В итоге пошла «изучать компьютер» в ближайшем Московском инженерно-физическом институте, на факультете Кибернетики, на кафедре электронных вычислительных машин. Выяснилось, что в этом компьютере кроме Word и Excel есть еще куча всего — процессор, память, конвейеры, устройства ввода-вывода. Под конец обучения я хотела стать программистом. На первых курсах у меня программирование шло довольно сложно, а в конце обучения прямо пёрло писать код. Могла это делать сутками напролет. Вечером садилась и писала код, а следующим вечером открывала глаза. Всё шло довольно неплохо, программы работали. Но я поняла, что я человек увлекающийся, и решила выбрать что-то попроще. И пошла в эксплуатацию, а оказалось, что здесь тоже не просто, а даже местами сильно сложнее. Но я осталась, и вот уже больше 20 лет этим занимаюсь.

Интересно, в какой момент принимаешь решение, быть программистом или админом?

— По-разному. Последние много лет я сталкиваюсь со студентами, и в «Яндексе», и в Mail.Ru. Люди в студенчестве приходят пробовать себя и в программировании, и в администрировании. Кто-то остается в эксплуатации и понимает, что это его. Кто-то, поработав немного, переходит в разработку. Кто-то, поработав в разработке, понимает, что хочет глубже разбираться в каких-то проблемах, узнать стек того, что находится ниже, под его программой, как она эксплуатируется, как живет, и погружается в эксплуатацию. Есть какие-то пограничные случаи, которые сейчас называют модным словом DevOps. Эти люди должны много знать и про железо, и про эксплуатацию, и про код.

Всё зависит от человека, от того, что ему нравится и не нравится. А профессии эти очень сходны, во многом пересекаются.

Про тебя ходят легенды в «Яндексе», что в своё время у тебя был специальный рубильник, который в любой момент мог выключить один дата-центр, чтобы протестировать устойчивость системы. Расскажи подробнее.

— Эта история началась много-много лет назад с крупного инцидента: у «Яндекса» отключились практически все ЦОД. Точнее, отключился один, но в нем находилось всё сетевое оборудование компании. «Яндекс» не работал несколько часов. После этого была поставлена задача сделать всё надежным, отказоустойчивым, чтобы всё работало в случае отключения одного из ЦОД. Сегодня эта проблема уже не так актуальна, особенно для коммерческих ЦОД. Надежность стала гораздо выше, есть примеры, как современные ЦОД живут несколько дней на солярке. Но тогда было всё иначе.

Несколько лет мы анализировали архитектуру всех приложений, писали планы задач, как и что надо сделать для обеспечения полной отказоустойчивости. Там, где это было невозможно или слишком сложно, мы обговаривали SLA (service level agreement). Основное внимание было приковано к популярным и высоконагруженным сервисам. Первое тестовое отключение было очень страшным. Половина сотрудников следили за данными мониторинга. Отключились и довольно быстро включились, записали все баги, доработали ряд систем. И так несколько итераций.

Через какое-то время дошли до того, что могли спокойно прожить час-два, отключив один дата-центр. Все понимали, что навык нужно поддерживать, регулярно проводить учения по отключению. Это как в сантехнике: если кран долго не открываешь, не закрываешь, то он закисляется, и в нужный момент его не откроешь. Поэтому мы регулярно открывали и закрывали «краны». И это работало. Я считаю достижением, что как-то раз мне ночью позвонили и сказали, что дата-центр упал, а я спросила, зачем меня разбудили 🙂

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

— Мне кажется, что админ отвечает за приложение «от кончика носа до кончика хвоста». По-хорошему, он может залезть в код, посмотреть, как оно там устроено, как ему это чинить. Он участвует в выборе технологии, потому что есть хорошие технологии для программистов, с ними очень удобно писать, но жить в режиме 24/7 с ними невозможно.

Программисты больше могут сосредоточиться на тех фичах продукта, которые им необходимы: дополнительная функциональность, дизайн, дополнительный код, который позволяет проекту лучше масштабироваться. То есть разделение всё же есть. В международной практике это Site Reliability и Software Engineer. Существуют разные теории, где и как должно проходить разделение ролей. Мне кажется, что принятая в Mail.Ru Group парадигма, в рамках которой есть эксплуатация и разработка, и это разные люди, работает довольно хорошо.

Наверное, не все знают, как сейчас устроено в Mail.Ru Group. Расскажи подробнее.

— У нас есть служба эксплуатации, которая отвечает за работу сервисов. Она состоит из нескольких отделов. Каждый отдел отвечает за конкретный продукт или группу продуктов, в зависимости от масштаба. К примеру, Почтой занимаются несколько отделов: один хранилищем, другой вебом. А есть отделы, которые работают над несколькими проектами, масштабом поменьше.

В нашем хозяйстве — Почта, Поиск, Портал, Delivery club, «Юла», «Мой мир», ICQ и многие другие. Есть проекты, которые были запущены давно и являются нашими core-продуктами, например, Почта и Портал. Есть купленные нами проекты, которые мы размещаем на своей инфраструктуре, обмениваемся с ними практиками эксплуатации. А есть те, которые родились у нас и очень быстро выросли, например, «Юла». Хозяйство довольно разнообразное 🙂

Как выглядит архитектура типичного сервиса Mail.Ru Group?

— У нас несколько дата-центров. ЦОД как собственные, так и коммерческие, в коммерческих оборудование и сети у нас свои. Суммарная емкость каналов у нас измеряется терабитами.

Мы размещаем серверы проектов в нескольких дата-центрах, чтобы отключение одного не влияло на работу сервиса. Большинство наших проектов — это веб-сайты. Архитектура стандартная: балансировщик нагрузки, под ним web-сервер, потом сервер приложений, а потом СУБД и/или хранилище.

Далее начинаются детали.

В основном у нас всё живет на железных серверах, но и облака тоже есть. Например, для разработки и тестирования используется облако на OpenStack, где разработка и тестирование могут получить ресурсы по нажатию кнопки.

Kubernetes внедряем, но этот процесс требует много чего менять в процессах как эксплуатации, так и разработки. Идет не быстро. Стараемся всё сделать аккуратно, чтобы ничего не сломать.

Вернемся к тому, что у нас происходит с пользователями. Для начала пользователь попадает на балансировщик. Для балансировки нагрузки используются сетевые протоколы BGP и RIP, и традиционное программное обеспечение — ipvs, haproxy и nginx. После чего web-серверы показывают пользователям красивые страницы, в основном, с помощью nginx и Apache.

А вот за ними стоят серверы приложений. Поскольку, как я говорила выше, есть и legacy, и довольно новые проекты, то языков программирования, на которых всё это написано, довольно много.

В качестве СУБД для новых проектов используются, в основном, MySQL, PostgreSQL и наша внутренняя разработка Tarantool. Пользователи не должны ощутить потери серверов какого-то хранилища или его части, мы стараемся бэкапить и реплицировать данные в соседние дата-центры.

В основном, мы используем оpen source, так как у нас в компании много программистов и инженеров, которые могут в любой момент что-то исправить. Есть и свои разработки. Например, хранилище, в котором лежат письма пользователей — своя собственная разработка.

Сколько у тебя человек в подчинении?

— Сейчас около 70, но это количество регулярно растет. Мы активно расширяемся, сейчас много открытых позиций.

Сколько серверов они обслуживают?

— Несколько десятков тысяч серверов, которые расположены в наших дата-центрах. В основном в Москве, но также у нас есть серверы в других городах, в США и Европе. За всем этим серверным парком нужно следить и ухаживать, обслуживать его. Сами мы, конечно, не ездим в дата-центры, только разве что на экскурсии.

Какой же объем канала должен быть?

— Несколько терабит. У всей Mail.Ru Group общая сеть, по которой передается очень много информации. Возьмите хотя бы «ВК» и «ОК», которые показывают кучу видео, а ведь ещё есть Почта, Поиск, аналитика, и много других высоконагруженных сервисов. Поэтому сеть — важная составляющая.

Что нужно знать, чтобы стать хорошим системным администратором?

— Конечно же, Linux. Многие коммерческие компании сейчас используют эту ОС. В основном внутри компаний стараются не использовать разные дистрибутивы, все стремятся к тому, чтобы он был один, так проще обновлять и поддерживать работоспособность систем. У всех свои предпочтения по дистрибутиву, мы используем CentOS. Так что в первую очередь нужно знать Linux, как и что там устроено, как устроено межпроцессное взаимодействие, как всё загружается и работает.

Дальше идет специализация — кому что ближе и к чему лежит душа :-). Кто-то специализируется на автоматизации, кто-то на веб-серверах, кто-то на сетях, кто-то на базах данных, а кто-то на облачных технологиях. Мне, например, в своё время очень нравились базы данных. Нужно понимать как работают приложения — уметь их настраивать, понимать плюсы-минусы применения того или иного приложения в задаче, ну и, конечно же, уметь его очень быстро чинить в случае проблем.

Примеры таких специализаций: сетевые инженеры разбираются в протоколах и знают, где и какие лучше применять, умеют настраивать глобальную и локальную маршрутизацию, знают, как обеспечить надёжность и отказоустойчивость сети.

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

Типичная задача: обсудить, почему запрос выполняется долго, надо и план посмотреть, и понять, нет ли проблем с загрузкой сервера (память, процессор, ввод-вывод).

В общественном мнении админы представляются как ребята с большой бородой в растянутом свитере. Сложно ли тебе работать в мужском коллективе?

— Сложный вопрос, потому что я работаю уже много лет. Во-первых, привыкла. Во-вторых, если говорить про индустрию в целом, то уже было довольно много девушек в эксплуатации.

Такой миф исходит из далеких времен, когда требовалось много физической работы. Мы до сих пор с подругой вспоминаем, как вдвоем вытащили большой, тяжелый, многоюнитовый сервер и поставили на пол, потому что отнести в специальное место для обслуживания уже не смогли. И сидели на полу посреди дата-центра с отвертками, меняли диски. Салазок тогда еще не было 🙂

Сейчас такого нет. Работаем в удобном офисе за столом. Наша работа сегодня ничем не отличается от работы программиста, которая тоже никогда не была чисто мужской: девушки-программисты — довольно частое явление.

Наш блиц-опрос. Какой у тебя ноутбук?

Что лучше, Bash или Perl?

Стартап или большая компания?

— Стартап в большой компании.

На что последнее тебе не хватило денег?

Отличный ответ. Все сразу поймут уровень зарплаты в Mail.Ru Group.

«ВК» или «Одноклассники»?

— У меня нет кумира. Я считаю, что многие люди и в российском, и в зарубежном интернете сделали довольно много для этой индустрии. Благодаря им она развивается такими темпами. Мне повезло, со многими из них я знакома лично.

Назови крупных российских.

— Довольно много; опять же, боюсь, что всех не перечислю. Если кого-то надо выделить лично, то рада, что в жизни получилось поработать с Ильей Сегаловичем.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *