Этимология
Начнём с самых азов.
Общее определение выглядит примерно так: DevOps (акроним от англ. development & operations) — методология автоматизации технологических процессов сборки, настройки и развёртывания программного обеспечения. Методология предполагает активное взаимодействие специалистов по разработке со специалистами по информационно-технологическому обслуживанию и взаимную интеграцию их технологических процессов друг в друга для обеспечения высокого качества программного продукта. Предназначена для эффективной организации создания и обновления программных продуктов и услуг. Основана на идее тесной взаимозависимости создания продукта и эксплуатации программного обеспечения, которая прививается команде как культура создания продукта.
Обращаю внимание, что речь идёт про методология автоматизации, однако на данный момент этим шершавым словом принято называть инженера, который одновременно и разработчик и системный администратор.
Далее, как всегда, отмечу такой лингвистический казус: в исходном английском слове буква s передаёт множественное число. В русском зачем-то оставляют s, а следом ещё и добавляют "ы". Ужас какой-то!
Немного теории
DevOps - это комплексный подход к разработке, эксплуатации и доставке программного обеспечения. Он фокусируется на сотрудничестве между командами разработки и эксплуатации и автоматизации процессов. Принято считать, что изучение DevOps может помочь вам сделать полезную и высокооплачиваемую карьеру в области ИТ. Отмечу, что среди моих друзей есть такие, кто работает в DevOps, и они действительно получают солидную зарплату. Однако все эти люди не обучались специально для данной профессии. Можно сказать, что они нашли себя на стыке своих имеющихся навыков.
Также отметим, что DevOps обладает многими преимуществами для организаций, в том числе:
- Повышенной скоростью и гибкостью
- Улучшенным качеством
- Снижение затрат
- Повышение удовлетворенности клиентов
Заметьте, "многими преимуществами для организаций", но это совсем не значит, что преимущества будут у сотрудника! Мало кто об этом задумывается.
Выбор траектории обучения
Во-первых, когда мы говорим о высшем образовании и поступлении в вуз, чтобы овладеть профессией, я настроен весьма скептически, о чём уже писал недавно.
Рассмотрим типовые рекомендации, как изучить DevOps. Существует множество рекомендуемых способов изучения DevOps. Вот несколько распространенных методов:
- Учебные курсы: Для изучения DevOps доступно множество онлайн- и очных учебных курсов. Эти курсы могут стать отличным способом изучения основ DevOps.
- Книги и статьи: Доступно множество книг и статей о DevOps. Эти ресурсы могут дать более глубокое представление о DevOps.
- Использование агрегаторов курсов: это так называемые каталоги курсов, например KursHub.
- Участие в сообществе DevOps: Существует активное сообщество DevOps, которое может стать отличным ресурсом для обучения и общения с другими профессионалами DevOps.
На мой взгляд, все вышеперечисленные варианты имеют право на жизнь. Но не забываем самое главное правило: обучаться надо на реальных задачах, решая конкретные технические проблемы.
Этапы изучения DevOps
При классическом подходе обучение можно разбить на этапы. Изучение DevOps - это постепенный процесс.
Вот общие этапы изучения DevOps:
- Изучите основы DevOps: Сначала вам нужно изучить основы DevOps. Эти основы включают такие концепции, как совместная работа, автоматизация и непрерывная поставка.
- Изучите инструменты DevOps: DevOps фокусируется на использовании средств автоматизации. Вам необходимо быть знакомым с распространенными инструментами DevOps, такими как Jenkins, GitLab и Kubernetes.
- Ознакомьтесь с задачами DevOps: у DevOps есть свои собственные задачи. Вы должны быть знакомы с такими задачами, как управление изменениями, безопасность и масштабируемость.
Отметим, что последовательное освоение этапов может и не понадобиться, если мы приходим в DevOps как программист через системное администрирование или наоборот.
Опыт и наблюдения
Мой опыт и общение с друзьями и коллегами показывает, что настоящие востребованные и высокооплачиваемые специалисты пришли в DevOps более-менее "случайно" - то есть не стремились специально.
Классический пример: человек хотел стать программистом, учился, работал, развивался, и действительно стал прекрасным программистом. Однако широкий спектр профессиональных задач и современные методы их решения буквально заставили освоить ещё и системное администрирование, автоматизацию и даже работу с реальным железом. Человек освоил новые умения, зарплата стала выше.
Другой пример: один мой друг честно признаётся, что в студенчестве взялся изучать программирование, попробовал Delphi и Паскаль, но понял, что слишком сложно и не интересно. В профессиональной деятельности ушёл в рафинированного системного администратора, стал заниматься сетями и железом. Но получил интересное предложение с хорошей зарплатой, которое потребовал знание нескольких языков, а особенно программирования на bash. Сел, разобрался, выучил. Сейчас он просто поражает меня изящными и функциональными скриптами!
Обязательно задумайтесь об этих примерах, если будете выбирать варианты обучения на DevOps.
Вывод
DevOps - это комплексный подход, требующий обучения и практики. Однако изучение DevOps может помочь вам сделать плодотворную и высокооплачиваемую карьеру в области информационных технологий. Изучение DevOps может помочь вам сделать успешную и высокооплачиваемую карьеру в области ИТ. DevOps - это обязательный навык для инженеров-программистов, ИТ-менеджеров и других ИТ-специалистов.
Однако, какого-то единого пути для обучения не существует. Выбирайте самостоятельно, что ближе вам. Поступать в университет ради этого я бы не стал рекомендовать. Если есть дисциплина и целеустремленность, я рекомендую заняться самообразованием. Причем материалы ищите самостоятельно: в интернете сейчас много всего, включая прекрасные бесплатные ресурсы. Различные курсы и специализированные ресурсы - тоже рабтающий вариант.
Но в любом случае, не забывайте, что только на реальных задачах вы сможете действительно научиться. Иначе всё останется на стадии "ну слушал какие-то лекции", "ну прошёл курс", "ну смотрел разные ролики в Ютюбе"...