Рубрики
Uncategorized

Дежол — как даже начать?

Привет, меня зовут Mert, и я сейчас практикующий DevOps более 4 лет. Я один из механизма DEVOPS … Теги с DevOps, карьерой.

Привет, меня зовут Mert, и я сейчас практикующий DevOps более 4 лет. Я один из инженеров DEVOPS, которых вы видите в настоящее время, которые когда-то выполняли его управление IT-операциями/системами и сетьми типами роли и смещены или переходили на заголовок «Дежол». Если вы выполняете вышеупомянутые роли в технологической компании, где существует какая-то работа по программному обеспечению, и предприятия основной стоимости/обслуживания разрабатываются, доставляют и поддерживают это программное обеспечение, то вы уже ближе к шагу. Хотя это мой путь и фон в этом посте, я буду обсуждать, что вам нужно знать в целом и что сосредоточиться на дополнительном случае, если вы не приезжаете с фона систем и сетей.

Почему я даже стал инженером сети/инфраструктурой в первую очередь?

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

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

Затем я воздействовал в администрацию систем и сетей во время моей первой стажировки. Я разработал интерес к этой области и исключил программирование на всю оставшуюся карьеру. После окончания своей степени бакалавра я поступил в программу Masters по сетевым системам и даже достигал маршрутизации Cisco CCNA и коммутации, CCNA Security Security и Microsoft MCITP и сертификаты и сертификаты.

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

Естественный переход к девопам со Сысадмина

В начале моей карьеры я работал в компании, где у нас были традиционные IT-операции и Software Solution Silos. SILO означает две разные команды с не намного пересекающимися оперативными целями. Разработчики несут ответственность за доставку функций, и она была ответственна, чтобы сделать и сохранить все в эксплуатации в оптимальном исполнении. В качестве команды IT мы были ответственны за предоставление веб-серверов, серверов баз данных, DNS-зон, резервирование охраняемых брандмауэр. Блокировка пути к вашему внутреннему персоналу.

Команда программного обеспечения (ы) отвечала за разработку и распространение их приложений, и мы были просто там, чтобы убедиться, что все проводится плавно, но не имела большую ответственность в процессе операционной системы и платформы вверх. Например, я буду следить за кластером коммутаторов волокна, кластеров гипервизора, а затем все логические операционные системы сервера Windows, а затем службы в этих операционных системах, а также доступность наших внешних конечных точек, таких как API и веб-сайты. Все это произошло однажды, я пытался устранить неисправный выпуск по производству после недавнего развертывания. Я точно не помню, как именно мои побочные данные шаги в этот день, но я помню, что я смог исправить это, исправляя некоторые форматирование внутри строки подключения для приложения ASP .NET, которое мы ходили.

Ведущий разработчик был шокирован. Как ты? Как ты даже? Я объяснил ему, что в нашей дисциплине мы в основном устраняем неисправность путем устранения. После того, как я убедился, что все остальные возможные подозреваемые работали нормально, я проверил конфигурацию приложения (Web.config файл IIS Web Server в моем случае) и посмотрите на него неразрешительность, и получите приложение назад. Я сказал ему, что я видел это приложение в наших непроизходных средах настолько, что теперь я знаю с ним таким образом, чтобы я мог выполнить простую чеку здравомыслие и иметь ожидание того, как он должен выглядеть Как (на стороне сервера) и как оно должно вести себя.

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

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

Это сам по себе было бы здорово, потому что мне будет первый раз, чтобы у меня было бы сначала настроить полную компанию, которую она следовала, почти с нуля. Более того, мы собирались использовать Office365 и Microsoft Azure и Azure Devops для всех наших нужд хостинга и лицензирования.

Мне предложили управлять доставкой программного обеспечения (CI/CD), а также регулярные обязанности IT и производственных операций у меня уже есть. Разница в этот раз было почти нулевое физическое оборудование для поддержания благодаря всем облачным предложениям SaaS, IAAS и PAAS.

Clickops не масштабируемы, вам нужно автоматизировать

Переход к тому, что дела с кодом или автоматизацией было то, что я в основном видел подходящим для крупных операций. После того, как вы начнете использовать Public Cloud Provider, вы скоро понимаете, что вы должны взаимодействовать с ним по-разному.

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

Дежол не только автоматизация и трубопроводы

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

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

Эти вещи являются знаниями и навыками, которые застройщики часто не хватает или имеют меньше, что очень естественно.

Так что вам нужно знать?

Ниже приведен мой личный вынос высокого уровня того, что инженер DEVOPS должен знать как минимум:

Знания платформы (Azure, AWS, GCP, VMware, OpenShift)

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

Знать основы вашей платформы

Каждый из них может иметь разные способы делать вещи с точки зрения небольших деталей и реализаций, но в целом большинство этих платформ работают так же. Вам нужно знать самые основные фундаментальные 15-20 услуг, по крайней мере,% 80, чтобы помочь другим.

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

Оценка затрат

Вы должны быть в состоянии выяснить и объяснить стоимость компонента и разбивки облачной инфраструктуры и макета обслуживания в целом.

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

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

Владение и операции

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

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

Дежол Основы

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

Никогда не делайте ничего дважды.

Скрипт/автоматизировать все, насколько это возможно, чтобы уменьшить повторные усилия.

Построить и обрабатывать свою инфраструктуру, как стадо, а не домашнее животное.

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

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

Построить после развертывания Многие

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

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

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

Внутренние и внешние петли обратной связи для разработки программного обеспечения

Разработка процессов состоит из внутренних и внешних петлей обратной связи.

Эти петли необходимы для улучшения качества устойчивости кода.

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

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

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

