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."