Chemical & Consumer Goods Company

Optimizing Supply Chain Processes with Real-Time Analytics Platform

RUBICON Develops a Custom Real-Time Operation Analytics Supply Chain Management (SCM) Platform for a Global Client

Technology stack

Microsoft stack: C#, ASP. NET Core, Distributed Services Architecture, Azure Data Factory, Azure SQL, Angular, Databricks, Mapbox, AG-Grid, Git, Azure DevOps, Docker, IaaC Terraform, Terragrunt (GitOps), Azure SQL Database, Azure CosmosDB, Azure Queue Storage, Azure Blob Storage, Azure Functions, Azure Active Directory, Microsoft identity platform, Azure App Service, Azure Container Registry, Application Insights, Log Analytics

Learn more about our Tech Stack

Applications and Data

  • Microsoft stack: C#, ASP. NET Core 
    - Implementing the backend API and serverless functions
  • Distributed Services Architecture
  • Azure Data Factory 
    - Automating ETL data processing of supply chain data
  • Azure SQL 
    - Enabling near real-time operational analytics scenarios: using column store indexes, memory-optimized tables, dynamic stored procedures
  • Databricks 
    - PySpark application for scenario cost calculation and simulation
    - Spark, PySpark, DevOps
    - Azure Function to orchestrate job execution

Frontend Technologies

Angular
  • Modular design paired with lazy loading for fast load time
  • Implementation of the custom component library using core Angular features like reactive forms, content projection, and Angular templates with a focus on performance, reusability, and developer experience.
    - All components apply On push change detection strategy for maximum performance
    - By focusing on reusability we were able to streamline the development of the client’s other projects
    - We took inspiration for component structure design from the Angular Material library to enhance developers' experience
  • Async pipe subscription pattern to minimize the risk of memory leaks
  • Sass style preprocessor with BEM naming for scope control
Mapbox
  • Integration with wrapper Angular library using directives and components
  • Mapbox Geocoding API for forward and reverse geocoding
AG-Grid
  • Displaying and editing data directly from tables
  • Custom field types and restrictions
  • Exporting data from the tables

DevOps

  • Git
    - Version control and a multi-repository project structure were used. Each component of the MFO system had its own repository and CI/CD pipelines.
  • Azure DevOps
    - The one-stop shop for all the MFO agile processes. We used it to plan, collaborate and deploy our solution.
  • Docker
    - Our solution was containerized with Docker and Docker Compose so that developers could have the whole microservice architecture up locally and with one command.
  • IaaC Terraform, Terragrunt (GitOps)
    - Provisioning the infrastructure on Azure with a combination of terraform and terragrunt. Resources were defined in terraform modules and configured with terragrunt.

Microsoft Azure Cloud

  • Azure SQL Database
    - Storing application-related data
  • Azure CosmosDB 
    - Storing authorization system data
  • Azure Queue Storage 
    - Storing messages that are used for updating the authorization system
  • Azure Blob Storage 
    - Used by Azure Functions, for storing terraform state files and table storage
  • Azure Functions 
    - Hosting the custom authorization system and orchestrating the Pyspark application job executions
  • Azure Active Directory, Microsoft identity platform 
    - Implementing single sign-on authentication
  • Azure App Service 
    - Hosting the backend APIs
  • Azure Container Registry 
    - Storing container images for deploying the backend APIs
  • Application Insights, Log Analytics 
    - Monitoring the application

Quick facts

Region

Western Europe

Industry

Chemicals & Consumer Goods

Project duration

August 2020 - June 2021

Team

Product Owner, Solution Architect, DevOps Engineer, UX/UI Designer, Frontend Engineers, Backend Engineers

Other case studies