Walkme Editor’s Monolith Decomposition: Part 1 — the Proxy Microservice

In the following article series I’ll write about the gradual decomposition process of our monolith to microservices. The process is still ongoing while writing these lines, but so far we have encountered some pretty interesting architectural challenges, difficulties and problems which we had to deal with.

The articles in this series are partially based on a meetup I gave in WalkMe offices at the beginning of this year. If you want a quick brief without deep diving into the issues, you can watch it here.

Introduction

I’m not going to write about the pros and cons of microservice architectures, since you…


Photo by Noah Dominic Silvio on Unsplash

Introduction

Recently we found ourselves in a situation in which we had to prepare for a big load increase on one of our DataBases. While the easiest solution is to scale vertically (e.g. increase the DB’s machine’s power) — it might not be the best or the most cost-effective solution.

In this article, I’ll walk you through how we used Amazon SQS and a buffer microservice, to stand in virtually infinite load while saving a lot of money in the process. In addition, I’ll share a way to test your architecture against loads.

The Problem and Possible Solutions

The problem we face was a significant increase…


Introduction

What happens when your app is getting more and more traction and you need to quickly scale a 7 years old monolith code base?

After scaling vertically to the limits of your budget (or AWS capabilities) you might, like we have, reach a certain wall. The single machine just can’t handle that much traffic.

The first answer that comes to mind is “move to microservices architecture”. When dealing with a 7 years old codebase, it should be done gradually. But a solution for the current load must be implemented. …

Yedidya Schwartz

Senior Fullstack Developer @ WalkMe

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store