Коли доцільно використовувати менеджер конфігурації (наприклад, Лялька / шеф-кухар / відповідь)?


17

На своєму теперішньому робочому місці я доглядаю за двома хост-машинами VMware, фізичною машиною OpenBSD, трьома віртуальними машинами Debian та шістьма віртуальними машинами Windows Server (2008/2012).

Я розглядаю можливість застосувати інструмент управління конфігурацією, такий як Лялька чи шеф-кухар. Це розумно, чи витрати на навчання інструменту перевищуватимуть переваги? Де переломний момент між керованістю та вартістю впровадження?


1
Це "доцільно", як тільки вам потрібно буде керувати конфігурацією - потрібно відновитися після катастрофи? Потрібно перейти до нового центру обробки даних? Потрібно розширюватися по горизонталі? Якщо ти робиш вручну, ти робиш це неправильно . " Робити це двічі? Запишіть це ".
warren

1
Це залежить від того, що вам потрібно зробити для / з цими системами.
ewwhite

Відповіді:


25

IMHO варто вивчити, навіть якщо ви керуєте лише одним сервером,

Так, буде крива навчання. Так, ви розчаруєтесь. Однак за ці витрати вам будуть повернені в кілька разів через надійні, послідовні розгортання одним клацанням миші, конфігурацію сервера з керованою версією, простоту налаштування тестових / розробницьких середовищ тощо.

Окрім переваг на вашій нинішній роботі, велика виграш - можливість додати систему CM до вашого резюме. Очікується, що сучасні системні адміністратори матимуть хоча б вплив системи керування конфігураціями, якщо не досвідченість.

(Sidenote: також розглядайте Ansible. Це мій улюблений CM, і дуже легко вставати і працювати з ним - набагато простіше, ніж будь-який ляльковий чи шеф-кухар.


5
Добре сказано. Я в кінцевому підсумку використовую Ansible у таких дрібницьких речах, як налаштування малинового пі в домашніх умовах, оскільки це зручний спосіб документувати процес.
tedder42

2
Абсолютно! Потрапити в шефа - це величезна перемога у кар’єрі для мене. Ось справжня річ: через пару років КМ буде майже необхідною / очікуваною для всіх, крім молодших завдань на SysAd.
gWaldo

2
Повністю узгоджений. Занадто велика увага приділяється автоматизації установки, яка є лише однією частиною систем СМ. Люди забувають, що означає M - менеджмент. Як ви відстежуєте різні зміни конфігурації, які ви вносите на 1 сервер. Кількість серверів не має значення. Коли той 1 сервер гине, ви щасливі, що зможете точно його відновити без сумнівів.
ETL

5

Я розглядаю можливість застосувати інструмент управління конфігурацією, такий як Лялька чи шеф-кухар. Це розумно, чи витрати на навчання інструменту перевищуватимуть переваги?

Це доцільно залежно від того, скільки часу і грошей ви повинні спалити, і від того, чи спалюєте ви ці гроші.

Інструмент управління конфігурацією (будь-який з них) стає цінним навиком на сучасному ринку.

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

Де переломний момент між керованістю та вартістю впровадження?

Більшість інструментів управління конфігурацією доступні безкоштовно із застереженням, що їх складніше встановити та розпочати.

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

Якщо вам справді потрібно лише примусити свою інфраструктуру до передбачуваного та базового стану, то, можливо, не зашкодить зібрати самі основи чогось на зразок SaltStack чи Ansible.

З мого особистого досвіду, Salt дуже легко збирається і завантажується на сервери, і його можна використовувати для дуже простого віддаленого виконання та звітування, що може стати в нагоді, якщо ви цього ще не реалізували у вашому середовищі.

Майте на увазі, я упереджений. Ви повинні оцінити кожен інструмент CM самостійно.


4

Так, як сказав @EEAA - кількість серверів не має значення. Ви можете скористатися перевагами використання керування конфігурацією на одній машині:

  • задокументована установка (задокументована за допомогою скриптів CM)
  • надійне розгортання (ви можете [повторно] розгортати налаштування знову і знову
  • стійкість налаштування (поточний сервер виконує перекручування нового)
  • повторне використання (коли ви доберетеся до другого сервера - у вас вже є сценарії CM, які ви можете переробити з першого)
  • оновлення (це схоже на нове налаштування, просто на іншій платформі)

Я можу сказати, що мені довелося впроваджувати CM для всіх моїх особистих серверів, оскільки я там працюю нечасто і забуваю всі дрібниці. Маючи сценарії CM, хоча, здається, це забирає багато часу (окрім цього) окупність того варто. Довгостроково ви заощадите набагато більше часу, який витратите на налаштування речей.


3

Я маю досвід роботи з лялькою та Ansible. Відповідь є ІМО простішим, оскільки це процедурний, тоді як Лялька є декларативним. У обох є плюси і мінуси, але я витягнув достатньо волосся через критичні помилки Лялечки.

Обидва вимагають великої роботи, якщо ви хочете створити чисту та багаторазову конфігурацію. Витрати починають справді окупатися, якщо у вас є принаймні два дуже схожих сервери, наприклад, хмари або кластери.

Однак він має деяке використання навіть для автономних серверів - ви можете налаштувати користувачів адміністратора, стандартні (з локальними варіаціями) sshd, postfix або snmpd-конфігурації, а також використовувати їх для простого збору інформації, наприклад, дотримання політики або перевірки на вразливість оболонки.

Крім того, як згадував EEAA, він має значення для документування налаштування, якщо ви переконаєтесь, що він дійсно переводить сервер із базового стану в робочий стан. Добре поєднувати його із системою контролю версій (git), щоб зміни, які ви вносите, були деталізовані та задокументовані. Це дуже цінно, якщо у вас є команда адміністраторів.


1

Маріонетка або будь-яка інша система управління приносить велику користь, про що всі були висвітлені іншими відповідями, але немає срібної кулі, коли мова йде про управління.

Наприклад, створення лялькових занять для складних систем коштує багато часу і зусиль, а іноді і розривів, оскільки існує багато підводних каменів, а повідомлення про помилки не завжди є на 100% зрозумілими, і коли оновлення програмного забезпечення потрібно вкласти час, щоб адаптувати свої лялькові класи відповідно до будь-якої нової специфікації або порядок і визначити, який підхід найкраще підходить для цього (наприклад, маріонетка, наприклад, декларативність та оновлення, як правило, є процедурною)

Крім того, вам потрібно розібратися, як ви плануєте контрольовано вносити зміни, внесені до своїх класів, і як підтримувати різні версії ваших маніфестів.

Ви також повинні розглянути, як рухатись до вдосконалення свого управлінського рішення, коли настане час для цього.

Якщо ви витрачаєте значну кількість часу на написання, наприклад, лялькових занять, тоді вам доведеться виконати багато встановлень одним клацанням миші, щоб отримати реальні переваги.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.