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 at Teamwork Commerce and CloudWorks
- Has 15+ years of experience in IT
- Has PhD in Compute Science and loves teaching
- As big fan of GCP holds multiple titles from Google including Google Developers Expert, Campion Innovator, Google Developers Group organizer and certified Professional Cloud Architect
- His work experience includes working for IBM Research Lab in Zurich and then leading Teamwork Commerce from 3-developers project to international company with offices in 21 country and millions of people using it's software each day
- LinkedIn, Medium