If I have Kubernetes(or mesos) already, why do I need use Spring Cloud? If I have Kubernetes(or mesos) already, why do I need use Spring Cloud? kubernetes kubernetes

If I have Kubernetes(or mesos) already, why do I need use Spring Cloud?


Kubernetes and Spring Cloud address a lot of the same concerns with Microservices, but with different approaches and technologies. Redhat wrote a great article explaining this. Here the main takeaways:

Spring Cloud has a rich set of well integrated Java libraries toaddress all runtime concerns as part of the application stack. As aresult, the Microservices themselves have libraries and runtime agentsto do client side service discovery, load balancing, configurationupdate, metrics tracking, etc. Patterns such as singleton clusteredservices, batch jobs are managed in the JVM too.

Kubernetes ispolyglot, doesn’t target only the Java platform, and addresses thedistributed computing challenges in a generic for all languages way.It provides services for configuration management, service discovery,load balancing, tracing, metrics, singletons, scheduled jobs on theplatform level, outside of the application stack. The applicationdoesn’t need any library or agents for client side logic and it can bewritten in any language.

In some areas both platforms rely on similarthird party tools. For example the ELK and EFK stacks, tracinglibraries, etc.

Some libraries such as Hystrix, Spring Boot are usefulequally well on both environments. There are areas where bothplatforms are complementary and can be combined together to create amore powerful solution (KubeFlix and Spring Cloud Kubernetes are suchexamples).

Source: https://developers.redhat.com/blog/2016/12/09/spring-cloud-for-microservices-compared-to-kubernetes/

To understand the differences and similarities in more detail I would recommend to the read the full article.