Spread the love

Автоматизируем ИТ-инфраструктуру.

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

Не говоря уже об общей стоимости инфраструктуры.

Но благодаря современным технологиям и философии, таким как DevOps, это больше не проблема.

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

Автоматизация инфраструктуры — это процесс развертывания аппаратных/программных компонентов, операционной системы, сетевых компонентов, компонента хранилища данных с использованием IaC (инфраструктура как код). Этот процесс имеет вмешательство человека только для написания такого кода, в котором будут все детали для создания и развертывания необходимых компонентов.

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

Ансибль

Ансибль — это безагентный ИТ-движок с открытым исходным кодом, который автоматизирует развертывание приложений, управление конфигурацией и оркестрацию ИТ. Он был основан в 2012 году и написан на самом популярном в настоящее время языке Python. Для реализации всей автоматизации Ansible использует playbook, где все конфигурации написаны на понятном человеку языке YAML.

Если вы новичок, ознакомьтесь с Ansible Introduction.

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

Возможности Ansible:

  • Автоматизация с помощью простого понятного человеку языка
  • Безагентная архитектура, вы можете подключаться к серверам по простому SSH.
  • Модель push передает конфигурации на сервер с локального компьютера, которым вы управляете.
  • Построен на Python, поэтому поддерживает множество библиотек и функций Python.
  • Подборка модулей Ansible, разработанная командой инженеров Red Hat.

Для предприятий Red Hat предлагает Ansible Tower.

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

стек соли

стек соли может выполнять управление инфраструктурой, управление конфигурацией, оркестрацию с высокой скоростью. По сравнению с другими подобными инструментами, такими как Chef и Puppet, высокая скорость SaltStack здесь является существенным отличием. Его первоначальный выпуск состоялся в 2011 году, и, как и Ansible, он также написан на Python.

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

Возможности SaltStack:

  • Разработанный для масштабирования и скорости, он может обрабатывать до 10000 миньонов на одного мастера.
  • Очень прост в настройке, имеет единую архитектуру удаленного выполнения.
  • Файлы конфигурации в SaltStack поддерживают все виды языков.
  • Он может выполнять команды в удаленных системах параллельно, что помогает быстро применять автоматизацию.
  • Предоставляет простой программный интерфейс с использованием API-интерфейсов Python.

шеф-повар

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

Chef — это инструмент управления конфигурацией для управления инфраструктурой. Он был написан на Ruby, а первоначальный выпуск состоялся в 2009 году компанией OpsCode.

Шеф-повар Управление инфраструктурой Продукт обеспечивает согласованность каждой среды с одинаковыми конфигурациями в инфраструктуре. Он предоставляет различные инструменты, такие как Chef Infra, Chef Automate, Chef Enterprise и Chef Community, для управления инфраструктурой.

Функции управления инфраструктурой Chef:

  • Конфигурации написаны на YAML, легко выучить человекочитаемый язык.
  • Он поставляется с несколькими инструментами разработки для написания кулинарных книг (конфигураций), тестирования и разрешения зависимостей.
  • Простые функции совместной работы в версии для предприятий, позволяющие легко справляться со сложными средами.
  • Поддержка интеграции с сотнями инструментов DevOps, таких как GitHub, Jenkins, Azure Terraform.

Болт

Болт — один из проектов Puppet с открытым исходным кодом.

Это безагентный инструмент оркестровки для автоматизации ИТ. Используя Bolt, вы можете автоматизировать все свои ручные задачи, которые вы должны выполнять сегодня по мере необходимости. Я говорю о таких задачах, как развертывание приложения, устранение неполадок серверов, остановка и перезапуск службы, исправление и обновление систем и т. д.

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

Характеристики болта:

  • Напишите план болтов (комбинация команд, скриптов и задач) в YAML, простой в использовании и изучении.
  • Многие существующие планы и рабочие процессы доступны из Кукольная кузница (библиотека модулей).
  • С легкостью перенесите свою автоматизацию с Bolt на Puppet Enterprise для лучшей масштабируемости.

Терраформ

Терраформ — это инструмент подготовки инфраструктуры с открытым исходным кодом, используемый для создания и развертывания инфраструктуры с использованием инфраструктуры как кода (IaC). Его разработала Hashicorp, а первоначальный выпуск состоялся в 2014 году.

Ознакомьтесь с введением в Terraform для начинающих.

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

Преимущества терраформ:

  • С легкостью управляет конфигурацией неизменной инфраструктуры.
  • Может выполнять полную оркестровку инфраструктуры, а не только управление конфигурацией.
  • Использует язык конфигурации HashiCorp (HCL), который удобочитаем и очень прост в освоении.
  • Предоставляет готовые модули и поставщиков для сотен инструментов и технологий через терраформировать реестр.

Если вы решили использовать его, не забудьте следовать этим рекомендациям Terraform.

Вывод

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

x