Какво е готвач? - Инструмент, използван за управление на конфигурацията



Този блог на What is Chef е първият блог от поредицата блогове Chef. Той говори за управление на конфигурацията и как готвачът го постига, използвайки случай на употреба.

Chef е инструмент, използван за управление на конфигурацията и е тясно конкуриращ се с него Куклен . В този блог ще обясня какво е Chef, управление на конфигурацията и как готвачът постига управление на конфигурацията с случай на употреба.

Какво е готвач?

Chef е инструмент за автоматизация, който предоставя начин за дефиниране на инфраструктурата като код. Инфраструктурата като код (IAC) просто означава, че управлението на инфраструктурата чрез писане на код (Автоматизиране на инфраструктурата), вместо използване на ръчни процеси. Може да се нарече и програмируема инфраструктура. Главният готвач използва чист Ruby, специфичен за домейна език (DSL) за писане на системни конфигурации. По-долу са видовете автоматизация, направени от Chef, независимо от размера на инфраструктурата:





  • Конфигурация на инфраструктурата
  • Разгръщане на приложението
  • Конфигурациите се управляват във вашата мрежа

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

Готвач срещу кукла - Какво е готвач - Edureka



подниз в пример на SQL сървър

В Chef, възлите се актуализират динамично с конфигурациите в сървъра. Това се казва Издърпайте конфигурация което означава, че не е необходимо да изпълняваме дори една команда на сървъра Chef, за да изтласкаме конфигурацията на възлите, възлите ще се актуализират автоматично с конфигурациите, налични в сървъра. Следващият ми блог на Урок за готвач ще обясни подробно архитектурата на 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 за автоматично осигуряване и конфигуриране на нови машини.
  • Главният готвач има активна, интелигентна и бързо развиваща се подкрепа на общността.
  • Поради зрелостта и гъвкавостта на готвача, той се използва от гиганти като Mozilla, Expedia, Facebook, HP Public Cloud, Prezi, Xero, Ancestry.com, Rackspace, Get Satisfaction, IGN, Marshall University, Socrata, University of Minnesota, Wharton School на университета в Пенсилвания, Бонобос, Сплънк, Сити, ДуеДил, Дисни и Чийзбъргър.

Според Фил Дибовиц, производствен инженер, Facebook



„Има три измерения на мащаба, които обикновено разглеждаме за инфраструктура - броят на сървърите, обемът на различните конфигурации в тези системи и броят на хората, необходими за поддържането на тези конфигурации. Chef предостави решение за автоматизация, достатъчно гъвкаво, за да се приведе в съответствие с динамиката ни, без да изисква да променяме работния си процес. '

Без съмнение Chef е един от най-известните инструменти за управление на конфигурацията и тясно се конкурира с него Куклен . Но преди да се потопите дълбоко в „Какво е готвач“, справедливо е първо да обясня какво е Управление на конфигурацията и защо е важно.

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

Не се притеснявайте, в този блог няма да има тежка дефиниция за управление на конфигурацията :)

Нека разберем управлението на конфигурацията по този начин - да предположим, че трябва да разположите софтуер върху стотици системи. Този софтуер може да бъде операционна система или код или може да бъде актуализация на съществуващ софтуер. Можете да направите тази задача ръчно, но какво се случва, ако трябва да завършите тази задача за една нощ, защото утре може да е Ден на Големия милиард продажба във фирмата или някоя друга М или Разпродажба и т.н., при които се очаква интензивен трафик. Дори ако сте успели да направите това ръчно, има голяма вероятност от множество грешки във вашия голям ден. Какво ще стане, ако софтуерът, който сте актуализирали на стотици системи, не работи, тогава как ще се върнете към предишната стабилна версия, ще можете ли да направите тази задача ръчно? AF-разбира се не!

За да се реши този проблем, беше въведено управление на конфигурацията. Използвайки инструменти за управление на конфигурацията като Chef, Puppet и др., Можете да автоматизирате тази задача. Всичко, което трябва да направите, е да посочите конфигурациите в един централизиран сървър и съответно всички възли ще бъдат конфигурирани. Той позволява достъп до точен исторически запис на състоянието на системата за управление на проекти и одит. Така че основно трябва да посочим конфигурациите веднъж на централния сървър и да ги репликираме на хиляди възли. Управлението на конфигурацията помага при изпълнението на задачите по-долу по много структуриран и лесен начин:

  • Разбиране кои компоненти да се сменят при промяна на изискванията.
  • Повторно въвеждане на изпълнение, защото изискванията са се променили от последното внедряване.
  • Връщане към предишна версия на компонента, ако сте заменили с нова, но дефектна версия.
  • Подмяна на грешен компонент, тъй като не можахте точно да определите кой компонент трябваше да бъде заменен.

