DevOps для PHP: усе, що після коміту
Трек для тих, кому цікаво, як код доїжджає до користувача й що робити, коли о третій ночі він туди не доїхав. Docker і CI/CD стоять у вимогах більшості вакансій вище Junior, тож базу цього треку так чи інакше проходять усі.
DevOps для PHP в цифрах
DevOps для PHP проти інших треків
Осі, які можна порахувати з вакансій, у яких є теги відповідного треку. Це не оцінка «краще чи гірше», а профіль: у кожного треку свій компроміс між кількістю позицій, вилкою і свободою вибору місця.
Вузли треку
Розгорніть вузол, щоб побачити, як зрозуміти, що ви його закрили, і куди йти далі.
Багатоетапні Dockerfile, кеш шарів, різниця між образом для розробки й для продакшену. Перше, що бачить будь-хто, хто заходить у проєкт.
Скоротили образ і час збірки вдвічі, не зламавши локальну розробку.
Тести, аналіз, збірка, деплой без простою, відкат. Мета не «налаштувати GitHub Actions», а зробити релізи нудними.
Деплой серед дня нікого не лякає, і відкат займає хвилину.
Логи, метрики, трасування, алерти, що не кричать даремно. Різниця між «щось упало» і «упав споживач черги о 3:14».
Про проблему дізнаєтесь із моніторингу раніше за користувача.
Керовані бази, черги, сховище, секрети, мережа. І вартість: інфраструктура, яку ніхто не рахує, з'їдає маржу продукту непомітно.
Знаєте, що у вашому рахунку за хмару коштує найбільше і чому.
FrankenPHP, RoadRunner, Octane, воркери замість FPM. Дає кратне прискорення, але змінює правила: стан між запитами більше не скидається.
Знаєте, який код зламається при переході на воркери, і чому.
Kubernetes або простіші варіанти. Чесно: більшості PHP-проєктів він не потрібен, але у вакансіях трапляється частіше, ніж виправдано.
Можете пояснити, коли Kubernetes зайвий, а не тільки як його налаштувати.
Робочий день у цьому треку
Не розклад, а типовий набір задач. Якщо від цього переліку хочеться позіхнути, це сигнал сильніший за будь-яку зарплатну вилку.
Нічний алерт: пам'ять воркера росла до OOM. Знайшли витік у довгому процесі.
Пайплайн: тести йшли 18 хвилин, розпаралелили до шести. Команда помітила того ж дня.
Розробнику потрібне нове оточення для гілки. Раніше вручну, тепер кнопкою.
Оновлення базового образу й PHP на мінорну версію. Тихо, поетапно, з відкатом напоготові.
Інфраструктурні питання ставлять інакше
Тут менше теорії й більше «що ви робили, коли впало». Перевірте себе на практичних питаннях про Docker, CI і моніторинг.