Sun Dec 22 2024

Microservices migration

.Net
Go
SQL
Work

The client (a large betting/gambling firm) wanted to re-architect their entire members' backend services and tools. A big part of this was a two-stage process of splitting monolithic .Net libraries into .Net microservices, and then rewriting those as Go microservices. I was trusted with splitting up the most complex and time-critical parts of the monoliths, and became a tech lead on one of the teams working on the rewrites. Due to the sensitive nature of this being a work project, I can't show specific images or details, but I can explain in general terms what I was working on. As a tech lead my responsilities included: back-and-forth with the client to determine key-practices such as TDD and key architecture decisions like how to organise country-specific versions of APIs; mentoring junior members of the development team to improve both tech-agnostic and go-specific skills; and supporting management in understanding the technical challenges and timescales while protecting developers from unecessary stress.

Objectives

  • 00
    Split monolithic .Net libraries (written in C# and VB) into .Net microservices
  • 01
    Move logic from UI tools into microservices and connect with an orchestrator layer
  • 02
    Plan rewrites from .Net to Go, including an analysis stage to optimise solutions
  • 03
    Write Go apis using best-pratices