Solving scalability problem by converting monolith application into microservices using GCP
Teamwork Retail is a leading company in the space of retail management solutions and provides a completely mobile, cloud-based solution that is used by retail chains in USA, Canada, Brazil, Mexico, Japan, China, Europe and Great Britain. As most software companies, we always wanted our product to be at it best both from customer experience standpoint and internal architecture. Just until recently, all best practices and recommendation were pointing to 3-tier architecture, and that is how our monolith .NET application was like.
However, as popularity of our product was growing, one day we saw new scalability requirements that our architecture was simple not able to match. That set us on a quest to find new architecture and technologies that would solve our problem and solve it fast. In less than 3 month we were able to adopt Kubernetes (GKE) and micro-services architecture, that allowed us to achieve x1000 scalability, rapid reaction to spikes, while in the same time reducing DB load and even cost.
In this talk, I want to share steps, challenges, solutions, surprises and issues that we saw during this transition. I hope that our experience would be useful for those who are on the same path now, plan to start on it, or just curious about K8S. While it was a .NET application in our case, most things are applicable to any monolith application.
- Work as Chief Software Architect in Teamwork Commerce
- Has PhD in Computer Science
- Has 10+ years of experience in architecture, software development and management of development teams.
- Previous employment include IBM Research Lab in Zurich, DB Best Technologies etc. As background, he has PhD in applied math and 20+ scientific papers published in the area of supply chain management
- Outside of main job, he actively participates in education projects as co-owner of IT Univer and IT Univer for Students, Google Developer Group organizer and Associate Professor in University