Не вказано
2 ставки
Розробка архітектури єдиної платформи управління флотом WordPress-сайтівКонтекст проєкту Є флот з кількох десятків WordPress-сайтів, розміщених на одному сервері та обслуговуваних однією командою. Сайти поступово переводяться на єдиний стандарт розробки та підтримки — загальну дизайн-систему з єдиною бібліотекою блоків (ACF + Gutenberg) та єдиний стандарт безпеки. Потрібна архітектура платформи для централізованого управління цим флотом.Завдання Потрібна розробка технічної архітектури єдиної платформи управління флотом WordPress-сайтів. Платформа — це не дашборд метрик, а повноцінна система централізованого управління та доступу.Вимоги до платформи Єдиний вхід для супер-адміністратора — одна точка входу для управління всіма сайтами флоту: огляд стану, версій, статусу відповідності стандарту. One-click доступ в адмінку кожного сайту — можливість зайти в wp-admin будь-якого сайту флоту з єдиного інтерфейсу, без зберігання/введення паролів від кожного сайту окремо. Потрібен продуманий механізм аутентифікації (токени з обмеженим часом життя, прив'язка до конкретного користувача, повне логування доступу). Розмежування ролей: супер-адмін бачить і управляє всім флотом; адміністратори окремих сайтів мають доступ лише до своїх сайтів. Єдина дизайн-система з кастомізацією на рівні сайту — загальна бібліотека блоків (ACF + Gutenberg), дистрибуційна на всі сайти через центральний механізм оновлень, але з можливістю локальної кастомізації блоків під конкретний сайт без втрати сумісності з майбутніми оновленнями бібліотеки. Загальний дашборд моніторингу та сповіщень — стан сайтів і сервера, алерти про падіння/проблеми, статус оновлень та compliance кожного сайту відносно єдиного стандарту. Зручне додавання нових сайтів у мережу — платформа повинна підтримувати швидке клонування/розгортання нового сайту на основі єдиного стандарту (Core-плагін, дизайн-система) та підключення його до Hub з мінімальною кількістю ручних кроків.Архітектурні обмеження (важливо) WordPress Multisite не розглядається і не підходить для цього завдання. Причина не в зручності інтерфейсу, а в фундаментальних архітектурних властивостях Multisite: Загальна база даних і загальне ядро для всіх сайтів мережі означають єдину точку відмови: некоректне оновлення плагіна або ядра здатне одночасно вивести з ладу всі сайти мережі, а не один. Загальний пул серверних ресурсів (PHP-воркери, з'єднання з БД) означає, що аномальна навантаження на один сайт (акція, сплеск трафіку, атака) деградує продуктивність всіх інших сайтів мережі, включаючи ніяк не пов'язані з цією навантаженням. Це системне властивість Multisite, не усунене процесом або дисципліною — тому потрібна архітектура, де кожен сайт залишається незалежною інсталяцією (власна БД), а уніфікація та централізоване управління досягаються іншими засобами.Попереднє архітектурне напрямок На даний момент найбільш перспективним представляється архітектурний підхід Hub & Spoke, при якому незалежні WordPress-інсталяції (“Spokes”), кожна зі своєю БД, об'єднуються: загальним дистрибуційним Core-плагіном (бібліотека блоків, security baseline, bridge-модуль для зв'язку з Hub); центральним керуючим додатком (“Hub”) — реєстр сайтів, one-click login, моніторинг, сповіщення. Однак дана архітектура не є заздалегідь обраним рішенням. Якщо виконавець вважає, що існує більш підходящий архітектурний підхід, він може запропонувати альтернативу за умови її технічного та економічного обґрунтування.
Окреме завдання в рамках ТЗ — обґрунтований аналіз і рекомендація: будувати Hub з нуля кастомно, або взяти за основу готове self-hosted рішення (MainWP, InfiniteWP, ManageWP або аналоги) і розширювати його під специфічні вимоги (інтеграція з Core-плагіном, compliance-відстеження версій блоків, майбутній маркетинговий шар). Потрібна порівняльна оцінка за термінами, вартості підтримки, гнучкості та обмеженням кожного варіанту, з чіткою рекомендацією.Архітектурні вимоги При проєктуванні рішення необхідно враховувати наступні нефункціональні вимоги: відмовостійкість і відсутність єдиної точки відмови для флоту сайтів; можливість незалежного оновлення, відкату та обслуговування кожного сайту; мінімізацію blast radius при збоях і помилках оновлень; можливість горизонтального масштабування при зростанні кількості сайтів; безпеку централізованого управління та делегованого доступу; можливість подальшого виділення Hub в окрему інфраструктуру без зміни архітектурних принципів; розширюваність платформи для додавання нових централізованих сервісів. Крім того, архітектура повинна залишатися життєздатною при збільшенні кількості сайтів з кількох десятків до 100+ без необхідності принципового перегляду обраного підходу.Довгостроковий розвиток платформи Платформа розглядається як довгострокова основа цифрової екосистеми компанії, а не як інструмент виключно для адміністрування WordPress-сайтів. При проєктуванні необхідно передбачити можливість подальшого додавання централізованих сервісів (наприклад, управління маркетинговими активностями, аналітикою, бібліотекою компонентів, інтеграціями та інших модулів) без необхідності переробки базової архітектури.Технології Конкретний стек не фіксується заздалегідь — виконавець самостійно пропонує та обґрунтовує технології в архітектурному документі (мова/фреймворк для Hub, модель хостингу/деплою, механізм аутентифікації тощо), виходячи з вимог завдання. Обґрунтована пропозиція по технологіях — обов'язкова частина результату роботи, нарівні з порівнянням custom vs готове рішення для Hub.Що потрібно від виконавця Досвід проєктування multi-site/multi-tenant архітектур на WordPress (принципово — НЕ на базі Multisite) Практичний досвід роботи з MainWP/InfiniteWP/ManageWP або аналогічними системами управління флотом WP-сайтів — розуміння їх можливостей і обмежень на рівні API/розширюваності Досвід розробки WordPress-плагінів рівня production (ACF, Gutenberg block development, REST API) Розуміння питань безпеки при побудові систем централізованого/делегованого доступу (token-based auth, аудит доступу, мінімізація blast radius) Вміння підготувати архітектурну документацію: діаграми, API-контракти між Hub і сайтами, схему данихФормат роботи Перший етап — архітектурний документ з обґрунтованим рішенням (custom vs готове рішення), схемою взаємодії компонентів, API-контрактом Hub ↔ Core-плагін, планом поетапної реалізації. Документ повинен включати вайрфрейм-схему інтерфейсу платформи (ключові екрани: реєстр сайтів, доступ в адмінку, дашборд моніторингу). За підсумками погодження архітектури — можливе продовження співпраці.