Друкарня від 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 розгортання ваших проектів, щоб ви могли швидше втілювати свої ідеї в життя!

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

  • Вітаємо з Різдвом Христовим!

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

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

    Різдво
  • Каблучки – прикраси, які варто купувати

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

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

    Як Вибрати Каблучку
  • П'ять помилок у виборі домашнього текстилю, які псують комфорт сну

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

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

    Домашній Текстиль
  • Як знайти житло в Києві

    Переїжджаєте до Києва і шукаєте житло? Дізнайтеся, як орендувати чи купити квартиру, перевірити власника та знайти варіанти, про які зазвичай не говорять.

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

    Агентство Нерухомості
  • Як заохотити дитину до читання?

    Як залучити до читання сучасну молодь - поради та факти. Користь читання для дітей - основні переваги. Розвиток дітей - це наше майбутнє.

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

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

Cloud Architect

345Прочитань
2Автори
6Читачі
На Друкарні з 7 листопада

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

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

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

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

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

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

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

    Devops
  • Що таке DevOps?

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

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

    Devops

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

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

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

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