Перейти до вмісту

Розгорнула інфраструктуру Azure як код

Розгорнула інфраструктуру Azure як код за допомогою Bicep — Container Apps, PostgreSQL Flexible Server, Front Door/WAF та мережу — у середовищах development, staging і production.

  • Network, edp, plug
    Фото: Bru-nO / Pixabay
  • Network cable, network plug, cable
    Фото: blickpixel / Pixabay

три середовища Azure, записані як код

Ситуація. Платформа живе на Azure, а Azure, який налаштовують вручну — клацаючи по порталу, підкручуючи то один параметр, то інший, — це пастка. Конфігурація дрейфує, ніхто не пам’ятає, чому щось влаштовано саме так, а відновлення після поганого дня повільне й нервове. А коли середовищ, які треба тримати узгодженими, більше одного, стає тільки гірше.

Завдання. Описати все в коді, щоб середовище можна було прочитати, переглянути на рев’ю й відтворити, а не мати справу з купою стану, накладеного вручну.

Дія. Уся інфраструктура описана в Bicep. Кожне середовище — testing, staging, product — постає з тих самих шаблонів: api та www, що працюють як Azure Container Apps у керованому середовищі, PostgreSQL Flexible Server, Redis для кешування, Front Door із політикою WAF на вході, мережа під усім цим (VNet, NSG, приватний DNS) і Log Analytics, підключений для діагностики. Образи завантажуються з Azure Container Registry проєкту. Оскільки все параметризовано, підняти нове середовище чи змінити наявне — це pull request, а не заявка в підтримку самому собі.

Результат. Середовища стали відтворюваними й придатними для рев’ю. Дрейф перестав бути загадкою, бо джерело істини — код, а щоб підняти чи відновити інфраструктуру, досить застосувати шаблони, а не пригадувати, що там клацали минулого разу. Це різниця між інфраструктурою, якою керують, та інфраструктурою, яка керує ними.

Одна частина довшого переліку — і він увесь на цьому сайті.

Кожен запис написано однаково: ситуація, завдання, що ми зробили і що змінилося.

Переглянути весь перелік