Выяснилось: самые важные инструменты DevOps для новичков

Выяснилось: самые важные инструменты DevOps для новичков

21 февраля 2022 г.

Инструменты, которые вам нужно изучить


DevOps – это сокращение от Development Operations. DevOps – одна из самых горячих тем сегодня. Чтобы стать DevOps-инженером, вам нужно освоить множество навыков.


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


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


Здесь я представляю дорожную карту, которая может помочь вам развить навыки DevOps:


Компьютерная и сетевая архитектура


Компьютерная и сетевая архитектура – это понимание базовой структуры компьютерной системы и принципов работы сетей. Сюда входит функционирование ЦП, памяти, внешних устройств, сетевых протоколов, протоколов маршрутизации и т. д.


Знание этого поможет вам принимать такие решения, как:


  • Какой службе нужны какие ресурсы (сервер)

  • Какой должна быть структура сетей, таких как подсети и группы безопасности

  • Какие порты открыть

Скрипт


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


DevOps включает в себя автоматизацию процессов, для которых инженеры должны писать сценарии. Скрипты можно создавать на разных языках — shell, python, javascript и т. д.


Умение писать сценарии позволяет легко автоматизировать развертывание, процессы и повседневную деятельность.


git и Гитхаб/Битбакет/Гитлаб


Git – самый популярный среди разработчиков контроль версий. Github/Bitbucket/Gitlab – это репозитории, которые размещать git-серверы для вас. На этих платформах вы храните свой код в git, и эти платформы предоставляют вам множество инструментов управления.


Инженер DevOps должен быть знаком с командами git и конвейерами DevOps, предоставляемыми этими платформами. Это помогает им настроить конвейеры CI/CD.


Дженкинс


Jenkins – один из наиболее часто используемых инструментов автоматизации и CI/CD. Это сервер автоматизации с открытым исходным кодом.


Большое разнообразие плагинов, поддерживаемых Jenkins, пригодится при автоматизации ваших проектов. Эти плагины варьируются от таких инструментов, как Jira, JUint, до инфраструктурных плагинов, таких как плагин EC2, Docker, и коммуникационных плагинов, таких как Slack Notification.


Ansible/Puppet/Chef/SaltStack


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


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


Я выбрал Ansible в первую очередь из-за простоты настройки и управления. Создать плейбуки Ansible для развертывания чрезвычайно просто.


Изучение одного из этих навыков является обязательным для разработчика DevOps.


Докер


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


Docker также считается более быстрым способом развертывания по сравнению с Ansible, Puppet, Chef и SaltStack. Эти контейнеры можно использовать для размещения приложения на сервере любого типа.


Облачные платформы


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


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


Управление журналом


Наличие значимых журналов для ваших приложений и служб является важным аспектом развертывания. Управление журналом включает в себя следующее:


Правильное управление журналом для вашего программного обеспечения приносит следующие значения:


  • Отладка

  • Анализ ошибок

  • помогает контролировать ваши приложения

  • Поведение пользователей

Существует множество способов управления журналами. Есть несколько таких инструментов, предоставляемых облачными платформами, например CloudWatch AWS.


ELK – наиболее широко используемый инструмент для мониторинга и визуализации журналов. Это комбинация трех инструментов с открытым исходным кодом:





Вы можете анализировать, искать и фильтровать журналы. Kibana поможет вам создать красивую визуализацию из журналов.


CI/CD


Непрерывная интеграция/непрерывное развертывание — это процесс выпуска программного обеспечения, которое было квалифицировано и развернуто автоматически.


CI/CD сокращает время от внесения изменений в код до поставки программного обеспечения.


Построение конвейеров CI/CD — одна из самых важных обязанностей команды DevOps. Существует множество способов создания конвейеров, таких как конвейер Gitlab, конвейер Bitbucket, сборка AWS Code.


Чтобы построить конвейер CI/CD, вам необходимо работать вместе с командой Dev и QA. Отличный конвейер (сопровождаемый отличными практиками) не требует ручного вмешательства от фиксации кода до тестирования и развертывания.


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


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


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


CloudFormation (от AWS) и Terraform – несколько популярных «инфраструктура как код». программные средства.


Кубернетес


Kubernetes – это система с открытым исходным кодом, которая используется для развертывания и управления контейнерами на нескольких серверах.


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


Популярные облачные платформы предоставляют готовые сервисы Kubernetes, такие как


  • GKE по GCP

  • EKS от AWS

  • AKS от Azure

Заключительные слова


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


  • Впервые опубликовано [здесь] (https://levelup.gitconnected.com/the-ultimate-devops-roadmap-for-newbies-65ea10a0c115)*


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE