Рубрики
Uncategorized

DEVOPS ROADMAP

DevOps Roadmap. Помечено дежоптом, облаком, карьерой.

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

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

DevOps — это набор практик, объединяющих разработку программного обеспечения и операции IT. Он направлен на сокращение жизненного цикла развития систем и обеспечивает постоянную доставку с высоким качеством программного обеспечения. DevOps дополняет развитие Agile Software; Несколько аспектов DevOps пришли от Agile Methodology. — Википедия

Мне тоже нравится это определение от AWS:

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

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

Проще говоря, это все, что может сделать ниже процесса быстрее и гладким:

Кодирование -> Строительство -> Тестирование -> Упаковка -> Выпуск -> Настройка -> Мониторинг -> Повторить и улучшить <-

Мы говорили о том, что DEVOPS, теперь давайте поговорим о devsecops

Мне нравится объяснение сумологического на devsecops 👇

«Devsecops — это философия интеграции практики безопасности в процессе DevOps. Devesecops включает в себя создание культуры «Безопасность в качестве кода» с постоянным гибким сотрудничеством между инженерами выпуска и командами безопасности. Движение Devsecops, как и сам DevOps, ориентирован на создание новых решений для сложных процессов разработки программного обеспечения в Agile Framework.

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

Это просто означает убедиться, что безопасность как часть вашего процесса DevOps и делает его автоматическим.

Прежде чем даже идти дальше, важно понимать ежедневные задачи инженеров DEVOPS, ниже приведены некоторые примеры:

Дизайн, сбор, тестирование и развертывание масштабируемых, безопасных, распределенных систем от разработки через производство управлять репозиторием кода (например, git, svn, bitbucket и т. Д.), включая слияние кода и интеграцию, разветвление и обслуживание и управление удаленным репозитором, настраивать и Поддерживать систему инфраструктуры, разработайте архитектуру базы данных и объекты базы данных и синхронизируют различные среды дизайна и поддержку DevOps Distance Integration и непрерывные трубопроводы, исследования и внедрения новых технологий и практики документальных процессов, систем и создание рабочих процессов и улучшение решений для динамического мониторинга и оповещения Промышленные ведущие услуги постоянно анализируют задачи, которые выполняются вручную и могут быть заменены созданием кода и улучшением непрерывной автоматизации развертывания, построенной на Docker и Kubernetes. Возможно, вы чувствуете, что все это ответственность за разработчиков и оперативных целей в сочетании, и это на самом деле это именно поэтому именно поэтому это:

Развитие) +

Хорошо, достаточно с определениями, теперь давайте поговорим о рекомендуемой дорожной карте:

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

Непрерывная интеграция:

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

Непрерывная доставка:

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

Микровидды:

Архитектура микросервисов — это проектный подход для создания одного приложения в виде набора небольших услуг. Каждая служба работает в собственном процессе и передает другие услуги через четко определенный интерфейс с использованием легкого механизма, как правило, интерфейс программирования приложений на основе HTTP (API). Микросервисы построены вокруг бизнес-возможностей; Каждый сервис имеет место для одной цели. Вы можете использовать различные языки или языки программирования для записи микросервисов и развертывают их независимо, как единое обслуживание, либо как группа услуг.

Инфраструктура как код:

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

Мониторинг и регистрация:

Организации мониторинга метрик и журналов, чтобы увидеть, как эффективность применения и инфраструктуры влияет на опыт конечного пользователя их продукта. Захватив, классификацию, а затем анализируя данные и журналы, генерируемые приложениями и инфраструктурой, организации понимают, как изменения или обновления пользователей воздействия, проливают понимание корневых причин проблем или неожиданные изменения. Активный мониторинг становится все более важным, поскольку услуги должны быть доступны 24/7, и увеличивается частота обновления приложения и инфраструктуры. Создание оповещений или выполнение анализа в реальном времени этих данных также помогает организациям более активно контролировать свои услуги.

Связь и сотрудничество:

