M365Con 2027 – безкоштовна онлайн-конференція · 11–22 Jan 2027 · 120 sessions→ m365con.net

Блог · Mirko Peters

Демістифікація platform engineering: нова ера розробки програмного забезпечення

By ·

Ласкаво просимо назад до супровідного блогу подкасту! У сьогоднішньому дописі ми глибоко занурюємося в один із найвпливовіших трендів, що охоплюють технологічний сектор: p…

Automatically translated with AI from the original post. Read the English original

Ласкаво просимо назад до блогу-супутника подкасту! У сьогоднішньому дописі ми детально розглянемо один із найпомітніших трендів у технологічному секторі, який змінює галузь: platform engineering. Організації прагнуть небаченого рівня ефективності, швидкості й надійності, тож звичні операційні моделі переглядаються. Галузеві прогнози оцінюють, що до 2026 року 80% організацій, які розробляють програмне забезпечення, створять окремі платформні команди. Але що це означає для ваших команд розробки і чому цей зсув відбувається саме зараз? У цьому докладному огляді ми розберемо базові визначення, історичну еволюцію, ключові принципи, щоденні обов’язки та головні бізнес-переваги platform engineering. Якщо ви хочете створити підтримуюче, злагоджене середовище, яке прискорює доставку і водночас усуває вигорання розробників, ви потрапили за адресою. Щоб послухати наше повне аудіообговорення на цю тему, обов’язково перегляньте пов’язаний епізод подкасту: Platform Engineering - Simply Explained.

Визначення platform engineering

Definition of Platform Engineering

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

Ключові компоненти

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

  • Централізація: Platform engineering централізує відповідальність за інфраструктуру та інструменти. Це забезпечує послідовність і масштабованість у всій організації.
  • Рішення самообслуговування: Ви можете самостійно виконувати типові завдання, що скорочує затримки й покращує загальний досвід роботи.
  • Стандартизовані інструменти: Використовуючи стандартизовані інструменти, ви мінімізуєте ризик помилок і покращуєте безпеку.
  • Автоматизація: Автоматизація рутинних завдань дає змогу зосередитися на створенні функціональності, а не на управлінні інфраструктурою.

Провідні технологічні компанії наголошують на важливості platform engineering. Вони визначають його як спосіб підвищити продуктивність розробників і прискорити випуск продуктів. Наприклад, інженер хмарної інфраструктури з однієї медіакомпанії зі списку Fortune 500 зауважив: «Platform engineering було впроваджено для підвищення швидкості випуску продуктів». Це показує, як централізовані команди можуть усунути потребу в тому, щоб кожна команда самостійно керувала інфраструктурою, і зрештою підвищують ефективність.

Internal Developer Platforms (IDPs) є ключовим аспектом platform engineering. Вони надають шар самообслуговування, який абстрагує складні завдання інфраструктури. Це означає, що ви можете зосередитися на створенні та випуску функціональності швидше. IDP автоматизують рутинні завдання, забезпечують послідовність і покращують загальний досвід розробників, що призводить до зростання продуктивності.

Підсумовуючи, platform engineering — це стратегічна еволюція DevOps. Він зменшує дублювання зусиль, надаючи спільні框架 і компоненти. Такий підхід не лише покращує співпрацю між командами, а й узгоджує зусилля з розробки з бізнес-цілями. Як прогнозує Gartner, до 2026 року 80% компаній, які розробляють програмне забезпечення, впровадять platform engineering. Тож прийняття цього підходу може суттєво змінити ваш процес розробки ПЗ.

Еволюція platform engineering

Від DevOps до інженерії платформ

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

  1. 2018: Еван Боттчер (Evan Bottcher) ввів поняття внутрішніх платформ для розробників (Internal Developer Platforms) і наголосив, що платформи слід розглядати як продукти.
  2. 2019: У Берліні відбулася перша зустріч спільноти платформної інженерії, що стало важливим кроком до визнання платформної інженерії окремою дисципліною.
  3. 2019: Публікація книги «Team Topologies» Меттью Скелтона (Matthew Skelton) і Мануеля Паїса (Manuel Pais) прояснила роль платформних команд у покращенні співпраці між розробниками та експлуатацією.
  4. Жовтень 2022: Gartner визначила платформну інженерію одним із топ-стратегічних технологічних трендів 2023 року, підкресливши її зростаюче значення.
  5. Червень 2023: PlatformCon 2023 показала, як розвивається платформна інженерія: на конференції обговорювали найкращі практики, а участь була значною.

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

