Друкарня від WE.UA

Як побудувати ІТ-інфраструктуру для малих проектів

У цій статті представлені поради щодо побудови інфраструктури для невеликих проектів без спеціального адміністратора/DevOps інженера.

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

Планування для продакшну

Плануючи розгортання продакшну будь-якого додатку, важливо враховувати принаймні наступні п'ять бізнес-процесів/потоків створення цінності:

  1. Розробка додатків

  2. Конфігурація програми

  3. Конфігурація сервера (або іншого середовища виконання)

  4. Конфігурація процесу розгортання

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

Компоненти виробничого середовища

Будь-яка інсталяція за межами ноутбука розробника буде складатися щонайменше з компонентів, показаних на ілюстрації (сині та зелені наклейки).

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

Важливість процесу

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

Тому необхідно продумати, як ці операції будуть виконуватися, особливо для змін і постійної підтримки, оскільки це найбільш часті операції.

Бізнес-процеси проти потоків створення цінності

На початку статті я навмисно написав "бізнес-процеси/потоки цінності", тому що ми, як технічні лідери, визначаємо, якими вони будуть. Це можуть бути класичні інструкції з чек-листів або діаграми BPMN, і в цьому випадку доречно називати їх "бізнес-процесами". Це також можуть бути повністю автоматизовані програмно-визначені процеси, і в цьому випадку ми, швидше за все, будемо називати їх "потоками створення цінності". Часто, коли DevOps протиставляють "класичним ІТ", це означає зміну парадигми з "бізнес-процесів" на "потоки створення цінності".

Gart може з налаштуванням інфрастуктури для ваших проєктів! Отримайте поради експертів та спростіть розгортання.

Делегування сисадміну / DevOps інженеру

Або ж ми можемо повністю делегувати цей процес працівнику (сисадміну чи DevOps інженеру), не замислюючись над тим, що відбувається в процесі, і сподіваючись, що коли цей працівник врешті-решт звільниться, новий працівник зможе розібратися в цьому. Якщо ми приймаємо цей ризик, то нам байдуже, як цей працівник працює — копіює артефакти через FTP чи пише код в Ansible та Terraform.

Ключові міркування

Ключовим моментом тут є те, що для того, щоб наш продакшн та розробка поводилися передбачувано, ми повинні:

  1. Визначити компоненти, що беруть участь у процесі розробки-поставки-експлуатації. На ілюстрації показано приклад такого розбиття на компоненти.

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

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

Для складних інсталяцій, природно, може бути більше компонентів. Наприклад, "Конфігурація програми" часто може бути розділена на "Секрети", "Кінцеві точки" і "Функціональну конфігурацію" (пов'язану з логікою програми). Або "Середовище виконання" може складатися як з "Віртуальних серверів", так і з "Оркестратора".

Інфраструктура як код

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

  1. Зміна секрету через інтерфейс Vault.

  2. Наші скрипти автоматизації розгортають ці секрети на всі сервіси.

Але тут виникає цікаве питання: що робити зі змінами в цій автоматизації? Відповідь проста — автоматизація по суті є кодом, тому ми застосовуємо підхід "Інфраструктура як код". Точніше, у нас є Інфраструктура як код як процес розробки, що не те саме, що Інфраструктура як скрипти, як це часто буває.

Висновок

Отже, що ми робимо з усіма цими знаннями?

Для невеликих інсталяцій з низькою частотою зміни інфраструктури:

  • Задокументуйте п'ять згаданих процесів у міру їх використання. Це може бути один рядок "зберіть всю команду і вирішіть, що робити", і це нормально.

  • Подумайте, чи можна покращити якийсь із цих процесів.

  • Оцініть, як довго ми можемо жити з цими процесами і коли ми почнемо досягати межі їхньої ефективності.

Для великих інсталяцій з великою кількістю змін в інфраструктурі:

  • Розробіть компоненти інфраструктури, використовуючи практику розробки програмного забезпечення (класичний "опис функцій -> беклог -> розробка -> тестування -> реліз -> стейджинг-> продакшн").

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

  • Визначити решту компонентів і процесів, для яких ми не застосовуємо IaC

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

Статті про вітчизняний бізнес та цікавих людей:

  • Як обрати конструктор сайтів для товарного бізнесу

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

    Теми цього довгочиту:

    Конструктор Сайтів
  • Як модні бренди формують культуру та впливають на глобальні fashion-тренди

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

    Теми цього довгочиту:

    Мода
  • Створити блог на Друкарні - швидко, легко та безкоштовно

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

    Теми цього довгочиту:

    Друкарня
  • Чому Google Merchant Center може заблокувати обліковий запис?

    Одним з найбільш ефективних каналів продажів є система Google Merchant Center. Правда, акаунт в ній може бути несподівано заблокований, якщо при його налаштуванні були порушені правила системи. У статті розглянемо підводні камені і дамо відповідь як уникнути блокування

    Теми цього довгочиту:

    Google Merchant Center
  • Бухгалтерський супровід ФОП: сучасний підхід до обліку

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

    Теми цього довгочиту:

    Бухгалтерський Облік Фоп
Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Роман Бурдюжа
Роман Бурдюжа@Roman_Burdiuzha we.ua/Roman_Burdiuzha

Cloud Architect

8Довгочити
361Прочитання
6Підписники
На Друкарні з 7 листопада

Більше від автора

  • Важливість мережевого дизайну для розвитку бізнесу

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

    Теми цього довгочиту:

    Devops
  • Порівняння AWS Activate, хмарної програми Google та Microsoft для стартапів

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

    Теми цього довгочиту:

    Devops
  • Що таке DevOps?

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

    Теми цього довгочиту:

    Devops

Це також може зацікавити:

  • Деплой телеграм боту на VPS. GitHub Actions CI/CD. DockerHub. Част. 1

    Ми часто з другом пишемо телеграм ботів для своїх потреб та інколи брейнштормимо різні ідеї для класного проєкту. Декілька днів тому, я задумався про те, щоб взяти хостинг, оскільки Free Tier на AWS закінчився, а платні тарифи там трохи кусаються.

    Теми цього довгочиту:

    Java
  • 50 онлайн книг для вивчення Java

    Ви готові розпочати подорож до володіння Java? Тоді увага – ми створили підбірку з 50 видатних онлайн-книг англійською, які допоможуть вам освоїти кожний аспект програмування на Java!

    Теми цього довгочиту:

    Java

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Це також може зацікавити:

  • Деплой телеграм боту на VPS. GitHub Actions CI/CD. DockerHub. Част. 1

    Ми часто з другом пишемо телеграм ботів для своїх потреб та інколи брейнштормимо різні ідеї для класного проєкту. Декілька днів тому, я задумався про те, щоб взяти хостинг, оскільки Free Tier на AWS закінчився, а платні тарифи там трохи кусаються.

    Теми цього довгочиту:

    Java
  • 50 онлайн книг для вивчення Java

    Ви готові розпочати подорож до володіння Java? Тоді увага – ми створили підбірку з 50 видатних онлайн-книг англійською, які допоможуть вам освоїти кожний аспект програмування на Java!

    Теми цього довгочиту:

    Java