Разработка системы распределения ресурсов для сталеплавильного производства
О клиенте
Международный производитель высококачественной металлопродукции. Компания выплавляет сталь в кислородных конвертерах, изготавливает чугун в доменных печах, занимается разливкой блюмов, биллетов, круглых заготовок и слябов. В год предприятие выпускает 14 млн тонн изделий. Добыча сырья осуществляется в России, Европе и Северной Америке.
О проекте
Бизнес развивает систему управления процессами в сталеплавильном производстве. Технология обеспечивает планирование и контроль выпуска продукции. С целью улучшения внутренней логистики на предприятии клиент хотел разработать софт для анализа входящих заказов и их группировки по физическим, химическим и механическим свойствам.
Описание задачи
К моменту обращения компания имела программу с широким функционалом — система собирала заявки на стальную продукцию и вычисляла перемещение сырья по производственным мощностям. Основная сложность заключалась в том, что ПО существовало в разобранном виде и бесструктурно анализировало входящие данные. Проектной команде RedLab предстояло создать ИТ-продукт, способный определять типовые формулы для новых изделий и оптимизировать дальнейшую работу завода. Основные задачи:
- Доработать систему: внедрение функций оценки и группировки заказов по схожим характеристикам, распределение металлопродукции с одинаковыми свойствами на один производственный маршрут.
- За 2 месяца подготовить проект к стадии опытной эксплуатации: сравнение результатов работы в новой системе с результатами, которые были получены прежним способом.
- Повышение эффективности производства: обеспечение быстрого выполнения вычислений, бесперебойность работы программы, оптимизация технологического процесса.
Кроме того, руководитель отдела разработки был сильно перегружен задачами на других проектах, поэтому бизнесу требовалось подключить backend тимлида, который сможет эффективно организовать работу программистов.
Реализация
После детального изучения проекта и анализа используемых технологий разработчики RedLab приступили к реализации проекта:
- Провели оптимизацию центральной части конвейера-приложения, который позволил быстрее рассчитывать типовые формы входящих заказов.
- Добавили профилировщики, чтобы определить участки кода, которые используют чрезмерное количество ресурсов.
- Использовали библиотеку MassTransit для облегчения интеграции микросервисов через RabbitMq.
- Приступили к оптимизации использования памяти для улучшения работы с большими объемами данных.
- Внедрили шаблонный подход для проектирования микросервисов. Решение образует пайплайн обработки входящих заказов, чтобы все новые компоненты создавались на его основе.
- Доработали алгоритмы классификации заявок, благодаря чему типовые характеристики заявок на металлопродукцию определяются автоматически.
- Стандартизировали архитектуру микросервисов, что обеспечило совместимость различных компонентов системы, упростило их интеграцию и взаимодействие.
Результат
За 6 месяцев команда RedLab смогла разработать систему, которая облегчила процесс распределения сырья по промышленному предприятию. Бизнес стал эффективнее использовать производственные мощности, снизил простои оборудования и начал быстрее выпускать стальную продукцию. Время обработки заказов сократилось в 10 раз.