Увеличение общения и сотрудничества в организации является одним из ключевых культурных аспектов DevOps. Использование разработчиков и автоматизации процесса доставки программного обеспечения устанавливает сотрудничество по физическому объединению рабочих процессов и обязанностей развития и операций. Строительство на этом, эти команды устанавливают сильные культурные нормы вокруг обмена информацией и облегчая связь посредством использования приложений в чате, выпуске или системах отслеживания проектов и Wikis. Это помогает ускорить связь между разработчиками, операциями и даже другими командами, такими как маркетинг или продажи, позволяя всем частям организации более тесно привыкать к целям и проектам.

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

Мои личные рекомендации: Go, Python, JavaScript (Node.js)

Хорошие курсы:

Идти:

Платный: https://www.udemy.com/course/go-the-complete-developers-guide/

Бесплатно: https://www.youtube.com/watch?v=YS4e4q9oBaU

Python:

Платный: https://www.udemy.com/course/python-the-complete-python-developer-course/

Бесплатно:

Node.js.

Платный: https://www.udemy.com/course/the-complete-nodejs-developer-course-2/

Бесплатно:

Необязательные концепции ОС, необходимые для инженера DevOps, поскольку в качестве инженера DevOps в конечном итоге будет работать с разной ОС (в основном Linux) во время разработки и/или развертывания.

Инженер DevOps часто должен выполнять оптимизацию ОС уровней системы для повышения производительности и/или выполнять другие оптимизации в соответствии с потребностями на применение, знания о управлении процессами, потоками и параллелизмом, Розетки, управление ввода/вывода, виртуализация, хранение памяти и файловые системы были бы очень полезны в этом процессе.

Хорошие курсы:

Оплаченный:

https://www.udemy.com/course/operating-system-concepts/

Бесплатно:

https://www.youtube.com/watch?v=Snrh580U3tI

Как инженер DEVOPS, мы должны управлять всеми видами серверами, и достаточно интереснее, это не только 1 или 2, но флот серверов (иногда даже 100+), в основном состоит из экземпляров Linux (и редко других ОС), и поэтому Предыдущий шаг, т.е. необходимы базовое понимание различных концепций ОС, и после этого углубляют ваши знания в системах Linux, которые облегчат вашу повседневную жизнь 😉

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

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

Хорошие курсы:

Оплаченный:

https://www.udemy.com/course/linux-administration-bootcamp/

https://www.udemy.com/course/nginx-fundamentals/ (nginx)

Бесплатно:

https://www.youtube.com/watch?v=lwjzsgxu5vu (nginx)

Знание сети, безопасность и базовые протоколы абсолютно необходимы, в качестве инженера DevOps, мы должны настроить группы/брандмауэры VPC и безопасности/брандмауэры и использовать различные протоколы, такие как TCP/IP (протокол управления передачей/интернет-протокол), HTTP (Hypertext Передача протокола), SSL (Secure Sockets Layer), SSH (Secure Shell), FTP (протокол передачи файлов), SMTP (простая протокол передачи почты) и многое другое.

В частности, к сетевым концепциям, необходимые концепции, такие как управление рекордом DNS, маршрутизация, брандмауэры и порты, базовые утилиты, такие как Ping, SSH, NetStat, NCR и IP, балансировка нагрузки и шифрование TLS.

Хорошие курсы:

Оплаченный:

https://www.udemy.com/course/introduction-to-computer-networks/

https://www.udemy.com/course/network-security-course/

Бесплатно:

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

Мне также нравится это определение от AWS и Microsoft:

AWS:

