// послуги

Я беру в роботу вебзастосунки, за які вже ніхто повністю не відповідає.

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

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

Ця послуга для вас, якщо…

situations.md
  • людина, яка створила чи підтримувала застосунок, пішла;
  • ви не впевнені, хто має доступ до серверів, доменів і сторонніх сервісів;
  • ніхто не може впевнено сказати, як задеплоїти зміну;
  • застосунок обробляє оплати, дані клієнтів чи критичні процеси — і це вас тривожить;
  • вам потрібна людина, яка візьме відповідальність, а не лише виправить одну помилку;
  • ви плануєте розвивати продукт і маєте знати, на чому будуєте.

Що входить у роботу

  1. scope/01

    Відновлення доступів

    Репозиторій, хостинг, домени, DNS, бази даних і акаунти в сторонніх сервісах — зібрані, перевірені й передані під ваш контроль.

  2. scope/02

    Огляд інфраструктури

    Сервери, контейнери, резервні копії, моніторинг і витрати на хостинг.

  3. scope/03

    Деплой

    Як застосунок зараз збирається й виходить у реліз, і відтворюваний пайплайн замість ручних кроків.

  4. scope/04

    Код і база даних

    Архітектура, залежності, модель даних, критичні бізнес-процеси та їхні слабкі місця.

  5. scope/05

    Ризики безпеки

    Застарілі пакети, відкриті сервіси, секрети в коді й ризиковані права доступу — відсортовані за впливом.

  6. scope/06

    План стабілізації

    Задокументований план: що виправити зараз, що запланувати, а що може почекати, — з оцінкою.

Аудит при прийнятті, пункт за пунктом

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

takeover.sh · audit
  • unknown — ще не перевірено
  • checking — перевіряється
  • verified — працює — підтверджено
  • documented — описано для вас
  1. 01доступ до репозиторіюunknowncheckingverifieddocumented
  2. 02інфраструктураunknowncheckingverifieddocumented
  3. 03деплойunknowncheckingverifieddocumented
  4. 04база данихunknowncheckingverifieddocumented
  5. 05інтеграціїunknowncheckingverifieddocumented
  6. 06ризики безпекиunknowncheckingverifieddocumented
  7. 07документаціяunknowncheckingverifieddocumented
  8. 08план стабілізаціїunknowncheckingverifieddocumented

Як проходить робота

● passed · services/web-application-takeover · main5 етапи · 0 сюрпризів
  1. ~1 тиж.
    audit:takeover

    Аудит прийняття

    Доступи, інфраструктура, деплой, код і дані — перевірені й описані.

    → звіт аудиту
  2. ~1 тиж.
    plan:roadmap

    План

    Ризики, відсортовані за впливом на бізнес, і план стабілізації з оцінкою.

    → план стабілізації
  3. тижні
    fix:stabilize

    Стабілізація

    Спершу термінові ризики: доступи, резервні копії, деплой і критичні помилки.

    → система під контролем
  4. кожен реліз
    deploy:release

    Реліз

    Зміни виходять через задокументований відтворюваний процес.

    → безпечні релізи
  5. постійно
    support:ongoing

    Постійна відповідальність

    Моніторинг, оновлення й розвиток у ролі вашого довгострокового технічного власника.

    → продукт із власником

Чого можна очікувати

  • Усі доступи у ваших руках — задокументовані й перевірені.
  • Чітка картина системи: архітектура, інфраструктура, дані й залежності.
  • Термінові ризики безпеки й стабільності закриті першими.
  • Процес деплою, який не залежить від пам’яті однієї людини.
  • План, навколо якого можна будувати бюджет і розвиток функцій.

Технології

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

export const stack = [
'PHP',
'Laravel',
'Yii2',
'Node.js',
'Vue',
'Nuxt',
'MariaDB',
'MySQL',
'MongoDB',
'Docker',
'CI/CD',
'Git'
]

Де я вже це робив

Довгострокова відповідальність — основа моєї роботи: у 2020 році я долучився до фінтех-платформи й відтоді відповідаю за неї.

  • 6 років з одним продуктовим клієнтом, із квітня 2020.
  • 99,9% uptime у продакшні завдяки розв’язанню інцидентів, усуненню повторюваних збоїв і зміцненню критичних сервісів.
  • Моделі даних із таблицями на 150M+ рядків у MariaDB, MySQL і MongoDB.
  • CI/CD у GitHub Actions, GitLab CI і Bitbucket Pipelines замість ручних релізів.

Питання, які клієнти ставлять першими

Що робити, якщо частини доступів у нас уже немає?

Це поширена ситуація. Відновлення доступів — через хостинг-провайдерів, реєстраторів доменів чи власників акаунтів — це перша частина аудиту, і все відновлене переходить під контроль вашої компанії.

Скільки триває аудит при прийнятті?

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

Чи потрібен вам попередній розробник?

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

Ви все переробите?

Ні. Спершу — контроль і стабільність. Зміни вношу там, де вони зменшують ризик або розблоковують бізнес, невеликими кроками, які ви можете переглянути.

Чи можете ви залишитися після прийняття?

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

Що потрібно від нас для старту?

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

git push --message

Дістався застосунок, за який ніхто не відповідає?

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