Хмарні технології змістили кордон між апаратним та програмним забезпеченням, так що багато технічних операцій, які раніше були ексклюзивними громадянами світу апаратних засобів, також є предметом сфери програмного забезпечення. Спільні обчислювальні середовища можуть бути такими ж старими, як і самі комп’ютери 1, але хмарні технології можуть популяризувати їх, пропонуючи зручні та звичні метафори для взаємодії з ними: користувачі хмари резервують екземпляр, повний комп’ютер або міміку, тоді як для старих спільних обчислювальних середовищ є все можливе непростих обмежень, і "ваша програма повинна бути завантажена на цей FTP-сервер, вона працюватиме в середовищі X (як правило, зі старою версією 10 років будь-якого програмного забезпечення, яке ви хочете використовувати), щонайменше 60 хвилин" може здатися знайомим колишнім або фактичним користувачам обчислювальних центрів.
Практичний наслідок цього зрушення полягає в тому, що процедури розгортання тепер можуть бути представлені програмними артефактами. (Процедури розгортання - це інструкції, що розповідають, як налаштувати інфраструктуру, за допомогою баз даних, веб-серверів або будь-якої належної до цієї інфраструктури разом з мережею, де вони працюють.) Орієнтований на ці нові об'єктиви, схоже на ручне обслуговування серверів. ручне виправлення виробничого коду - що є лише в дуже рідкісних випадках бажаною справою. Ручне обслуговування може спричинити розбіжності між системами, які фактично працюють у виробництві, та кодом, що описує ці системи, що, в свою чергу, означає невідтворювану поведінку та неможливий аналіз помилок, подвійне виправлення помилок та інші лиха.
Модель незмінна сервер просто перестановка для хмарних операцій над мантра, в відповідно до якого ми повинні уникати ручного обслуговування запущених програм. Замість того, щоб вручну налаштовувати сервери, незмінний шаблон сервера рекомендує автоматизувати цю конфігурацію.
Реалізація ароматизаторів
Незважаючи на те, що загальна ідея незмінного шаблону сервера є цілком зрозумілою, існує багато нюансів реалізації. Наприклад, деякі підходи пропонують взагалі не оновлювати сервери, а систематично замінювати сервери. Це пояснюється тим, що оновлення результатів виходу, коли розгортання складається з серверів, запущених у декілька різних моментів і пройшли декілька чітких процесів оновлення, що передбачає неоднорідний набір серверів і може призвести до тонких відмінностей у тому, як сервери виконують свої завдання. Другим популярним варіантом є дисципліна щодо віддаленого доступу до серверів. Дехто любить вимкнути повністю віддалений адміністративний доступ до серверів, щоб гарантувати, що технічне обслуговування ніколи не відбудеться.
Примітка історії
Наскільки мені відомо, термін «незмінний сервер» був популяризований Кіефом Моррісом, але сама ідея набагато старша. У 1999 році в'язниці FreeBSD вже популяризували ідею повністю автоматизувати конфігурацію одноразових обчислювальних середовищ, саме так я почав реалізовувати схему "незмінного сервера" багато років, перш ніж почути це ім'я для опису цієї методики.
Незмінність під виглядом фізичної непорушності на основі компакт-дисків також була популярним заходом для виробництва надійних обчислювальних систем. Це не помиляється з незмінним шаблоном сервера.
1 Якщо ми не зараховуємо автоматичні таблиці ткацьких верстатів або роликові органи як комп'ютери.