ТрендОпис
Зростання популярностіПлатформна інженерія за останні кілька років суттєво зросла в застосуванні.
Можливості самообслуговуванняПлатформи дедалі частіше проєктують так, щоб команди могли працювати автономно, без зовнішньої допомоги.
Платформи як продуктиВідбувається перехід до розгляду платформ як внутрішніх продуктів, що покращує користувацький досвід.
Портали розробниківТакі інструменти, як Backstage і OpsLevel, впроваджують для кращої знаходимості та зручності використання.
Підхід API-firstНаголос на побудові платформ, де API є базовим компонентом для гнучкості та інтеграції.

Перехід від традиційного DevOps до платформної інженерії не обходиться без труднощів. Ви можете зіткнутися з опором змінам, браком комунікації та навіть розростанням інструментів. Ось найпоширеніші перешкоди:

  • Опір змінам
  • Недостатня документація
  • Питання безпеки
  • Потреба в культурній трансформації

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

Основні принципи платформної інженерії

Внутрішні платформи для розробників

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

  • Чітка місія та роль: Визначення конкретного призначення платформи допомагає узгодити команди та цілі.
  • Розглядайте платформу як продукт: Такий підхід заохочує до постійного вдосконалення та зворотного зв’язку від користувачів.
  • Зосередьтеся на спільних проблемах: Розв’язання спільних завдань спрощує процеси та покращує співпрацю.
  • Цінність має «клей»: Розуміння важливості інтеграції між інструментами та командами створює злагоджене середовище.
  • Не винаходьте велосипед: Використання наявних рішень заощаджує час і ресурси.

Дотримуючись цих принципів, ви можете суттєво підвищити продуктивність розробників. Останні дослідження показують, що 83 % ІТ-організацій уже повністю впровадили платформну інженерію або перебувають у процесі впровадження. Це дає змогу розробникам більше часу приділяти написанню коду, що важливо, адже, за даними досліджень, зараз на це припадає лише від 12,5 % до 30 % їхнього часу. Завдяки встановленню найкращих практик і покращенню досвіду розробників платформна інженерія підвищує продуктивність.

То що ж таке внутрішня платформа для розробників? Внутрішня платформа для розробників (IDP) — це рівень самообслуговування, який спрощує складні завдання інфраструктури. Вона дає розробникам змогу керувати власними середовищами та ресурсами без залежності від команд експлуатації. Ця автономність не лише прискорює розробку, а й формує в членів команди відчуття власності на результат.

Ось короткий огляд ключових характеристик внутрішніх платформ для розробників:

ХарактеристикаОпис
АвтоматизаціяСпрощує процес розробки програмного забезпечення, зменшуючи кількість ручних завдань і підвищуючи ефективність.
Можливості самообслуговуванняДає розробникам змогу керувати власними середовищами та ресурсами без потреби в командах експлуатації, підвищуючи продуктивність.
БезпекаЗабезпечує відповідність вимогам і захист від уразливостей, інтегруючи заходи безпеки на всіх етапах розгортання.
Інструменти для співпраціСприяють комунікації та командній роботі розробників, покращуючи загальний робочий процес розробки.
Автоматизація інфраструктуриПередбачає інфраструктуру як код, що забезпечує узгоджені й відтворювані середовища та знижує ризик інцидентів у продуктивному середовищі.

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

Обов’язки платформного інженера

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

  • Розробка внутрішніх платформ для розробників (IDP): Ви створюєте й підтримуєте IDP, які спрощують процес розробки.
  • Налаштування конвеєрів CI/CD: Ви оптимізуєте конвеєри безперервної інтеграції та доставки, щоб автоматизувати робочі процеси.
  • Створення API та інтерфейсів: Ви розробляєте нові API, інтерфейси командного рядка (CLI) і веб-застосунки, якими розробники взаємодіють з платформою.
  • Керування процесами тестування: Ви контролюєте процеси тестування, щоб забезпечити якість і надійність доставки програмного забезпечення.
  • Моніторинг розгорнутих середовищ: Ви стежите за робочими системами, щоб швидко виявляти й усувати проблеми.
  • Ведення документації: Ви документуєте інструменти й компоненти, які створюєте, що полегшує їх розуміння та використання іншими.
  • Співпраця з командами: Ви тісно працюєте з розробниками та командами експлуатації, щоб збирати вимоги й удосконалювати платформу.

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

