Реальна вартість «безкоштовного» виявлення PII
«Це безкоштовно» — не аналіз витрат. Це ціна ліцензії — один із багатьох чинників.
Microsoft Presidio коштує €0 для завантаження. Програмне забезпечення є відкритим кодом. Але запуск у страховій компанії коштує понад €13 000 у перший рік. Ця різниця — інженерний час.
Що потрібно для розгортання у виробничому середовищі
Підготовка інструменту до виробництва займає 40–80 годин. Ось куди йде цей час.
Налаштування Docker: 4–8 годин. Інструмент використовує кілька контейнерів: сервіс аналізу, сервіс анонімізації та необов'язковий редактор зображень. Налагодити їх взаємодію непросто. Питання на GitHub свідчать, що це типова точка відмови.
Налаштування Python: 2–4 години. Бібліотеки мають суворі правила версій. Конфлікти поширені — особливо між версіями моделей spaCy і Python 3.8/3.9/3.10. На GitHub сотні відкритих питань на цю тему.
Завантаження мовних моделей: 2–4 години. Розміри моделей spaCy варіюються від 300 МБ до 1,4 ГБ кожна. Налаштування для п'яти мов потребує 1,5–7 ГБ сховища. Помилки завантаження моделей — серед найпоширеніших проблем підтримки.
Спеціальні розпізнавачі: 8–16 годин. Стандартний набір охоплює близько 40 типів сутностей, переважно американські ідентифікатори. Розгортання в ЄС потребує національних посвідчень особи країн Євросоюзу. Медичним командам потрібні формати медичних записів. Кожен тип вимагає коду Python, налаштування YAML і тестування.
Налаштування API: 4–8 годин. Виробнича конфігурація включає таймаути, автентифікацію, обмеження запитів і журналювання. Офіційна документація мінімальна. Більшість команд знаходять відповіді в обговореннях на GitHub.
Журнали аудиту: 4–8 годин. GDPR вимагає записів про обробку даних. Інструмент не має вбудованого журналу аудиту. Команди мають написати його як спеціальний код.
Документація для команди: 4–8 годин.
Разом початкове налаштування: 28–52 години за €100/год = €2 800–5 200.
Річні витрати на обслуговування
Інструмент отримує оновлення 2–4 рази на рік. Основні релізи порушували API. Для підтримки актуальності потрібно відстежувати зміни, тестувати в staging-середовищі та розгортати.
Оновлення моделей spaCy також додають роботи. Нові версії моделей потрібно повторно завантажувати та перевіряти точність перед запуском у виробництво.
Конфлікти залежностей Python продовжуються. Чисте налаштування сьогодні може зламатись після виходу патча безпеки наступного місяця.
Моніторинг також постійний. Стан контейнерів, витоки пам'яті та процедури перезапуску потребують регулярної уваги. Моделі spaCy споживають багато пам'яті.
Разом річне обслуговування: 60–120 годин за €100/год = €6 000–12 000.
Реальний кейс
Команда з відповідності у страховій компанії взялась обробляти документи про страхові випадки. У команді було двоє молодших інженерів з даних і відсутня підтримка DevOps.
Тиждень 1. Два основних контейнери не могли взаємодіяти. Три дні на виправлення за допомогою GitHub.
Тиждень 2. Моделі не завантажувались у виробничому середовищі. Конфігурація пам'яті відрізнялась від dev-середовища. Два дні на діагностику, ще один на виправлення.
Тиждень 3. Спеціальне правило для номера соціального страхування Великої Британії працювало в тестах, але давало хибні спрацювання на реальних документах. Ще два дні налаштувань.
Тиждень 4. Проєкт був переданий на ескалацію. Витрачено три інженерних тижні. Виробнича версія так і не запущена.
Після цього команда спробувала anonym.legal. Перший документ оброблено за 12 хвилин після реєстрації. Виявлення номера соціального страхування Великої Британії вже було вбудовано. Ніякого налаштування не потрібно.
Вони перейшли на anonym.legal Professional за €180 на рік.
Загальна вартість першого року:
- Шлях самостійного розгортання — ще 40–80 годин для завершення, потім €6 000–12 000 на рік обслуговування. Разом: €10 000–20 000.
- anonym.legal Professional — €180 на рік. Час розгортання: ~12 хвилин.
- Зекономлені інженерні години: ~132/рік за €100/год = €13 200.
Різниця у вартості першого року — в 70 разів.
Для команд, що також стикаються з проблемами хибних спрацювань, дивіться наш пост про проблему точності Presidio.
Коли самостійне розгортання доцільне
Для більшості команд managed SaaS є кращим вибором. Але самостійне розгортання підходить у деяких випадках.
Суверенітет даних. Деякі правила або договори забороняють надсилання даних за межі країни. Наш Desktop App (anonym.plus) працює повністю офлайн. Дані не покидають машину. Та сама точність, без необхідності у сервері.
Дуже великі обсяги. Мільйони API-викликів на день можуть зробити поштучне ціноутворення дорожчим за вартість сервера. У такому масштабі власний стек може бути виправданим.
Інтеграція в продукт. Якщо ви вбудовуєте виявлення PII у власний продукт і потребуєте повного контролю — спеціальна робота з відкритим кодом тут виправдана.
Наявна інфраструктура DevOps. Команди з платформною командою, що вже підтримує багато сервісів, мають нижчі додаткові витрати. Для них інфраструктура — це фіксовані витрати.
Для всіх інших — команд з відповідності, стартапів, команд без DevOps — managed SaaS є очевидним вибором. Дивіться наш огляд безпеки та відповідності, щоб дізнатися, як хостингова обробка відповідає корпоративним вимогам.
Висновок
Відкритий код має витрати, які не відображаються в ліцензії. Для такого типу інструменту головна витрата — інженерний час. Налаштування: 40–80 годин. Річне обслуговування: 60–120 годин. За звичайними ставками самостійне розгортання коштує в 20–75 разів дорожче, ніж managed-сервіс.
Правильне запитання — не «скільки коштує програмне забезпечення?» А «скільки коштує його запуск?» Для більшості команд відповідь вказує на managed SaaS.
Джерела
Microsoft Presidio GitHub: Питання та документація з налаштування. VERIFIED-EXTERNAL.
Ploomber: Посібник з виробничого розгортання Presidio. VERIFIED-EXTERNAL.
GDPR, стаття 32: Технічні заходи для забезпечення належної безпеки. VERIFIED-EXTERNAL.