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