Які плюси та мінуси серверів SnowFlakes, серверів Phoenix та незмінних серверів?


15

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

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

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

Відповіді:


16

Термін Phoenix Server був придуманий співробітника Мартіна Фаулера, і всі три терміни описані в коротких статтях про Мартіна Блікі.

Плюси і мінуси кожного такого сервера описані в статтях. Основна відмінність полягає в тому, як керується сервером.

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

Існує кілька способів зміни існуючого сервера:

  1. Створіть сервер вручну вручну, потім продовжуйте змінювати його вміст (мутуючи) щоразу, коли потрібні зміни.
  2. "Випікайте" зображення для сервера за рецептом, як правило, автоматизованим способом (не вручну). Потім створіть із цього зображення сервери. І повторюйте цей процес при кожній зміні.

Перший називається "Сніжинка", тоді як останній - це практика, яка дозволяє типи серверів Phoenix та Immutable. Де Immutable зазначає, що жодних змін до існуючого сервера не робиться, як тільки він був створений, а Phoenix означає, що сервер повністю знищений, а для заміни його під час процесу зміни використовується новий.


9

Оскільки я більше думав про перелік переваг та недоліків кожного типу, ось мій погляд (не вичерпний, на мою думку це важливі операційні):

  1. Сервери сніжинок

    • Що вони таке : Системи зі своєю специфічною конфігурацією, жодні інші сервери в центрі обробки даних не мають точно таких же параметрів. Зазвичай їх вводять вручну.

    • Переваги :

      • Пристосований до потреб того, що на них працює.
      • Довговічні, оновлення, як правило, шорти.
      • Адаптовано до особливих випадків, коли налаштування добре документально підтверджені розміщеним продуктом.
    • Недоліки :

      • Іноді оновлення залишають невикористані файли, очищення може бути складним.
      • Коли зміни потрібно внести до декількох машин, це потребує певного часу.
      • Ніщо не заважає незадокументованим змінам.
      • У разі корупції вам доведеться відновити базову ОС та відновити, деякі налаштування ОС не можна відновити, і їх потрібно повторно застосувати, легко просунути рядок і забути важливий твік.
      • Зазвичай довго до надання через ручну конфігурацію.
  2. Фенікс-сервери

    • Що вони таке : Автоматично налаштовується деяким кодом.
    • Переваги :

      • Визначається кодом, може працювати з версією.
      • Легко реплікується до моменту часу.
      • Довготривалі, короткі оновлення також.
      • Зміни керованих файлів задокументовані і не можуть бути забуті.
    • Недоліки :

    • Іноді оновлення залишають невикористані файли, очищення може бути складним.
    • Не все знаходиться під управлінням кодом, деякі налаштування людини можуть бути пропущені, якщо їх не включити до автоматизації.
  3. Незмінні сервери

    • Які вони :
      • Автоматизоване одноразове забезпечення з головного зображення, як правило, без доступу.
    • Переваги :

      • Визначається кодом, може працювати з версією.
      • Легко реплікується до моменту часу.
      • Зменшення поверхні атаки за рахунок звичайного видалення віддаленого доступу.
      • Виправлена ​​конфігурація, жодна зміна може щось зламати
      • Легко масштабується "на вимогу" від головного зображення.
    • Недоліки :

      • Вони незмінні, ви повинні переконатися, що ви зможете швидко прокрутити оновлення, якщо недолік 0 днів вплине на вас.
      • Не всі програми добре вписуються в цю модель (Бази даних, наприклад, повна заміна на ті самі дані не завжди можлива, є міграція для обробки).
      • Приносить нові проблеми для криміналістичного аналізу аварійних ситуацій та управління журналами.

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


2

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

Сніжинка сервера

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

У мене було чимало запусків із подібним сервером у виробництві, їх досить легко помітити, оскільки зазвичай існує велика кількість невдалих змін та коментарі, такі як "це [зміна] працювало в розробці / тесті / UAT / постановці ".

Фенікс Серв'є

Phoenix сервер є більш принципала , ніж шаблон , як Мартін Фаулер висловився:

Сервер повинен бути як фенікс, регулярно піднімаючись з попелу. [a]

Якщо ви застосували менеджмент ІТ-сервісу (ITSM) або мову ITIL до тієї ж ситуації, ви, ймовірно, назватимете його Планом безперервності ІТ-плану чи Планом відновлення:

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

Незмінний сервер

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


Примітки

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