Tell me about your project

Existing product

A .NET monolith moved to microservices in 18 months

Agricolus, agronomy platform · 2018-2025 · Backend Tech Lead

months of migration
18
incidents per month
15 → 4
faster on the heaviest operations
50%
companies served
1,000

The problem

Agricolus runs a farming platform used by 1,000 companies, with 10,000 jobs a day on agronomic and satellite data. The backend was a .NET Framework monolith on Azure App Service, with one release a month and about 15 production incidents a month.

What I did

  • I led the migration of the monolith to microservices on Azure Kubernetes Service, over 18 months.
  • I automated the releases of 60 microservices with Azure DevOps.
  • I optimised SQL Server and Redis for the heaviest operations.
  • I designed 50 API endpoints exposing 250 agronomic models written in Python (FastAPI) and R (OpenCPU), with Stripe payments and messaging on RabbitMQ.
  • I ran production on-call and wrote the runbooks and the postmortem process.

The result

  • Releases from once a month to once a week, then 10 a week across the 60 services.
  • Incidents down from 15 to 4 a month.
  • Heaviest operations 50% faster.

Technologies

.NET · C# · Azure Kubernetes Service · Azure DevOps · SQL Server · Redis · RabbitMQ · FastAPI · OpenCPU · Stripe

"Let's start by saying that Daniele is a true full stack developer."
Andrea F., colleague at Agricolus