Книга: IT-рекрутмент: Как найти лучших специалистов, когда все вокруг горит
Назад: Глава 11. Тестирование
Дальше: Глава 13. Разработчики и администраторы баз данных
Глава 12

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

О том, кто такие системные администраторы, мы уже говорили. Если кратко, то системный администратор берет на себя функции, связанные с поддержкой и эксплуатацией IT-инфраструктуры в компании. Набор обязанностей системного администратора, как правило, зависит от того, какое оснащение есть в компании: пара компьютеров с принтером или сервера и сложные коммуникационные системы.

В современных условиях активно развивается новая философия сервисной деятельности в IT, и называется она DevOps. Что это значит?

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

По мере того как начали внедряться гибкие технологии разработки (Agile), от системных администраторов стала требоваться более активная обратная связь. Таким образом, стало развиваться более тесное сотрудничество Developer (разработчиков) и Operation (службы эксплуатации).

В 2005 году компания Yahoo! приобрела интернет-сообщество фотографов Flickr, и им понадобилось переместить данные и сервисы из Канады в США. Для этого нужно было разработать новое ПО.

По результатам этой операции был подготовлен доклад «10+ deploy per days: Dev and Ops cooperation at Flickr». В нем было описано, каким образом команде удалось выполнить поставленные задачи максимально быстро и качественно. Основой успеха стали совместные согласованные действия разработки и эксплуатации.

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

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

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

Возвращаясь же к системным администраторам, важно понимать, что они часто делятся на администраторов Linux и администраторов Windows. Первые, соответственно, работают с Linux-подобными операционными системами, а вторые — с виндой.

Глобальная разница между ними в том, что Linux исповедует концепцию открытого программного обеспечения. То есть исходный код этой операционной системы открыт и доступен для доработок. В то время как код винды — закрыт. У Linux есть отдельные дистрибутивы (условно можно назвать их версиями), которые также могут дорабатываться. Вот пара примеров: Debian, Ubuntu.

Кроме того, у сисадминов стоит спрашивать, с физическими или с виртуальными серверами они работали. Если они занимались поддержкой парка компьютеров, то можно спросить, насколько большим был этот парк.

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

Назад: Глава 11. Тестирование
Дальше: Глава 13. Разработчики и администраторы баз данных