Що таке незмінна інфраструктура?
Хмарно-рідна розробка
Що таке незмінна інфраструктура в хмарі?
Незмінна інфраструктура — це коли ви створюєте сервер, а потім не змінюєте його безпосередньо. Вам потрібно замінити стару версію на нову, якщо вам потрібно внести зміни, і це має усунути «дрейф конфігурації» (тобто непослідовності, які з часом проникають у системи).
Після впровадження незмінної інфраструктури ваше хмарне середовище має бути передбачуваним і надійним.
У чому різниця між змінною та незмінною інфраструктурою?
Відмінності між двома концепціями такі:
- Змінна інфраструктура: Оновлюйте та змінюйте наявні сервери, а не створюйте нові. Це традиційний підхід у SaaS.
- Незмінна інфраструктура: Замінюйте сервери на новіші, коли потрібно внести зміни. Це хмарний і новіший підхід серед SaaS-додатків.
Які переваги використання незмінної інфраструктури?
Компанії використовують незмінні інфраструктури з таких причин:
- Розгортання та налаштування: Вони повинні бути послідовними, а дрейф слід уникати, щоб забезпечити стабільність.
- Мінімізація ризиків: Мінімізуйте вплив непередбачених проблем, маючи можливість повернутися до попередніх версій і зменшити ймовірність виникнення проблем із розгортанням.
- Міркування щодо масштабованості: Дослідіть масштабування вашого додатку шляхом додавання нових і однакових екземплярів сервера.
- Використовуйте автоматизацію: Визначте фреймворки, які можна автоматизувати, щоб скоротити час розгортання.
Які найкращі практики для незмінної інфраструктури?
Практики для впровадження включають:
- автоматизацію: Використовуйте інфраструктуру як код (IaC) та подібні інструменти для автоматизації надання/управління вашою інфраструктурою.
- Контроль версій для всього: Версіонуйте всі свої аспекти для відкатів/відстеження, включаючи залежності та конфігурації.
- Увімкніть надійний реєстрація та моніторинг: Ви можете виявити потенційні проблеми під час або після нових розгортань.
- Почніть з малого, повторюйте: Використовуйте незмінну інфраструктуру на неосновних елементах, перш ніж використовувати її на інших, коли ви знаєте, що робити.
Як незмінна інфраструктура вписується в хмарний ландшафт?
Незмінна інфраструктура використовується разом з DevOps, Kubernetes та іншими технологіями/командами.
- Kubernetes: Спрощення розгортання та керування контейнеризованими програмами, що дозволяє прийняти незмінну інфраструктуру.
- DevOps: Вирівняйте безперервна інтеграція та безперервне розгортання (CI/CD) з незмінними інфраструктурними практиками для доставки програмного забезпечення.
Незмінна інфраструктура вимагає зміни інструментів і мислення, але ви можете отримати надійність/масштабованість.
Використовуйте незмінну інфраструктуру у своєму хмарному середовищі. Розгортайте нові та оновлені сервери замість того, щоб змінювати існуючі, якщо вам потрібно внести корективи.
Висновок
Вам слід серйозно розглянути незмінну інфраструктуру у вашій хмарно-рідній розробці. Хоча є ймовірність, що прийняття цих змін може покращити надійність програми, варто зазначити, що вплив на масштабованість ще належить побачити. Хоча адаптація до нового мислення/інструментарію може зайняти час, це може призвести до позитивних результатів у довгостроковій перспективі — якщо ви готові адаптуватися і починати повільно.