Необхідні навички та компетенції

Щоб досягти успіху як платформний інженер, потрібна міцна база технічних навичок. Ось розбивка ключових компетенцій:

Технічні навичкиОпис
Володіння низькорівневими мовами програмуванняДосвід роботи з мовами на кшталт Python, Java або C++ для скриптів і налагодження.
Експертиза в хмарних обчисленняхЗнайомство з хмарними платформами на кшталт AWS, Azure або Google Cloud Platform.
Kubernetes і оркестрація контейнерівНавички керування продуктивними кластерами та використання хмарно-нативних інструментів.
Інфраструктура як код (IaC)Досвід роботи з інструментами на кшталт Terraform для автоматизації керування інфраструктурою.

Поряд із технічними навичками не менш важливими є м’які навички. Ось кілька ключових якостей, якими ви маєте володіти:

  • Управління проєктами: Ви маєте вміти визначати цілі проєкту та ефективно розподіляти ресурси.
  • Увага до деталей: Уважність до деталей допомагає розуміти складні технічні вимоги та забезпечує ретельне тестування.

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

Переваги платформної інженерії

Benefits of Platform Engineering

Оптимізовані процеси

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

Ось як платформна інженерія підвищує продуктивність розробників:

  • Внутрішні платформи для розробників (IDP) працюють як «торговий автомат» для розробників. Вони надають готові до використання інфраструктурні компоненти, тож ви витрачаєте менше часу на ручні завдання.
  • Автоматизуючи та стандартизуючи робочі процеси, платформна інженерія прискорює цикли розробки. Ви можете швидко розгортати інфраструктуру та застосунки, що допомагає вийти на ринок раніше.
  • IDP забезпечують стандартизацію, підвищуючи продуктивність і покращуючи ключові метрики DevOps, зокрема середній час відновлення (MTTR) та частку невдалих змін.

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

Автоматизація відіграє ключову роль у підвищенні ефективності. Ось як:

  • Автоматизація зменшує обсяг рутинної ручної праці, дозволяючи вам зосередитися на інноваціях замість повторюваних завдань.
  • Рішення на основі ШІ покращують управління ресурсами та підвищують надійність.
  • Стандартизовані, автоматизовані робочі процеси покращують узгодженість і надійність, зменшуючи кількість помилок.

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

Щоб проілюструвати вигоду з погляду витрат, розгляньте таке:

Тип доказуСтатистика/вплив
Компанії, які відзначають скорочення часу виходу на ринок77%
Компанії, які відзначають зростання доходу85%
Потенційне зниження сукупної вартості володіння (TCO)До 9% (через автомасштабування)
Зниження TCO завдяки оптимальному підбору розміру інстансівДо 7%

Найкращі практики впровадження

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

  1. Отримайте підтримку керівництва: почніть із залучення підтримки керівництва. Ця відданість допомагає створити загальноорганізаційну стратегію платформної інженерії.
  2. Сформуйте сильну команду: створіть окрему команду платформної інженерії з фокусом на потребах клієнтів та експертизі в інфраструктурі. Ця команда просуватиме ініціативу далі.
  3. Використовуйте автоматизацію: застосовуйте автоматизацію та інфраструктуру як код для ефективного керування платформою. Такий підхід спрощує процеси та підвищує масштабованість.
  4. Документуйте багаторазові сервіси: складіть каталог внутрішніх сервісів і бібліотек та задокументуйте їх. Ця практика полегшує пошук і інтеграцію, роблячи для команд простішим використання наявних ресурсів.
  5. Регулярно взаємодійте з командами: підтримуйте відкритий обмін інформацією. Регулярно спілкуйтеся з командами розробки, щоб виявляти дубльовані рішення та інструменти. Це допомагає оптимізувати зусилля та зменшує надмірність.
  6. Забезпечуйте прозорість: повідомляйте зацікавленим сторонам про зміни та майбутні плани. Прозорість будує довіру та заохочує співпрацю між командами.
  7. Робіть акцент на дизайні, орієнтованому на користувача: прагніть створити платформу, яка поєднує стандартизацію з гнучкістю. Такий підхід покращує досвід розробників і сприяє впровадженню.

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

  • Узгодьте з бізнес-цілями: переконайтеся, що ваші ініціативи з platform engineering узгоджені з цілями організації. Така узгодженість допомагає зберегти актуальність і віддачу від ваших зусиль.
  • Заохочуйте зворотний зв’язок і інновації: створіть середовище, де цінують зворотний зв’язок. Заохочуйте розробників ділитися своїми спостереженнями та ідеями щодо покращень.
  • Використовуйте інструменти моніторингу: впроваджуйте інструменти моніторингу та автоматизованого тестування, щоб адаптувати платформу до змінюваних потреб. Такий проактивний підхід допомагає випереджати потенційні проблеми.
  • Давайте розробникам можливості: забезпечте розробників надійною платформою, яка підтримує експерименти та інновації. Таке розширення можливостей веде до залученішої та продуктивнішої команди.