«Инфраструктура поскольку код представляет собой практику, в которой инфраструктура обеспечивается и управляется с использованием методов разработки кода и программного обеспечения, таких как контроль версий и постоянная интеграция. Управляемая API облачной, позволяет разработчикам и системным администраторам взаимодействовать с инфраструктурой программно, и в масштабе вместо того, чтобы вручную установить и настроить ресурсы. Таким образом, инженеры могут взаимодействовать с инфраструктурой с использованием инструментов на основе кодов и лечить инфраструктуру таким образом, как они лечат код приложения. Поскольку они определяются кодом, инфраструктурой и серверами могут быть быстро развернуты с использованием стандартизированных шаблонов, обновляемых с последними патчами и версиями, либо дублированными в повторяемых способах ».

Microsoft:

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

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

Все простые слова:

Инфраструктура в качестве кода (IAC) означает управление вашей ИТ-инфраструктурой с использованием файлов конфигурации.

В качестве инженера DEVOPS мы должны знать о контейнерах (Docker), оркестровке контейнера (Kubernetes, Docker Rash), инструменты управления конфигурацией, такие как Anisible, шеф-повар, соль и марионетки, инструменты обеспечения инфраструктуры, такие как террафом и пласта облака.

Хорошие курсы:

Оплаченный:

https://www.udemy.com/course/Docker-mastery/ (Докер)

https://www.udemy.com/course/learn-kubernetes/ (Кубебени)

https://www.udemy.com/course/learn-ansible/ (Anisible)

https://www.udemy.com/course/chef-fundamentals-a-recipe-for-automating-infrastructure/ (Шеф-повар)

https://www.udemy.com/course/learning-salt/ (Соль)

https://www.udemy.com/course/learn-puppet/ (Кукольный)

https://www.udemy.com/course/learning-Path-automation-with-ansable-puppet-and-salt/ (Anisible, марионетка и соль)

https://www.udemy.com/course/learn-devops-infrastructure-automation-with-terraform/ (Терраформ)

https://www.udemy.com/course/aws-cloudformation-master-class/ (Облачное образование)

Бесплатно:

https://www.youtube.com/watch?v=rsistpuiejy (Докер)

https://www.youtube.com/watch?v=mi3lx7yk3hg (Кубебени)

https://www.youtube.com/watch?v=ecnqjbxbcm0 (Anisible)

https://www.youtube.com/watch?v=ltijujeehda (Шеф-повар)

https://www.youtube.com/watch?v=xovhdjzp1x4&list=plggqie0cgrkidrmj3ywbkli2kuyffvfzv (Соль)

https://www.youtube.com/watch?v=khd4kqkkp5y (Кукольный)

https://www.youtube.com/watch?v=0-z1g0bfzsu (Терраформ)

https://www.youtube.com/watch?v=6R44Badnja8 (Облачное образование)

Непрерывная интеграция (CI): непрерывная интеграция (CI) — это практика развития, где часто часто разработчики интегрируют код в общий репозиторий, предпочтительно несколько раз в день. Каждая интеграция может быть проверена автоматическими сборками и автоматическими тестами. При автоматическом тестировании не является строго частью CI, как правило, подразумевается.

Непрерывная доставка (CD):

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

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

Jenkins, Gitlab CI, Circleci, Microsoft VSTS, Коды Коды, Бамбук, Действия GitHub

Хорошие курсы:

Оплаченный:

https://www.udemy.com/course/jenkins-from-zeroo-to-hero/ (Дженкинс)

Бесплатно:

https://www.youtube.com/watch?v=fx322rvngj4 (Дженкинс)

Организации мониторинга метрик и журналов, чтобы увидеть, как эффективность применения и инфраструктуры влияет на опыт конечного пользователя их продукта. Захватив, классификацию, а затем анализируя данные и журналы, генерируемые приложениями и инфраструктурой, организации понимают, как изменения или обновления пользователей воздействия, проливают понимание корневых причин проблем или неожиданные изменения. Активный мониторинг становится все более важным, поскольку услуги должны быть доступны 24/7, и увеличивается частота обновления приложения и инфраструктуры. Создание оповещений или выполнение анализа в реальном времени этих данных также помогает организациям более активно контролировать свои услуги.

