From Monolith to Microservice Architecture on Kubernetes, part 1 — The Api Gateway
In this blog series we’ll discuss our journey at Cupenya of migrating our monolithic application to a microservice architecture running on Kubernetes. There’s a lot of talk on microservices and also a lot of great online resources available, but I noticed that practical & pragmatic guidance is often lacking. Therefore, I’ll try to get really hands on.
If you’re unsure what a microservice is, I suggest reading Martin Fowler’s article about them. For the sake of this article my definition of a microservice is:
A software component that is independently deployable and scalable
I also highly recommend Chris Richardson’s excellent series on microservice architecture. If you’re not familiar with Kubernetes’ basic entities such as pods, deployments and services you can check out this nice hands on introduction by the guys from Codefresh.io.
This series won’t be a beginners guide on building microservices. I’m also not going to advocate (too much) on whether to microservice or not. This is just about sharing our experience with transitioning to microservices and the setup we ended up with at Cupenya. But don’t worry, there will be code.
Parts
- Part 1: The Api Gateway (this part)
- Part 2: Authentication with JWT
- Part 3: Deploying our Scala app as a microservice