Spring Cloud Netflix vs Kubernetes

Aram Mkrtchyan picture Aram Mkrtchyan · Feb 24, 2017 · Viewed 7.6k times · Source

I am trying to finally choose between Spring Cloud Netflix, Kubernetes and Swarm for building our microservices environment. They are all very cool and do some choice is very hard. I'll describe a little which kind of problems I want to solve. I couldn't find any best way to design Api Gateway (not a simple load balancer) with Kubernetes or Swarm , that's why I want to use Zuul. But from other side Api Gateway must use service discovery which in case of Kubernetes or Swarm will be embedded inside the orchestra. With Kubernetes I can use it's spring cloud integration, but this way I will have server side discovery and client side discovery inside Kubernetes. Which is overkill I think. I am wondering does anyone have some experience with them and any suggestions about that. Thanks.

Answer

Jeff picture Jeff · Feb 24, 2017

Kubernetes and Docker Swarm are container orchestration tools. Spring Cloud is a collection of tools to build microservices/streaming architectures. There is a bit of overlap, like service discovery, gateway or configuration services. But you could use Spring Cloud without containers and deploy the jars yourself without needing Kuberentes or Swarm.

So you'll have to choose between Kubernetes and Swarm for the orchestration of your containers, if you'll use containers.

Comparison: https://dzone.com/articles/deploying-microservices-spring-cloud-vs-kubernetes