Как мы создали микросервисную архитектуру, поддерживающую варианты использования в машинном обучении
Идентификация правильного варианта использования
Хорошая реализация микросервиса производственного уровня требует хорошего определения варианта использования. Он должен решать конкретную бизнес-проблему, а использование машинного обучения должно повышать идентифицируемый показатель, такой как производительность.
Обзор архитектуры
Как управлять конечными точками REST API
Служба управления API Azure использовалась для управления политиками, проверкой подлинности и серверными URL-адресами, а также для абстрагирования учетных данных ключа и накладных расходов от потребителей платформы микросервисов.
Управление рабочими нагрузками машинного обучения в разных средах
В нашем контексте у нас были среды, охватывающие Dev, UAT и Production, с идеей, что среды Dev предназначены исключительно для того, чтобы разработчик экспериментировал с различными вариантами использования. UAT был промежуточной средой, используемой для тестирования ошибок, и в этой среде также происходили проникновения в систему безопасности. Производство было последней конечной точкой, доступной конечным пользователям.
Сохранение гибкости
Мы использовали Agile-подход в нашей структуре доставки, что обеспечило регулярные результаты, предоставляемые разработчикам машинного обучения. В конце каждого цикла спринта конечная точка разработки должна была быть готова, и дальнейшие изменения в ней не допускались. Отсюда артефакты, зафиксированные для спринта в среде разработки, будут помещены в среду UAT, а затем выпущены в производство.