Хотите стать быстрее, экономнее и прибыльнее? Попробуйте нанять специалиста по DevOps.
Введение
Если ваш малый и средний бизнес (SMB) использует большое количество стороннего и проприетарного программного обеспечения, то вам, вероятно, стоит подумать о найме специалиста по операциям разработки (DevOps). Эти мозговитые разработчики отвечают за широкий круг задач, включая написание кода, создание приложений, масштабирование инфраструктуры, создание виртуальных сред, автоматизацию систем и процедур. Они следят за разработкой, обеспечением качества (QA) и бесперебойной работой всех межведомственных программных коммуникаций.
Представьте себе такой сценарий: Ваш отдел кадров (HR) хочет внедрить программное обеспечение для управления персоналом, которое поможет им вести учет сотрудников. Ваш инженер DevOps, работающий вместе с командой разработчиков, помогает внедрить новый инструмент, постоянно тестирует его для обеспечения постоянной функциональности, создает дополнительные функции, необходимые компании, следит за необходимым обслуживанием и обновлениями, помогает автоматизировать предсказуемые процессы и связывает систему с другими системами в организации, такими как инструмент управления взаимоотношениями с клиентами (CRM). Ваш инженер DevOps должен быть способен внести свой вклад в реализацию этого сценария, а также любых других подобных сценариев, связанных с внедрением, экспериментами и взаимодействием между разрозненными ИТ-инструментами.
“DevOps – это не просто автоматизация кода”, – говорит Эз Бардегес, DevOps-инженер компании Zynga, производителя игр Farmville и Words with Friends. “Для небольшой компании хороший инженер DevOps – это действительно строительный блок технологического продукта”.
По словам Бардегеса, главная задача инженера DevOps – управлять серверами компании, особенно теми, которые используют операционные системы с открытым исходным кодом (ОС), такие как BSD или Linux. Хотя работа с ОС Windows является популярной и жизнеспособной альтернативой, поскольку Microsoft взимает плату за каждый сервер и пользователя, это в конечном итоге обходится дороже, чем использование инструментов с открытым исходным кодом – большинство из которых бесплатны и могут бесконечно изменяться. При работе с системами с открытым исходным кодом самыми большими расходами для вас станет высококлассный DevOps-инженер, который сможет отладить работу программного обеспечения от А до Я.
История возникновения DevOps
Потребность в DevOps как практике возникла в результате размышлений, которые зародились в начале Agile Conference в 2008 году. На конференции разработчик программного обеспечения Патрик Дебуа (которого иногда называют “крестным отцом DevOps”) говорил со своими коллегами о преодолении операционного и философского разрыва между разработчиками и операционными командами. Дебуа, которому ранее поручили проект по миграции данных для бельгийского правительства, заметил ощутимое напряжение между разработчиками и системными администраторами проекта.
Стоит ли вам выбирать DevOps?
В 2014 году компании Forrester Research и IBM заложили основу для того, что стало дорожной картой успеха DevOps. Отчет, основанный на опросе 600 ИТ-специалистов, показал, что успех DevOps, особенно в части развертывания программного обеспечения, основан на восьми ключевых передовых практиках. Философия основана на том, что организации должны предоставлять минимальный жизнеспособный продукт, а затем постепенно улучшать его в последующих релизах.
Команда DevOps должна быть специализированной группой с кросс-функциональными дисциплинами, избегающей чрезмерной специализации. Команда должна выстраивать слабосвязанную архитектуру между приложениями, чтобы упростить доставку, и минимизировать количество шагов между процессами, чтобы ускорить рабочий процесс. Члены команды должны быть прозрачными в отношении прогресса и ошибок, чтобы лучше понимать риски, но сама команда должна свести к минимуму отчеты о состоянии дел и встречи, которые отвлекают от реальной работы над небольшими партиями. Чтобы оптимизировать весь процесс DevOps, команда должна автоматизировать процесс тестирования, чтобы избежать ручного тестирования, отнимающего много времени.
Хотя Бардегес уверен в важности своей роли, он все же предостерегает от того, чтобы каждый малый бизнес нанимал инженера DevOps. “Идея о том, что эта роль нужна всем, опасна. Она может оказаться совершенно ненужной. Например, если вы небольшая компания, которая занимается бухгалтерским учетом для более крупных фирм, и в основном полагаетесь на файловый сервер и электронную почту, то вам, вероятно, не нужен DevOps-инженер. Но если вам нужно автоматизировать что-то системное, связанное с вашим продуктом или услугой, то он вам определенно нужен”.
Идеальный специалист по DevOps
Так на что же следует обратить внимание при приеме на работу в DevOps? Начнем с зарплаты: Средний годовой доход DevOps-инженера в 2015 году составил 105 600 долларов США, согласно данным компании Incapsula, специализирующейся на сетях доставки контента (CDN) и кибербезопасности. Работодатели обычно ищут кандидатов с практическим опытом работы с системами, а не недавних выпускников колледжей, специализирующихся на компьютерных науках. Это связано с тем, что инженеры DevOps должны взаимодействовать со всеми бизнес-дисциплинами, а значит, им придется убеждать руководителей всех направлений бизнеса в том, что экспериментальные технологические процедуры в долгосрочной перспективе будут дешевле и лучше для организации. В этом отношении человек с глубоким технологическим образованием и опытом работы в корпоративной среде превосходит того, кто только что окончил школу Лиги плюща.
После того как вы нашли несколько кандидатов с сильным корпоративным или стартап-фоном, ищите людей с глубоким опытом администрирования Linux или Unix, а также с опытом автоматизации процессов с помощью Chef или Puppet – наиболее распространенных инструментов автоматизации ИТ на рынке. Вам также нужен человек с богатым опытом использования облачных сервисов, особенно Amazon Web Services ($6 415,00 в Amazon) (AWS). Этот человек должен свободно владеть MySQL и SQL, а также языками программирования PHP, Python или Ruby.