Реалната цена на "безплатното" разпознаване на PII данни
"Безплатно" не е анализ на разходите. Това е цена на лиценза -- един фактор от многото.
Microsoft Presidio струва 0 EUR за изтегляне. Софтуерът е с отворен код. Но работата му в застрахователна компания струва над 13 000 EUR за първата година. Тази разлика е инженерно работно време.
Какво изисква производствено разгръщане
Подготовката на инструмента за производство отнема 40-80 часа. Ето как се разпределя това време.
Настройка на Docker: 4-8 часа. Инструментът използва няколко контейнера. Услуга за анализ, услуга за анонимизиране и незадължителен редактор на изображения. Свързването им е трудно. Проблемите в GitHub показват, че това е честа точка на провал.
Настройка на Python: 2-4 часа. Библиотеките имат строги правила за версии. Конфликтите са чести -- особено между версиите на spaCy модели и Python 3.8/3.9/3.10. GitHub показва стотици отворени проблеми по тази тема.
Изтегляне на езикови модели: 2-4 часа. spaCy моделите варират от 300 MB до 1,4 GB всеки. Настройка на пет езика изисква 1,5-7 GB пространство за съхранение. Неуспешното зареждане на модели е сред най-честите проблеми за поддръжка.
Персонализирани разпознаватели: 8-16 часа. Стандартният набор покрива около 40 типа обекти. Повечето са американски идентификатори. Европейските разгръщания се нуждаят от национални идентификатори на ЕС. Медицинските екипи се нуждаят от формати на медицински записи. Всеки тип изисква Python код, YAML настройка и тестване.
Настройка на API: 4-8 часа. Производствената конфигурация включва таймаути, удостоверяване, ограничения на скоростта и логване. Официалната документация е оскъдна. Повечето екипи намират отговори в GitHub issue threads.
Одиторско логване: 4-8 часа. GDPR изисква записи за обработката на данни. Инструментът няма одиторски лог по подразбиране. Екипите трябва да го напишат като персонализиран код.
Документация на екипа: 4-8 часа.
Обща начална настройка: 28-52 часа при 100 EUR/час = 2 800-5 200 EUR.
Годишни разходи за поддръжка
Инструментът публикува актуализации 2-4 пъти годишно. Основните версии са нарушили API-тата. Поддържането в крак означава проследяване на промените, тестване в staging и разгръщане.
Актуализациите на spaCy модели добавят допълнителна работа. Новите версии на модели трябва да се изтеглят отново и да се проверят за точност преди въвеждането в производство.
Конфликтите на зависимости в Python продължават. Чистата настройка днес може да се счупи, когато утре се пусне пач за сигурност.
Мониторингът е непрекъснат. Здравето на контейнерите, изтичанията на памет и стъпките за рестартиране изискват редовно внимание. Моделите spaCy са с интензивно използване на паметта.
Обща годишна поддръжка: 60-120 часа при 100 EUR/час = 6 000-12 000 EUR.
Реален казус
Екип по съответствие в застрахователна фирма пристъпи към обработка на документи за претенции. Разполагаха с двама младши инженери по данни и без DevOps поддръжка.
Седмица 1. Двата основни контейнера не можеха да комуникират. Три дни за отстраняване с помощта от GitHub.
Седмица 2. Моделите не успяха да се заредят в производство. Конфигурацията на паметта беше различна от настройката в разработката. Два дни за диагностика, още един за поправка.
Седмица 3. Персонализирано правило за UK National Insurance Number работеше при тестове, но имаше фалшиви положителни резултати при реални документи. Още два дни за настройка.
Седмица 4. Проектът беше ескалиран. Изразходвани три инженерни седмици. Все още не в производство.
Екипът след това опита anonym.legal. Първият обработен документ: 12 минути след регистрация. Разпознаването на UK National Insurance Number вече беше вградено. Не беше необходима настройка.
Те преминаха към anonym.legal Professional за 180 EUR/година.
TCO за първата година:
- Собствено хостване -- 40-80 допълнителни часа за завършване, след което 6 000-12 000 EUR/год за поддръжка. Общо: 10 000-20 000 EUR.
- anonym.legal Professional -- 180 EUR/година. Време за разгръщане: ~12 минути.
- Спестени инженерни часове: ~132/год при 100 EUR/час = 13 200 EUR.
Това е разлика от 70x в разходите за първата година.
За екипи, изправени и пред проблеми с фалшивите положителни резултати, вижте нашата публикация за проблема с точността на Presidio.
Кога собственото хостване има смисъл
Управляваните SaaS решения печелят за повечето екипи. Но собственото хостване е подходящо в някои случаи.
Суверенитет на данните. Някои правила или договори забраняват изпращането на данни навън. Нашето Desktop App (anonym.plus) работи изцяло офлайн. Никакви данни не напускат устройството. Същата точност, без нужда от сървър.
Много голям обем. Милиони API извиквания на ден могат да повишат разходите за извикване над разходите за сървър. При такъв мащаб притежаването на стека има смисъл.
Интеграция в продукт. Изграждате разпознаване на PII данни в собствения си продукт и имате нужда от пълен контрол? Персонализираната работа с отворен код е валидна тук.
Съществуваща DevOps инфраструктура. Екипи с платформен екип, вече управляващ множество услуги, имат по-ниски допълнителни разходи. Инфраструктурата е потопен разход за тях.
За всички останали -- екипи по съответствие, стартъпи, екипи без DevOps -- управляваното SaaS е ясният избор. Вижте нашия преглед на сигурността и съответствието за това как хостваната обработка отговаря на корпоративните нужди.
Заключение
Инструментите с отворен код имат разходи, които не се отразяват в лиценза. За този тип инструмент, основният разход е инженерното работно време. Настройка: 40-80 часа. Годишна поддръжка: 60-120 часа. При нормални ставки, собственото хостване струва 20-75 пъти повече от управляваната услуга.
Правилният въпрос не е "колко струва софтуерът?" А "колко струва работата с него?" За повечето екипи отговорът сочи към управлявани SaaS решения.
Източници
Microsoft Presidio GitHub: Issues and Setup Documentation. VERIFIED-EXTERNAL.
Ploomber: Presidio Production Deployment Guide. VERIFIED-EXTERNAL.
GDPR Article 32: Technical measures for appropriate security. VERIFIED-EXTERNAL.