- Оригинальный адрес:How To Become a DevOps Engineer In Six Months or Less
- Оригинальный автор:Igor Kantor
- Перевод с:Программа перевода самородков
- Постоянная ссылка на эту статью:GitHub.com/rare earth/gold-no…
- Переводчик:Про книга
- Корректор:jianboy
«Пустое шоссе через красочную пустыню» — авторJohannes PlenioОпубликовано вUnsplash.
Примечание: это первая часть серии статей.
Вторая частьздесь.
Целевая аудитория
Вы разработчик и хотите изменить свою карьеру в сторону модели DevOps?
Вы опытный специалист по эксплуатации и техническому обслуживанию, хотите понять всю экосистему DevOps?
Или вы ни то, ни другое, вы просто хотите сменить карьеру и не знаете, с чего начать? Если это так, читайте дальше!
Наконец, если у вас есть многолетний опыт работы с DevOps, вы также можете получить полезную информацию из статей, например, подтвердить, где вы находитесь и куда направляетесь.
Что такое DevOps?
Во-первых, что такое DevOps?
Вы можете погуглить его определение, но большинство из них представляют собой длинные поля продолжения с большим количеством пустых слов. (Смотрите, что я сделал ниже?)
Что ж, я искал вас и выдернул его определение:
DevOps — это способ доставки программного обеспечения, в котором переплетаются боль и ответственность.
это все.
ИтакЭтотЧто именно это значит?
В традиционном смысле обязанности разработчика (лица, разрабатывающего программное обеспечение) и обязанности оператора (лица, поддерживающего программное обеспечение) не совсем совпадают.
Например, как разработчик, я хочу развиваться как можно быстрее.Болееновые возможности. Ведь это моя работа и потребности клиента!
Однако, если бы я был оператором, я, вероятно, не хотел бы слишком много новых функций, потому что каждая новая функция означает изменение, а каждое изменение сопряжено с риском.
В результате этого конфликта двух стимулов родился DevOps.
DevOps пытается объединить разработчиков (Dev) и операторов (Ops) в одну группу. Идея состоит в том, что это позволяет одной и той же группе поглотить всю боль и ответственность (и, возможно, вознаграждение) разработки, развертывания и выполнения ориентированного на пользователя программного обеспечения.
На этом этапе пуристы скажут вам: «Нет такого понятия, как «инженер DevOps», DevOps — это культура, а не роль».
Да, теоретически это правильно (худший вид!), но, как это часто бывает, выходит за рамки того, что должно быть.
Теперь быть инженером DevOps — это все равно, что быть «системным инженером 2.0».
Другими словами, DevOps-инженер — это тот, кто не только понимает жизненный цикл программного обеспечения, но и разрабатывает инструменты, ориентированные на разработчиков, и продвигает решения классических операционных задач.
В конечном итоге DevOps означает построение цифровых конвейеров, от кода на ноутбуке разработчика до производственного развертывания и получения дохода, и это потрясающе!
Это все!
Также обратите внимание, что в качестве выбора карьеры вся индустрия Devops имеет высокое вознаграждение, почти каждая компания имеет должность devops или утверждает, что такова.
Вне зависимости от компании, вакансий в сфере DevOps множество, и они обеспечат интересные и значимые возможности трудоустройства на долгие годы.
Примечание. Будьте осторожны с компаниями, которые нанимают «команды DevOps» или «отделы DevOps». Строго говоря, этого не может быть, потому что DevOps в конечном счете зависит от культуры и того, как доставляется программное обеспечение.нетДля оснащения новых команд или отделов.
сдаться
Теперь давайте отложим чашку Kool-Aid в сторону и рассмотрим следующее:
Вы когда-нибудь слышали старую поговорку: «Нет младшего инженера DevOps? 』
Если нет, знайте, что это популярная метафора на Reddit и StackOverflow. Но что это значит?
В двух словах это означает, что требуются годы опыта в сочетании с глубоким пониманием инструментов, чтобы в конечном итоге стать действительно продвинутым практиком DevOps. К сожалению, однако, нет коротких путей к получению опыта.
Так что не пытайтесь обманывать в этой отрасли, я не думаю, что можно притворяться старшим инженером DevOps с опытом всего несколько месяцев. Для понимания инструментов и методов быстрой итерации требуются годы, а коротких путей не существует.
Тем не менее, большинство компаний, как правило, используют некоторые основные (последние, если хотите) инструменты и концепции, о чем и пойдет речь в этой статье!
Опять же, поскольку инструменты и навыки различаются, убедитесь, что вы не упускаете из виду свои собственные навыки при изучении инструментов (собеседование, создание сетей, письменное общение, устранение неполадок и т. д.).
Самое главное, не забывайте, что мы ищем —Создайте полностью автоматизированный цифровой конвейер, который превращает идеи в код, приносящий доход.
Это единственное, что имеет значение во всей этой статье!
Достаточно сказано, с чего нам начать?
Ниже представлена ваша дорожная карта.
Освойте следующее, и вы смело можете называть себя DevOps-инженером! Или облачный инженер — если вы ненавидите термин «DevOps».
Диаграмма ниже представляет мои (и, вероятно, большинство людей, работающих в этой области) мысли о том, что должен знать DevOps-инженер. Тем не менее, это всего лишь предложение, обязательно будут разные голоса, в этом нет ничего плохого, мы не стремимся к совершенству, мы строим прочный фундамент.
Примечание. Вы должны просматривать, используя подход в ширину, начиная с основ (и придерживаясь его!). Начните с изучения технологий, отмеченных синим цветом (Linux | Python | AWS), затем переходите к технологиям, отмеченным фиолетовым (Golang | Google Cloud), если позволяет время или этого требует рынок труда.
Примечание переводчика: под навыками AWS и Google Cloud можно понимать отечественные Tencent Cloud и Alibaba Cloud.
Основы DevOps
Кроме того, если позволяет время, после освоения основ первого уровня переходите к следующим уровням, чтобы углубить свой опыт.
Как только вы поняли основы, пора переходить к решению практических задач:
навыки реального мира
Примечание. В приведенном выше конвейере навыков отсутствуют тесты — написание тестовых случаев, это сделано специально — написание интеграционных и приемочных тестов непросто, и обычно это работа разработчиков. Фаза «тестирования» намеренно опущена, потому что цель этой дорожной карты обучения — быстрое приобретение новых навыков и инструментов. Автор считает, что отсутствие опыта тестирования — это всего лишь тривиальное препятствие для того, чтобы стать DevOps.
Кроме того, имейте в виду, что мы здесь не для того, чтобы изучать кучу несвязанных технических разглагольствований. Нам нужно четкое представление о полной цепочке инструментов, чтобы объединить эти инструменты и рассказать связную историю.
историяСквозная автоматизация процессов — цифровой конвейер, который можно модифицировать, как сборочную линию.
Кроме того, вы определенно не хотите изучать кучу инструментов и застревать, инструменты меняются быстро, а концепции — нет. Таким образом, вместо того, чтобы изучать использование инструмента, вы хотите использовать его в качестве прокси для изучения концепций более высокого уровня.
Хорошо, давайте копнем немного глубже!
Базовые знания
Под базовыми знаниями, помеченными как «Базовые», вы увидите навыки, которыми должен овладеть каждый инженер DevOps.
Здесь вы увидите три столпа, которые доминируют в отрасли: операционные системы, языки программирования и общедоступное облако. Это не то, чему вы научитесь быстро, посмотрите список и двигайтесь дальше. Чтобы оставаться в курсе своих навыков и оставаться в курсе, вы должны продолжать учиться и оставаться на высоте.
Давайте пройдемся по ним один за другим.
Linux: система, которая может запускать все. Сможете ли вы быть отличным практиком DevOps, полностью живущим сегодня в экосистеме Microsoft? Конечно! Нет правила, требующего, чтобы Linux включал все экосистемы.
Тем не мение! Обратите внимание, что хотя всеDevOps-yС Windows действительно можно что-то делать, но процесс более болезненный, а работы гораздо меньше. Теперь вы можете смело предположить, что вы не сможете стать настоящим профессионалом DevOps, не зная Linux. Так что Linux — это то, чему вы должны учиться и продолжать учиться.
По общему признанию, лучший способ — установить Linux (Fedora или Ubuntu) на свой домашний компьютер и использовать его как можно больше. Вы решите некоторые проблемы или застрянете, а затем вам придется решить их все, и в процессе вы изучите Linux!
Для справки, в Северной Америке более распространен вариант Red Hat, поэтому изFedoraилиCentOSЕсть смысл начать учиться. Если вам интересно, какую среду рабочего стола использовать, KDE или Gnome, используйте KDE. Используется Linux Torvalds. :)
Python: самый распространенный язык бэкенда на сегодняшний день. Прост в использовании и широко используется. Бонус: Python широко используется в искусственном интеллекте и машинном обучении, поэтому, если вы хотите перейти к другим горячим направлениям, дорога уже проложена.
Amazon Web Services: Опять же, невозможно быть опытным профессионалом DevOps без хорошего понимания того, как работает общедоступное облако. Если вы хотите узнать об облаке, Amazon Web Services является доминирующим игроком в этой области, предлагая богатейший набор инструментов.
Можно ли начать с Google Cloud или Azure? Конечно! Но то, что нам нужно, — это максимизация прибыли, поэтому у AWS самая высокая вероятность успеха, по крайней мере, в 2018 году.
Регистрация учетной записи в AWS дает вам некоторые преимущества бесплатного уровня, так что это хорошее место для начала.
Теперь, когда вы входите в системуКонсоль AWS, вы увидите простое для понимания меню параметров.
«Открытие еще одной функции AWS, о которой я никогда не знал», авторTom PumfordОпубликовано вUnsplash.
Это ирония. Хорошая новость заключается в том, что вам не нужно знать каждую технологию Amazon.
Начните с: VPC, EC2, IAM, S3, CloudWatch, ELB (под эгидой EC2) и групп безопасности. Это то, с чего можно начать, и каждое современное облачное предприятие активно использует эти инструменты.
собственное обучение AWSВеб-сайтявляется хорошей отправной точкой.
Я рекомендую вам уделять 20-30 минут в день практике Python, Liunx и AWS.
Примечание: это будет обязательным для изучениядополнительныйсодержание. В целом, по моим оценкам, одного часа в день пять раз в неделю достаточно, чтобы полностью понять индустрию DevOps за 6 месяцев или меньше.
Это базовый слой!
В последующих статьях мы обсудим следующий уровень сложности: как полностью автоматизироватьнастроить, управлять версиями, управлять пакетами, развертывать, запускать и контролировать программное обеспечение!
Если вы обнаружите ошибки в переводе или в других областях, требующих доработки, добро пожаловать наПрограмма перевода самородковВы также можете получить соответствующие бонусные баллы за доработку перевода и PR. начало статьиПостоянная ссылка на эту статьюЭто ссылка MarkDown этой статьи на GitHub.
Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из Интернета сНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,продукт,дизайн,искусственный интеллектЕсли вы хотите видеть более качественные переводы, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.