HashiCorp Consul is a tool for discovering and configuring services in the IT infrastructure. It provides service discovery, health checking, key/value stores and support for multiple data centers out of the box.
$0
always free
Kubernetes
Score 9.0 out of 10
N/A
Kubernetes is an open-source container cluster manager.
We used and evaluated solutions like AWS KMS, etcd, regular config files spread out by puppet, etc. Consul was the best option through our tests. Still a product with huge room for improvement, but like the other HashiCorp products it is a valuable product to support your …
Consul can provide a light-weight, lightning-fast and robust solution for the following:
Network mesh
Service DNS
Global key-value store (values can be complex objects as well)
Utility for blue-green deployments
Service health checking
Consul can be used in any or a combination of these scenarios. Regardless if you are a network administrator or a regular software engineer, Consul can add value to your work.
K8s should be avoided - If your application works well without being converted into microservices-based architecture & fits correctly in a VM, needs less scaling, have a fixed traffic pattern then it is better to keep away from Kubernetes. Otherwise, the operational challenges & technical expertise will add a lot to the OPEX. Also, if you're the one who thinks that containers consume fewer resources as compared to VMs then this is not true. As soon as you convert your application to a microservice-based architecture, a lot of components will add up, shooting your resource consumption even higher than VMs so, please beware. Kubernetes is a good choice - When the application needs quick scaling, is already in microservice-based architecture, has no fixed traffic pattern, most of the employees already have desired skills.
The GUI: The GUI interface for Consul has gotten a lot better over the years. Since Consul is so easy to interact with via API, this isn't a showstopper, but for those that are less command line inclined it's always nice to be able to refer them to an easy to use and understand web interface
It's chatty: Consul is extremely chatty. Sometimes it's particularly chatty at 2am with no indication as to why and eats up quite a bit of resources. Just be sure to provision your systems that typically take a heavy load with a little extra for Consul
Local development, Kubernetes does tend to be a bit complicated and unnecessary in environments where all development is done locally.
The need for add-ons, Helm is almost required when running Kubernetes. This brings a whole new tool to manage and learn before a developer can really start to use Kubernetes effectively.
Finicy configmap schemes. Kubernetes configmaps often have environment breaking hangups. The fail safes surrounding configmaps are sadly lacking.
The Kubernetes is going to be highly likely renewed as the technologies that will be placed on top of it are long term as of planning. There shouldn't be any last minute changes in the adoption and I do not anticipate sudden change of the core underlying technology. It is just that the slow process of technology adoption that makes it hard to switch to something else.
Consul's API is extremely user friendly. While their web interface isn't quite as "mature", it's still pretty easily navigated for the average person. Together they make a pretty easy to pick up and use tool.
It is an eminently usable platform. However, its popularity is overshadowed by its complexity. To properly leverage the capabilities and possibilities of Kubernetes as a platform, you need to have excellent understanding of your use case, even better understanding of whether you even need Kubernetes, and if yes - be ready to invest in good engineering support for the platform itself
I've never used paid support from HashiCorp, but I consider its support a good one, since they provide a lot of free resources for the community and there are good user groups supporting you on several sorts of issues. Also, HashiCorp is known as a company with a strong relationship with the community, that is easily noticed by the events HashiCorp promotes over the world.
Consul was easier to configure out of the box than Serf and gave us more initial options. Its easy to use tools and support were by far superior to Serf in many ways. Support alone was one of those areas that Serf could take an example from Consul to keep its customers happy.
Most of the required features for any orchestration tool or framework, which is provided by Kubernetes. After understanding all modules and features of the K8S, it is the best fit for us as compared with others out there.
It contains a native web UI, which in contrast to its counterparts, is handy, very intuitive and - most importantly - very informative. It leaves no room for doubt about your services "forest" health. So, for that purpose, the learning curve was almost down to non-existent. Our team managed to work seamlessly with Consul being our services API
Our management staff had a difficult time understanding what Consul was really all about. For technical staff it is pretty simple to understand the huge value such a tool can pose to our suite of solutions, but once our management staff took the grasp of its valuable handy set of tools, we didn't take long to start using it and keeping track of our Swarm overall health, with was a constant concern for the entire company before.
For load balancing purposes, we were relying pretty much on guesses before we decided to use Consul. One would check a certain node overall health and decide if we would need to spring a new instance at AWS or Digital Ocean.