Различие между внутренним и внешним контуром — это время и усилия, необходимое для завершения цикла обратной связи.

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

Технические навыки

Вам нужно изучить язык программирования.

Вокруг этого нет. Вам необходимо хотя бы использовать интерпретацию языков для целей сценариев.

Моя рекомендация по этому — сначала изучать PowerShell или Bash в зависимости от вашего применения (Windows/Mac/Linux).

Python и JavaScript также очень легко освоить, наряду с C #. Хотя это полностью скрытые языки программирования, они также могут быть использованы для простой автоматизации DEVOPS.

PowerShell 6+ Особенно делятся некоторыми .NET Основная структура с C # Вы можете использовать большинство системных библиотек C #, которые делают его еще более мощным языком. Как и любые навыки, это можно узнать. Есть тонны бесплатных ресурсов для изучения программирования даже с нуля.

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

Если вы уже знаете программирование немного, но ищете интересного способа почистить свои навыки, вы можете начать с чего-то вроде https://www.codewars.com/ И начните практиковать там с языком выбора.

Вам нужно изучать инструменты CI/CD

Вы можете начать с инструмента с открытым исходным кодом, таким как Jenkins или начать использовать размещенную службу, такую как GitLab, Azure DEVOPS.

Система управления версиями

Узнайте Git, это самый широкий и самый подходящий инструмент для методов Agile и DEVOPS. Вы также можете столкнуться с TFS (TFVC) или другими технологиями, но в данный момент GIT является наиболее широко используемой системой.

Инфраструктура/конфигурация как код

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

Вы можете использовать межплатформенные и многоуровневые инструменты, такие как Terraform или Anbible, однако вы также можете использовать официальные инструменты поставщиков облаков, таких как Azure Resource Manager (ARM) Шаблоны или AWS CloudFormation Templates.

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

Хорошие старые системы и сетевой инженерии

Вы когда-нибудь слышали о истории пакета TCP в сети? Как он покоряет миру, родившийся в небольшом модеме в нашем доме и достигает могучих серверов интернет-земли. Это была веселая история, которую я слышал во время моего первого обучения CCNA.

Помимо шутит, хотя сегодня у нас есть много абстракции в управлении сетевой и инфраструктурой, особенно из-за роста предложений PAAS и облачных провайдеров, поступающих с удобными методами, такими как встроенное имя хоста DNS встроенные встроенные защиты SSL/TLS, исправления и обновление и обновление скоро.

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

Однако вам нужно знать технологии, связанные с Интернетом, такие как IP-адреса, DNS, HTTP/HTTPS, TCP/UDP-порты, операционные системы, брандмауэры/ACL, мониторинг и список.

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

Кто может стать «дежоптом»?

Хотя DEVOPS способные Sysadmins несколько более ценилизуются в некоторых средах из-за их количества, настолько низкие, некоторые компании также принимают кандидатов с другими прогулками индустрии информационных технологий.

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

Эта вещь, которую я слышал бесчисленные времена, легче преподавать операционную инженера, как сделать эти новые «дежопты» вещи, тогда как труднее преподавать разработчику программного обеспечения, как получить навыки Sysadmin.

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

Я не верю в эти ограничения, я думаю, что все могут отделить и расширить свои навыки, установленные в районе, которого им не хватает. Я очень хорошее доказательство этого перехода. Около октября 2018 года я решил искать исключительную роль DevOps.

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

В течение 9 месяцев я изучал Git, Jenkins, TFS, PowerShell, Bash, Docker, Kubernetes, в целом гораздо больше услуг Azure и AWS, террафора и упаковщика и использовал их в коммерческой среде, для реальных проектов.

Я был в постоянном обучении и эксперименте. Чтобы остановить все это, мой менеджер сказал мне, чтобы получить облачную сертификацию только для меня, и я сделал. Я получил свой сертификат «Microsoft Certified Adure Administrator» в октябре 2019 года.

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

Сосредоточиться на том, что у вас уже есть, и перестаньте пробелы

Чтобы дальнейшее расширение в моих пунктах выше, вы можете прийти в DevOps из всех дисциплин. Это все зависит от вас. В зависимости от вашей прошлой роли вы можете иметь другие сильные стороны

QA Engineer/Тестовые/Автоматизация инженеров

Вы уже пишем код для автоматизации тестов. Таким образом, вы знаете, как код. Вы знаете, как работает жизненный цикл развития программного обеспечения, и вы, вероятно, имели больше контакта с разработчиками, поэтому вы будете лучше общаться с ними. Вы уже являетесь инженером Devops% 50.

Инженеры программного обеспечения

Вы уже знаете, как писать сборки и тестирование и, возможно, развернуть ваш код. Вы очень знакомы с процессом разработки программного обеспечения. Может быть, вы были тем, кто всегда был оставлен, чтобы сделать развертывание производства в вашей команде, и теперь вы хотите попасть в DevOps. Вы уже являетесь инженером Devops% 50.

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

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

Как разработчик или qa инженер, вы более микроактивные с точки зрения того, как вы будете работать. Инженеры DEVOPS работают к целям, но они часто несут ответственность за то, как достичь этих целей либо соло, либо в совокупности с другими инженерами DEVOPS, которые также могут быть переданы как «практика DevOps»

Не волнуйтесь и просто учитесь учиться

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

Это позволяет работодателям быть более приемлемым для кандидатов из других областей и позволяет им время учиться и адаптироваться к роли.

Некоторые компании также предпочли бы предпочтительными кандидатами фона программного обеспечения, если роли также требуют много работы.

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

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

Оригинал: «https://dev.to/mertsenel/devops-how-to-even-begin-13mg»