Щоб виміряти ефективність впровадження platform engineering, варто відстежувати ключові метрики. Наприклад, на початковому етапі можна дивитися на задоволеність розробників і час надання інфраструктури. Далі зосередьтеся на рівні впровадження платформи та успішності автоматизації. Ці дані допоможуть уточнити підхід і переконатися, що платформа розвивається відповідно до ваших цілей.

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


Platform engineering відіграє ключову роль у сучасній розробці програмного забезпечення. Він допомагає зменшити когнітивне навантаження, надаючи стандартизоване середовище. Це означає, що ви можете зосередитися на головному — створенні якісного програмного забезпечення. Ось кілька вагомих причин розглянути впровадження принципів platform engineering:

  • Зменшує когнітивне навантаження на команди розробників.
  • Сприяє розвитку платформ завдяки співпраці.
  • Заохочує простоту, щоб уникнути зайвої складності.

Такі компанії, як Uswitch і Adidas, уже відчули переваги. Вони впровадили власні платформи, які покращили надання послуг і дозволили командам зосередитися на рішеннях із високою цінністю.

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

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

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

Поширені запитання

Що таке інженерія платформ?

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

Чим platform engineering відрізняється від DevOps?

DevOps прагне об’єднати розробку та експлуатацію, тоді як platform engineering спеціалізується на створенні внутрішніх платформ для розробників, які спрощують управління інфраструктурою та покращують досвід розробників.

Що таке внутрішні платформи для розробників (IDP)?

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

Навіщо моїй організації впроваджувати platform engineering?

Впровадження platform engineering може знизити когнітивне навантаження, покращити співпрацю та прискорити доставку програмного забезпечення. Це дає командам змогу зосередитися на створенні якісного програмного забезпечення.

Які навички потрібні інженерам платформ?

Інженери платформ повинні мати досвід у хмарних обчисленнях, мовах програмування та інфраструктурі як коді. Важливими є також м’які навички, як-от управління проєктами та увага до деталей.

Як виміряти успіх platform engineering?

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

З якими труднощами я можу зіткнутися під час впровадження platform engineering?

Серед типових викликів – опір змінам, недостатня документація та розростання кількості інструментів. Якщо займатися цими проблемами на ранньому етапі, перехід пройде значно гладше.

Як сформувати культуру безперервного вдосконалення в platform engineering?

Заохочуйте відгуки від розробників, узгоджуйте ініціативи з бізнес-цілями та використовуйте інструменти моніторингу. Такий проактивний підхід допомагає адаптувати платформу до змінних потреб.


🎧 Слухайте цей епізод

Хочете практичне пояснення Platform Engineering? У цьому епізоді тему розібрано простою мовою, і показано, чому вона важлива для Microsoft 365, Azure, Power Platform, безпеки, ШІ та сучасної роботи.

Слухайте цей епізод, якщо хочете:

  • Зрозуміти ключові концепції Platform Engineering
  • Побачити, як вона вписується в ширшу екосистему технологій Microsoft
  • Дізнатися, де вона може принести практичну цінність для вашої організації

Вам також можуть сподобатися ці пов’язані епізоди M365 FM:

Відкривайте більше практичних розмов про Microsoft на M365 FM.

Entities in this article

Platform engineering Agent skill DevOps Automation Burnout Cognitive load Infrastructure as code Internal developer platform Soft skills

Related articles

RSS