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
IBM Cloud Managed Istio
Score 8.7 out of 10
N/A
The IBM Cloud Kubernetes Service provides the Managed Istio installation add on, designed to provide additonal control over clusters and the microservices they comprise via automatic updates and lifecycle management of control plane components, and integration with platform logging and monitoring tools.
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.
Clearly, the [IBM Cloud Managed Istio] tool is very useful when you have multiple services and each service is connecting with other services through APIs in different networks. To manage this type of complex network, [IBM Cloud Managed Istio] is very useful. It comes with a license that can increase the billing of your project so make sure if your application network mesh, monitoring cannot be managed on your own then you can use it. If your application is not very complex then you have many tools available like Grafana, Prometheus, Sumo Logic, which you can integrate individually with your cluster and implement. In this type of scenario, it is better to not use [IBM Cloud Managed Istio] and it will serve your purpose as well.
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
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.
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.
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.