Consul is here to save your configuration management, service names and many more!
Use Cases and Deployment Scope
We use Consul for 2 primary purposes:
<ul><li>service DNS across different OSes.
This saves us the trouble of using hosts file mappings, relying on an external DNS provider and also give us a stable FQDN DNS name for our services.</li><li>global key-value store for having a "Single Source of Truth" where configuration values are written to and read from.</li></ul>
Pros
- Providing a service DNS
- Being a fast, stable and reliable service - a cluster of minimum 3 nodes by default
- Being a robust key-value store
- Easy to install and configure
- Extremely lightweight
- Slick and really useful web UI
- Good official documentation
Cons
- Error logs - some of the errors require Googling as you have no idea what they mean
- Misconfiguration is painful - strange errors can occur if you make even a tiny mistake
Likelihood to Recommend
Consul can provide a light-weight, lightning-fast and robust solution for the following:
<ul><li>Network mesh </li><li>Service DNS</li><li>Global key-value store (values can be complex objects as well)</li><li>Utility for blue-green deployments</li><li>Service health checking</li></ul>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.
