Мы долго обходились собственным дата-центром, а облака использовали только для размещения веб-проектов вроде сайтов-визиток и лендингов. В какой-то момент стало понятно, что наша IT-инфраструктура совсем не гибкая, а масштабировать оборудование, которое снимается с поддержки раньше, чем уходит со стойки, не очень разумно.
Как двигаться дальше, когда компания растет, появляются амбициозные планы и требуется все больше вычислительных ресурсов?
Мы выделили для себя три приоритетные задачи:
Когда на горизонте появляется интересный проект, хочется как можно быстрее протестировать и оценить его жизнеспособность. Своими силами (точнее, ресурсами дата-центра) мы не справимся, ждать новое оборудование долго, и если в будущем оно не понадобится, то покупка будет невыгодной.
Если данные безвозвратно пропадают или сервисы простаивают в часы пиковых нагрузок, это плохо и для нас, и для пациентов. А когда объемы данных растут, важно, чтобы мы могли быстро получить больше вычислительных мощностей для их обработки.
Нам не нравятся скачки курсов валют, поэтому оплачивать услуги провайдера хотелось бы в национальной валюте. Фактор цены был одним из решающих, так как мы планировали снизить стоимость владения инфраструктурой. Плюс нам удобнее платить по факту за потребленные ресурсы, чтобы не оказаться в ситуации, о которой расскажем ниже.
Если кратко, то облака были нужны по двум причинам: чтобы получить надежное объектное хранилище и иметь под рукой адекватную по цене облачную площадку для экспериментальных проектов, таких как Face Detection.
Расскажем немного о том, что такое система Face Detection и зачем она нашим клиентам. Это компьютерная технология, которая идентифицирует лица на цифровых изображениях. Face Detection работает на базе машинного обучения (то есть непрерывно самообучается): алгоритм обнаруживает и анализирует элементы на основе их положения относительно других предметов. Так, например, технология идентифицирует размер, форму и расположение носа, подбородка и скул, а затем сравнивает их с базой данных фотографий. В ходе распознавания не участвует человек, что снижает вероятность ошибки и сокращает время обслуживания наших клиентов.
Собственно, на технологии Face Detection и основан наш пилотный проект. С его помощью мы планировали улучшить сервис, ускорить обслуживание и рассчитывали сделать визит наших клиентов более комфортным:
Для реализации проекта Face Detection требовались облачные API для компьютерного зрения. Они должны были помочь решить задачи, которые можно вынести за пределы нашего большого дата-центра, не нарушая договоренности с пациентами. Но по российскому законодательству передавать персональные данные на сторону, особенно за пределы государства запрещено. Потому очевидные варианты облачных сервисов – Amazon и Azure – мы исключили сразу. Какое-то время ждали, пока в России появятся достойные альтернативы, позволяющие работать в рамках 152-ФЗ.
Первый опыт с облаком оказался неудачным. Наш партнер предоставлял услуги по предоплате. И когда по закону подлости в пятницу вечером у нас закончились деньги на счете, все остановилось. Просьбы включить доступ к облаку и поработать в минус разбились о глухую стену – техподдержка не пошла нам навстречу.
До понедельника сервисы простаивали, и это стало главной причиной, почему мы отказались от дальнейшего сотрудничества. Нам не понравилось, как повел себя провайдер в этой ситуации, тем более были противоположные примеры: те же Amazon и Azure уважают клиентов и работают по постоплате.
Мы продолжили поиски среди российских облачных провайдеров. Так нашим партнером стал VK Cloud Solutions. Окончательный выбор в его пользу помогли сделать успешные кейсы по внедрению систем компьютерного зрения, стоимость услуг и нахождение сервера компании на территории РФ.
Пилотный проект с компьютерным зрением мы развернули в двух медицинских офисах, которые стали нашей тестовой площадкой. Купили видеокамеры и сразу столкнулись с первой проблемой – где и как их устанавливать. Для Face Detection местоположение камеры критично, от этого зависит успешность проекта. Но мы справились с этой задачей и попутно определились со скоростью и форматом передачи данных.
Если вначале планировали обрабатывать записи локально, на базе медицинских офисов, то потом отказались от этой идеи из-за сложности эксплуатации на большом объеме и начали сразу передавать их в дата-центр. В VK Cloud Solutions помогли быстро разобраться с камерами, API Vision, и мы принялись за интеграцию системы с внутренними корпоративными сервисами. Как в любой крупной компании, на это ушло около трех месяцев, хотя с технической стороной Face Detection задержек не было.
А теперь о том, как все это работает. В медицинских офисах на стойках администраторов установлены камеры, которые записывают видео и отправляют его в дата-центр. Специальный алгоритм находит кадры с наиболее удачным расположением лица и передает их в Vision – систему компьютерного зрения, она распознает лица и объекты на базе машинного обучения от VK Cloud Solutions.
Важно, что в Vision API попадают не все кадры с лицами, а только новые. Мы используем локальный кеш с базой лиц, чтобы сверять с ней каждый новый снимок. Получается, что локальное кеширование помогает уменьшить интенсивность потока запросов к API и использовать меньше облачных ресурсов. Значит, и платить за них мы тоже будем меньше.
Система компьютерного зрения Face Detection оправдала наши ожидания и позволила повысить качество обслуживания клиентов, которые приходят в медицинские офисы «Инвитро». Проект пилотный, но первых данных хватило для начальных выводов:
Пока проект работает только в двух наших учреждениях, но мы уже ощутили положительные изменения.
Пока мы готовимся к масштабированию проекта Face Detection на всю сеть «Инвитро» и решаем юридические вопросы. Для нас важно строго соблюдение законодательства России, в частности 323-ФЗ «Об основах охраны здоровья граждан в Российской Федерации» и 152-ФЗ «О персональных данных». Мы ничего не делаем в тайне от наших клиентов. В перспективе хотелось бы сделать полномасштабный success-case и презентовать его на рынке медицинских услуг.