Очень важно для разработчика Engerier собирать обратную связь и быстро реализовать изменения, за то, что вы должны иметь знания о мониторинге инструментов, таких как: Nagios, Prometheus, Grafana

Хорошие курсы:

Оплаченный:

https://www.udemy.com/course/setting-up-nagios-4/ (Нагиос)

https://www.udemy.com/course/monitoring-and-Alerting-with-prometheus/ (Прометей)

https://www.udemy.com/course/grafana-graphite-and-statsd-visualize-metrics/ (Графана)

Бесплатно:

https://www.youtube.com/watch?v=knco6wzcw3w (Негиос)

https://www.youtube.com/watch?v=9gmwvfcqjyi (Прометей)

https://www.youtube.com/watch?v=stp7yzxmdfk&list=plyjqgmym0vno9osz-ebv6iu2l10mue2a- (Графана)

Я всегда говорю:

Нет девопам без облака

Это на самом деле самоуверенно, но все же, позвольте мне немного упростить, за что позвольте мне задать вам вопрос?

Вы думаете о том, чтобы сделать DevOps для вашей местной машины?

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

В настоящее время здесь есть несколько поставщиков услуг облачного обслуживания, который 3 — это доля верхней части рынка, они AWS, Azure и GCP, позвольте мне рассказать вам, какие инструменты для каждого поставщика облака вы должны учиться:

AWS: Облачный лидер CI & CD: AWS CodePipipeline, AWS CodeBuild, AWS CODDEDEDOPLE, AWS CODESTAR

Microsevices: Amazon Eurestial Container Consister (ECS), AWS Lambda,

Инфраструктура как код: Облачное формирование, AWS OPSWORKS

Управление конфигурацией: AWS System Manager

Политика как код: AWS Config

Мониторинг и регистрация: Amazon Cloudwatch, рентгеновский AWS CloudTrail

Платформа как услуга: AWS EURASIC BEANTALK

Контроль версий: AWS CodeCommit

Microsoft Azure: CI & CD: трубопроводы Azure, планы испытаний Azure, Azure Artifacts

Управление версиями: Azure Repos

GCP: CI/CD: Cloud Build, Tekton, реестр артефакта, менеджер развертывания

Хорошие курсы:

Оплаченный:

https://www.udemy.com/course/aws-sertified-developer-associate/ (AWS)

https://www.udemy.com/course/aws-certified-developer-associate-dva-c01/ (AWS)

https://www.udemy.com/course/aws-certified-devops-engineer-professional-hands-on/ (AWS)

https://www.udemy.com/course/azure-devops-for-beginners/ (Azure)

https://www.udemy.com/course/azure-devops-ci-cd-pipelines/ . (Azure)

https://www.udemy.com/course/microsoft-azure-devops/ (Azure)

https://www.udemy.com/course/google-certified-architect-developer-engineer-data-devops/ (GCP)

Бесплатно:

https://www.youtube.com/watch?v=rrkrn9zrbws (AWS)

https://www.youtube.com/watch?v=pxggedb3e (AWS)

https://www.youtube.com/watch?v=k1Ri5Locze4 (AWS)

https://www.youtube.com/watch?v=tdurux7xsac (Azure)

https://www.youtube.com/watch?v=qmvaydc4uuw (Azure)

https://www.youtube.com/watch?v=rfbxgk-t0dm (GCP)

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

Я желаю вам удачи в вашем путешествии DEVOPS 😊

Sandip DAS работает как SR. Cloud Solutions Architect & DevOps Engineer для многих технологических компаний/стартовых компаний, также проведение заголовка « AWS Container Hero ».

Он всегда находится в режиме «Хранить в обучении», пользуется делом знаний с другими, а в настоящее время проводит 4 сертификата AWS. Sandip находит ведение блога как отличный способ поделиться знаниями: он пишет статьи на LinkedIn О облаке, DevOps, программировании и многое другое. Он также создает видеоурок на его YouTube Channel Отказ

Оригинал: «https://dev.to/sd031/devops-roadmap-3fic»