Kubernetes Vs. Netflix’s Eureka.
A Kubernetes to Netflix Eureka quick comparison for beginners.
I have been doing some research on the differences between Netflix’s Eureka and Kubernetes. What I found to be the main difference is Eureka is focused on micro-services from the coding level. Kubernetes focuses on orchestration.
With Eureka, you create a highly available distributed application to micro-service solution. On the other hand, Kubernetes focuses on Docker container orchestration. It worries about the number of containers running, container demand or has a container died and needs restarting. It doesn’t care about what is in the container and what the container does. You need to add on additional solutions/tools to achieve the same end result as Netflix to have a full end to end solution.
Different Approaches to Solving the Problem
In the long run, both of the solutions solve the same problem but use different approaches. Kubernetes seems the best to take an existing application and break it into micro-services over time. It has less pieces built in to the solution so you need to bolt on the missing pieces by using 3rd party solutions.
Eureka seems to require changes upfront in order to adopt it. Eureka is integrated with the other Netflix solutions, Ribbon for example, so everything is easy to pull together for an end to end solution.
Neither Solution is Release Automation
Paradoxically, both of these solutions refer to the automation of deployments. Because our DeployHub performs deployments, it is important for you to understand that their is a difference. While DeployHub focuses on defining and packaging the application stack for an endpoint, Eureka and Kubernetes does something more like ‘publishing’ the application package to the container. It becomes important to understand the differences when so many tools are describe as performing deployment automation.