Что такое шеф-повар? - Инструмент, используемый для управления конфигурацией



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

Chef - это инструмент, используемый для управления конфигурациями, который тесно конкурирует с Кукольный . В этом блоге я объясню, что такое Chef, Configuration Management и как Chef реализует управление конфигурацией с помощью варианта использования.

Что такое шеф-повар?

Chef - это инструмент автоматизации, который позволяет определять инфраструктуру как код. Инфраструктура как код (IAC) просто означает управление инфраструктурой путем написания кода (автоматизация инфраструктуры), а не с помощью ручных процессов. Ее также можно назвать программируемой инфраструктурой. Chef использует чистый Ruby, предметно-ориентированный язык (DSL) для написания системных конфигураций. Ниже приведены типы автоматизации, выполняемые Chef, независимо от размера инфраструктуры:





  • Конфигурация инфраструктуры
  • Развертывание приложения
  • Конфигурации управляются через вашу сеть

подобно Кукольный который имеет архитектуру Master-Slave, даже Chef имеет архитектуру Client-Server. Но у Chef есть дополнительный компонент под названием Workstation. О рабочей станции я расскажу в следующем блоге. См. Схему ниже:

Chef vs Puppet - What Is Chef - Эдурека



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

Теперь давайте посмотрим на причины популярности Chef.

приведение типов данных в Java

Что такое Chef - ключевые показатели Chef

  • Chef поддерживает несколько платформ, таких как AIX, RHEL / CentOS, FreeBSD, OS X, Solaris, Microsoft Windows и Ubuntu. Дополнительные клиентские платформы включают Arch Linux, Debian и Fedora.
  • Chef можно интегрировать с облачными платформами, такими как Internap, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer, Microsoft Azure и Rackspace, для автоматического выделения ресурсов и настройки новых машин.
  • Chef пользуется активной, умной и быстрорастущей поддержкой сообщества.
  • Благодаря зрелости и гибкости Chef, он используется такими гигантами, как Mozilla, Expedia, Facebook, HP Public Cloud, Prezi, Xero, Ancestry.com, Rackspace, Get Satisfaction, IGN, Университет Маршалла, Сократа, Университет Миннесоты, Школа Уортона. Университета Пенсильвании, Бонобо, Splunk, Citi, DueDil, Disney и Cheezburger.

По словам Фила Дибовица, инженера-технолога Facebook



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

Без сомнения Chef - один из самых известных инструментов управления конфигурациями, который тесно конкурирует с Кукольный . Но, прежде чем углубиться в тему «Что такое Chef», будет справедливо сначала объяснить, что такое управление конфигурациями и почему это важно.

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

Не волнуйтесь, в этом блоге не будет тяжелого определения Configuration Management :)

Позвольте нам понять управление конфигурацией таким образом - предположим, вам нужно развернуть программное обеспечение на сотнях систем. Это программное обеспечение может быть операционной системой, кодом или обновлением существующего программного обеспечения. Вы можете выполнить эту задачу вручную, но что произойдет, если вам придется завершить ее в одночасье, потому что завтра может быть День большого миллиарда продажа в компании или некоторых M или Продажа и т.д., в которых ожидается интенсивное движение. Даже если вы смогли сделать это вручную, высока вероятность множественных ошибок в ваш важный день. Что делать, если программное обеспечение, которое вы обновляли в сотнях систем, не работает, тогда как вы вернетесь к предыдущей стабильной версии, сможете ли вы выполнить эту задачу вручную? АФ-конечно нет!

как установить путь Java

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

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

Обратитесь к моему блогу на Puppet, чтобы узнать, как NYSE сэкономила миллионы долларов с помощью Configuration Management.

Существует два основных способа управления конфигурациями, а именно конфигурации Push и Pull.

  • Конфигурация вытягивания: В этом типе управления конфигурацией узлы периодически опрашивают централизованный сервер на предмет обновлений. Эти узлы настраиваются динамически, поэтому в основном они получают конфигурации с централизованного сервера. Конфигурация вытягивания используется такими инструментами, как Chef, Puppet и т. Д.
  • Нажмите Конфигурация: В этом типе управления конфигурацией централизованный Сервер передает конфигурации узлам. В отличие от конфигурации по запросу, существуют определенные команды, которые необходимо выполнить на централизованном сервере для настройки узлов. Push Configuration используется такими инструментами, как Ansible.

Изучите различные компоненты управления конфигурацией в моем учебном блоге по Puppet.

Сейчас самое подходящее время, чтобы я продвинулся вперед в этом поиске понимания «Что такое Chef», объяснив, как Chef обеспечивает управление конфигурацией.

Что такое Chef - Управление конфигурацией с помощью Chef

Мы поняли, что такое Chef, теперь я объясню вам, как Chef обеспечивает управление конфигурацией с помощью варианта использования. Gannett - публичный американский медиахолдинг. По общему дневному тиражу это крупнейшее газетное издательство США.

Традиционный рабочий процесс развертывания Ганнета характеризовался множеством передач и ручными тестами. Давайте посмотрим, с какими проблемами они столкнулись в этом процессе:

  • Было сложно поддерживать точные, воспроизводимые сборки.
  • Было много сбоев сборки, и тесты часто выполнялись в неправильных средах.
  • Время развертывания и подготовки может составлять от нескольких дней до нескольких недель.
  • У операционной группы не было доступа к облаку или средам разработки.
  • Каждая группа использовала свой собственный набор инструментов, и не было финансовой отчетности или безопасности. Никто не знал, сколько на самом деле стоит приложение. У службы безопасности не было возможности проверять стеки программного обеспечения.

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

Ганнетт видел, что облако как услуга дает много преимуществ. Разработчики имели доступ к стандартизированным ресурсам. Благодаря облачной модели вычислений по запросу стало легче справляться с пиковым трафиком, а передача обслуживания была сведена к минимуму.

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

Посмотрим, какие функции выполнял шеф-повар Gannett:

  • Ганнетт начал создавать VPC (виртуальное частное облако) для среды разработки, которая имитировала бы производство. Ни один из инструментов, которые они уже использовали, не подходил. Но они обнаружили, что Chef хорошо работает с облаком и средами Linux и Windows. Они использовали Chef для создания среды разработки, идеально подходящей для производственной среды.
  • Чтобы приложение переместилось в VPC, его нужно было подготовить и развернуть с помощью Chef.
  • Безопасность будет задействована на раннем этапе и будет управлять обязательными элементами управления для доступа к Chef и для поддержания стандартов безопасности системы.

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

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

После ' Что такое шеф-повар «Мой следующий блог, т.е. Учебник повара фокусируется на архитектуре Chef и его компонентах. Я также объяснил, как развернуть Apache2 с помощью Chef.

Если вы нашли этот блог на « Что такое шеф-повар ' соответствующие, проверить от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру. Курс Edureka DevOps Certification Training помогает учащимся получить опыт в различных процессах и инструментах DevOps, таких как Puppet, Jenkins, Nagios и GIT, для автоматизации нескольких этапов в SDLC.