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
NGINX
Score 9.1 out of 10
Enterprise companies (1,001+ employees)
NGINX, a business unit of F5 Networks, powers over 65% of the world's busiest websites and web applications. NGINX started out as an open source web server and reverse proxy, built to be faster and more efficient than Apache. Over the years, NGINX has built a suite of infrastructure software products o tackle some of the biggest challenges in managing high-transaction applications. NGINX offers a suite of products to form the core of what organizations need to create…
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 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.
We studied Zoekeeper, trying to decide which could become our service broker tool of choice. But although it is meant to be a very high performance tool, it got immensely shadowed by the vast plethora of available tools that Consul offers. The monitoring, health checking tools, …
All of those are paid solutions with very good features, but they also offer dedicated scenarios for web application hosting. If you run applications on on-premises web servers and don't have a Microsoft licence agreement, Nginx is a very good and reliable option, based on …
In our organization, we use different solutions depending on if the database is on premise or in the cloud. We went from multiple solutions across different departments towards a more consolidated model to achieve standardization and economies of scale. We’ve mainly moved …
How does it compare? We use Apache ATP server and we also use Tom Cat also owned by Apache, but both Apache, ATP, and MKA. They are relatively older than GX and so they're one problem for Apache and MKA they need more power, more memory, and more space.
NGINX have higher market share which obviously show to us it is the preferred choice of most of the customers. Both of platform competes in the Web and Application server areas, but due the security features of NGINX be more flexible this in my opinion makes more sense.
Apache is a market leader but NGINX is new and has new features. Lightweight and can handle static requests. We use EC2 and I believe NGINX is more suited when it comes to scalability.
Consul looks to me like an amazing solution to store configuration data. In huge cloud environments like what we are using nowadays, it is quite important to have a reliable source of parameters to our distributed applications, easily scalable and also, easy to change parameters spreading them efficiently over our entire environment.
[NGINX] is very well suited for high performance. I have seen it used on servers with 1k current connections with no issues. Despite seeing it used in many environments I've never seen software developers use it over apache, express, IIS in local dev environments so it may be more difficult to setup. I've also seen it used to load balance again without issues.
Service Health: Using Consul for service health/discovery has been critical to our success in a hybrid environment
K/V Store: The Consul K/V store is the best solution out there for our particular use case, which is as a locking mechanism to coordinate otherwise random runs of our configuration management system. This has allowed us to have peace of mind of system availability in our on-prem infrastructure.
API: The Consul API as a whole is excellent and extremely easy to work with
Documentation: Hashicorp really does documentation well. Their examples are easy to follow and everything is written in a manner that is easy to understand for beginners with the tool.
Straight-forward configuration format that users of all skill levels can learn, and yet is powerful enough for the huge breadth of features that Nginx provides.
Massive scale right out the box. We've never had a Nginx instance overwhelmed by requests, and if we did it would be trivial to spin up more Nginx instances to handle the load.
SSL termination means that we can deliver content over HTTPS without needing our individual services to require TLS support. This saves us a lot of time and headache while keeping us secure.
Nginx is open-source and free, meaning that anyone can use it to power their services, from individual projects to billion-dollar websites.
Customer support can be strangely condescending, perhaps it's a language issue?
I find it a little weird how the release versions used for Nginx+ aren't the same as for open source version. It can be very confusing to determine the cross-compatibility of modules, etc., because of this.
It seems like some (most?) modules on their own site are ancient and no longer supported, so their documentation in this area needs work.
It's difficult to navigate between nginx.com commercial site and customer support. They need to be integrated together.
I'd love to see more work done on nginx+ monitoring without requiring logging every request. I understand that many statistics can only be derived from logs, but plenty should work without that. Logging is not an option in many environments.
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.
This tool is really easy to use and configure. Consumes very less system resources. It is highly modular and configurable. You can easily use it with other tools like certbot for SSLs. You can configure basic security with configuration and headers
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.
Community support is great, and they've also had a presence at conferences. Overall, there is no shortage of documentation and community support. We're currently using it to serve up some WordPress sites, and configuring NGINX for this purpose is well documented.
We used to use Microsoft SQL Server for configuration management of our services. Unfortunately that was a pain because of:
Developers did not know how to persist objects effectively in MS SQL Server
SQL queries or a custom web UI were the ways of keeping the data up to date, but both options were hard to use
Each service would have its own slightly different configuration in a file and in MS SQL Server so that caused a lot of confusion and configuration management overhead
Consul brought the following benefits:
Its own modern web UI
Streamlined use of objects and multiple different configuration (JSON-based)
Service DNS vs IP addresses is a God-send for the dev and operations teams.
All of those are paid solutions with very good features, but they also offer dedicated scenarios for web application hosting. If you run applications on on-premises web servers and don't have a Microsoft licence agreement, Nginx is a very good and reliable option, based on Linux distributions and available as freeware.
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.
Our websites are noticeably faster, causing an increase in customer satisfaction.
Nginx has such a low memory/resource footprint that we save money from not needing multiple large, expensive servers.
Ability to load balance traffic, have server-redundancy, and have high-availability allows for 100% uptime and provides cost-effective solutions to alternatives that can cost a lot.