Вижте моя блог на Puppet, за да научите как NYSE спести милиони долари с помощта на Configuration Management

Има общо два начина за управление на вашите конфигурации, а именно конфигурации Push и Pull.

  • Конфигурация на изтегляне: При този тип Управление на конфигурацията възлите периодично анкетират централизиран сървър за актуализации. Тези възли са конфигурирани динамично, така че те извличат конфигурации от централизирания сървър. Конфигурацията на изтегляне се използва от инструменти като Chef, Puppet и др.
  • Push конфигурация: При този тип управление на конфигурацията централизираният сървър изпраща конфигурациите към възлите. За разлика от Pull Configuration, има определени команди, които трябва да бъдат изпълнени в централизирания сървър, за да конфигурирате възлите. Push Configuration се използва от инструменти като Ansible.

Научете различни компоненти на управлението на конфигурацията в моя блог с уроци за кукли

Сега е точното време да ви заведа напред в този стремеж да разберете „Какво е готвач“, като обясня как Chef постига управлението на конфигурацията.

Какво е готвач - управление на конфигурацията с готвач

Разбрахме какво е Chef, сега ще ви обясня как Chef постига Управление на конфигурацията с случай на употреба. Ганет е публично търгуван американски медиен холдинг. Това е най-големият издател на вестници в САЩ, измерен чрез общия дневен тираж.

Традиционният работен процес на внедряване на Gannett се характеризира с множество предавания и ръчни тестове. Нека да видим какви са проблемите, с които са се сблъскали в този процес:

  • Поддържането на точни, повторяеми компилации беше трудно.
  • Имаше много неуспехи в изграждането и тестовете често се изпълняваха в грешна среда.
  • Времето за внедряване и осигуряване може да варира от няколко дни до няколко седмици.
  • Оперативният екип нямаше достъп до облака или средата за разработка.
  • Всяка група използваше своя набор от инструменти и нямаше отчетност за финансиране или сигурност. Никой не знаеше колко всъщност струва едно приложение. Сигурността нямаше начин да провери стековете на софтуера.

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

Ганет видя, че облакът като услуга предлага много предимства. Разработчиците имаха достъп до стандартизирани ресурси. Беше по-лесно да се справим с пиковия трафик поради модела за изчисляване при поискване в облака и прехвърлянията бяха сведени до минимум.

Chef ви позволява динамично да предоставяте и дезактивирате вашата инфраструктура при поискване, за да сте в крак с върховете в използването и трафика. Той позволява по-често да се разгръщат и актуализират нови услуги и функции, с малък риск от престой. С Chef можете да се възползвате от цялата гъвкавост и икономия на разходи, които облакът предлага.

Нека видим какви бяха функциите, изпълнявани от шеф в Gannett:

  • Ганет започна да изгражда VPC (Virtual Private Cloud) за среда за разработка, която да имитира производството. Нито един от инструментите, които те вече използваха, не беше подходящ. Но те откриха, че готвачът работи добре с облака, както с Linux, така и с Windows среда. Те използваха Chef, за да изградят среда за разработка, която идеално съответства на производствената среда.
  • За да се премести приложение във VPC, то трябваше да бъде подготвено и внедрено с Chef.
  • Сигурността ще бъде включена рано и ще управлява задължителния контрол за достъп до готвача и за поддържане на стандартите за сигурност на системата.

Сега е моментът да разберем какви са резултатите от този процес:

  • Разполагането на Gannett стана по-бързо и по-надеждно. Предоставяне и внедряване на приложения, които веднъж отнемаха седмици, след използване на Chef отнема минути.
  • Всички нови приложения бяха внедрени в облака с Chef. Тези приложения бяха разположени във всички среди по същия начин, по който бяха внедрени в производствената. Също така, тестовете се проведоха във всяка среда, така че разполаганията бяха надеждни.
  • Цялата инфраструктура беше третирана като код, което значително увеличава видимостта на всички настъпили промени. Развитие, операции, сигурност и финанси всички се възползваха от това.

След ' Какво е Chef ”Следващият ми блог т.е. Урок за готвач се фокусира върху архитектурата на Chef заедно с нейните компоненти. Обясних също как да разположа Apache2 с помощта на Chef.

Ако сте намерили този блог на „ Какво е Chef ”Подходящо, вижте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение за сертифициране Edureka DevOps помага на обучаващите се да придобият опит в различни процеси и инструменти на DevOps като Puppet, Jenkins, Nagios и GIT за автоматизиране на множество стъпки в SDLC.