What is our primary use case?
Our primary use case for RHEL is running our front-end web servers. When you visit our site, all of the front-end servers are Red Hat. The databases that are hosted are Oracle and they predominantly sit on Red Hat 7. We're trying to migrate those to version 8.
We also use it for BI.
We have a digital footprint in Azure and AWS, as well as on-premises. Things for us are very fluid. We're always changing and adapting to our environment, based on what the needs of our faculty and students are.
How has it helped my organization?
The experience depends on the user and what it is that they are doing. If somebody is a Windows user, they're not comfortable with Linux, even if it has a GUI. The graphic user interface can be off-putting to users that are familiar with Mac or Windows. It's not as fast, snappy, and showy as the Windows or Apple graphical user interface. So, those types of users for office production, probably, will not be happy with the Red Hat product line.
If on the other hand, you're a developer or you're a database administrator (DBA), it is different. My experience with my developers and my DBA is that they love Linux. It's easy for them to use. It's easy for them to deploy things like Oracle databases and web servers. Continuous development integration tools like Maven or Tomcat or any of those frameworks are already put in place.
For all of the backend tools that do the work to build the infrastructure, Red Hat really does a good job to make it easy to deploy those consistently, securely, and upgrade them in the same way. There are a lot of pluses for the developers, the DBAs, and the like. But, if you're a regular office user, Red Hat is probably not the tool or the OS that you want to use.
When using RHEL for tracking or monitoring, they do a very good job with respect to the impact on the performance of existing applications. The nice thing about Red Hat is you can get very granular with your logging. We do log aggregation, we use Elasticsearch, and we use Filebeat. These things are part of our log aggregation applications and services that run on the backend of our Red Hat boxes, and it does a very good job of that. We also add bash logging into our hardened Linux deployments, so we see everything. We want to monitor everything, and Red Hat does a really good job with that.
RHEL has given us the opportunity to accelerate the deployment of our cloud-based workloads, although because my organization is a very small college, and we don't have a lot of funds, we can't afford to have all of our workloads in the cloud. It's actually cheaper for us to run most of our applications and servers on-premises.
The workloads that we have in the cloud are typically mission-critical, like student transcripts and stuff like that. These are the types of things that we need to have backups of, which is something that Azure does with Red Hat very well. We are moving in the direction of using Red Hat in the cloud, with the caveat that we deploy only as we can afford it.
With respect to disaster recovery, Azure and Red Hat are probably one of the best pairings that you can get. It provides a lot of redundancy, it's easy to deploy, and the server support is excellent with Azure. There is also good logging, so if you do have an issue you can troubleshoot rather quickly and resolve the problem.
The integration with other Red Hat products, such as Satellite, is excellent and I haven't had any issues with it at all. Everything works very well together with all of the products that we use. For example, Ansible works very well with Satellite. We also used Salt at one time, and we used Puppet. We've moved away from those and just focused on using Ansible. All of the tools that we've used work very well with Rad Hat. The product is mature enough that there's enough support for it from all of the other vendors that run on the Red Hat platform.
What is most valuable?
There are lots of good features in this product. Because I am a system admin, I don't tend to use the GUI or end-user features. Everything that I do is executed from the command line, and this includes features like monitoring tools, such as netstat or iostat. These are the tools that are built into RHEL. Their toolboxes are good but I wouldn't consider them a great feature because there are things that they still need to work on.
The feature that I like the most is that we can integrate it easily with our existing infrastructure. We found that it is much easier to deploy RHEL in our environment compared to a competing distribution like Ubuntu. This is because we also use RHEL Satellite, which is the patching and lifecycle management application that binds all of our RHELs and allows us to push out new stuff.
Satellite is an important feature because it helps to speed up deployment. Satellite is Red Hat's solution to Windows, where the Windows equivalent would be Server Center Control Manager (SCCM), which is now Intune. Satellite is the lifecycle management application for deploying, maintaining, and upgrading your Red Hat systems, and it does a very good job of that. Satellite works in tandem with Red Hat, as you use it to deploy your server.
The main point is that Satellite makes it quick and easy to deploy, and it is also easy to automate the process. I'm the only Linux person at my organization, with the rest of the people working with Windows. Using Satellite, a Windows end-user can deploy a Red Hat server without any Linux experience.
The security updates are done very well, so I feel confident that I'm not going to get hit with ransomware or a similar problem. Their security patches are pretty up to date. Also, it's rather easy to harden a Red Hat deployment because they provide tools to help you do that.
Red Hat gives us the ability to run multiple versions of applications on a single operating system, although we only use this functionality for Java. Even then, it's specific to the underlying applications. For example, Oracle uses Java on the backend. Also, we have multiple versions of Java on some of our web servers and it does a good job.
What needs improvement?
The biggest thing that is crushing RHEL is documentation. Their documentation is haphazard at best. The man pages that you can use locally are pretty good, they've been fleshed out pretty well, but the documentation from Red Hat itself really needs somebody to go through it and review it.
The only real negative that I have with Red Hat is that you can tell that when you look at the documentation, they cut and paste documentation from the previous version. Because they update it that way, what happens is that there's nobody doing Q&A. For example, in Red Hat 7 and Red Hat 8, they changed the way they do deployments. Instead of using YUM, you use DNF but when you read the documentation for Red Hat 8, they intermix the two. This means that if you're a new Linux user, it's very difficult to distinguish between the two commands. The fact of the matter is that one is built on top of the other. DNF is backward compatible on top of YUM, and that can cause confusion with users and system administrators. However, it wouldn't be an issue if there was good documentation.
My job is pretty easy, but the documentation would really help me be able to communicate the things that I do to the rest of my team. They're all Windows people and when I go to the Red Hat documentation and tell them that we're migrating to this and we're using this tool, but the documentation is horrible, I get laughed at.
By comparison, Microsoft has its own problems with documentation, but it's a little bit more organized and it's definitely fleshed out a lot better. I commend Microsoft for its documentation. Red Hat may be the better product for the things that we do in our environment, but Microsoft has better documentation.
For how long have I used the solution?
I have been working with Red Hat Enterprise Linux for the past four years.
What do I think about the stability of the solution?
This is a very stable product.
What do I think about the scalability of the solution?
In terms of scalability, you can't beat it. It's easy for me to scale up and down, especially with Satellite. I can push out 10, 100, of the same servers for the same configuration and set up with the push of a button.
On the cloud side, Azure also allows us to scale very nicely. This means that we can scale locally if we need to because we use Hyper-V for our VM management and we can spin up 10, 15, or however many servers we need, relatively easy with the push of a button, and you can do the same thing in Azure. We haven't done that in AWS.
Most of the servers that we spin up are proxies. We use a product called HAProxy, and we can deploy those proxies as needed. There are also busy periods where we need to scale. For example, when it's the time of year for students to register for classes, we'll see an increase.
Another thing that is nice is that Azure will scale as we see more users come online. It will automatically spin up Red Hat boxes to accommodate, and then it'll bring them back down when that surge is over.
Overall, scalability is very nice, either in the cloud or on-premises. As far as setup and configuration, you can make sure that it's consistent across the board, no matter where it is deployed.
How are customer service and support?
I would rate their frontline support, where I submit a ticket, a seven or eight out of ten.
In terms of support that is available through their documentation, I would rate it a three out of ten.
Which solution did I use previously and why did I switch?
Before I started working for the organization I work for now, I used a product called the FOG Project. At the time, we used Ubuntu Linux. FOG was the equivalent to Satellite and Ubuntu is the equivalent to standard Red Hat.
Comparing the two are apples and oranges. The FOG Project is not as mature as Satellite; it doesn't have the bells and whistles that Satellite does. In general, their lifecycle management tools cannot be compared. Satellite outperforms the FOG project, it's easier to deploy and easier to use.
When comparing Ubuntu and Red Hat, the big difference is that the releases for Red Hat are more stable. They do lag a little behind Ubuntu, as Ubuntu is more bleeding edge. This means that they're pushing out updates a little bit faster, but they're not clean in the sense that they may push out a patch, but then five days later, they have to push out a patch to patch the patch. This is in contrast to Red Hat, which is a little bit more consistent and a little bit more stable. What it comes down to is that Red Hat is much more stable than Ubuntu in terms of patches, updates, and upgrades.
Those are the key differences for somebody who manages that infrastructure. You want something that's easy to diagnose, troubleshoot, and put out solutions. Ubuntu may push out a patch or an update that's so bleeding edge or so out there that vendors haven't had time to come up with solutions on their own, so if it's a driver issue or something like that, with Ubuntu, you may have to wait around as a user for those kinds of solutions.
With Red Hat, they make sure that when the product goes out, that there is some Q&A, and they've done some testing. They make sure that there's compatibility with other products that depend on that particular feature, functionality, or service.
How was the initial setup?
RHEL is very easy to configure and deploy.
When we're talking about RHEL in the cloud, Azure is probably the better platform for RHEL. AWS has some licensing issues. The business end of using RHEL on AWS is not as mature or fleshed out as it is on Azure.
Incidentally, I'm not a big fan of Azure. Rather, I have most of my experience in AWS, but Azure deploys Red Hat without issue. We don't have to worry about licensing and connecting things. Everything is already bound to Azure AD, and that makes it really nice because on-premises, we have to do that manually.
For the on-premises deployment, part of the deployment package requires that we add our Red Hat servers to our local AD. But in Azure, it just does everything for you all within one PowerShell command. Ultimately, deploying Red Hat in Azure is much easier than deploying it either on-premises or on AWS.
What was our ROI?
We have seen a return on our investment. Our organization is probably going to stick with Red Hat because the licensing fees are low enough to offset the maintenance and support cost of that OS.
What's my experience with pricing, setup cost, and licensing?
Pricing is always a critical factor for all IT departments. The cost of doing business is part of the nature of the job. If you're going to buy a bunch of Dell servers, for example, you have to take into consideration not just the licensing, but the hardware support and other things. The licensing with Red Hat is on par with other organizations like Microsoft.
We buy our licensing in bulk, meaning we buy perhaps 1,500 licenses at a time. They changed their licensing structure over the last couple of years. It used to be per system, whereas now, it's all or nothing. We don't have a subscription, as they used to offer, because they moved away from that. We have a site license, which gives us a certain number of servers, perhaps 25,000, for the type of license that we have. That works really well for us.
The way our structure is set up is that we just buy it by the tier system that they have, so if you have so many servers then you buy that tier and then you get so many licenses as part of that tier or enterprise package.
There are additional fees for using other Red Hat tools, such as Ansible Tower. We use Satellite, and it uses Ansible on the backend. However, we use the vanilla Ansible out of the box, rather than the official Red Hat Ansible Tower, simply because we can't afford the licensing for it. Satellite bundles everything together nicely in their suite of tools but we have moved away from that because of the additional cost.
This is one of the downsides to any operating system, not just Red Hat. Windows, for example, is the same way. They try to bill every organization for every license that they can by adding on different suites of tools that they charge for. A lot of organizations, especially the smaller ones, simply can't afford it, so they create workarounds instead. In our case, Ansible is freely available and we can use it without having to pay the fees for Red Hat's Ansible.
The nice thing though, is that they give you the choice. Red Hat doesn't force you to buy the entire product. They still have Ansible entwined with their Satellite product. The point is that if you want the additional features and functionality then you have to buy their Ansible Tower product, but you can still use the basic product regardless.
The fact that RHEL is open-source was a factor in us implementing it. This is an interesting time for Red Hat. The great thing about Red Hat for us was that we could use Red Hat and then we could use their free, commercial version, which is CentOS. It stands for Community Enterprise OS. Unfortunately, they are no longer going to push out CentOS and I think that 8.4 is the latest version of their free Red Hat distribution.
When we first went to Red Hat, in all the organizations I've ever worked at, being able to test things was one of the key factors. We could spin up a CentOS, implement a proof of concept and do some testing before we actually went to use RHEL, which is a licensed version. The real plus was that we could do testing and we could do all these things on the free version without having to eat up a license to do a proof of concept before we actually invested money moving in that direction, using that particular product or service.
Now that this ability has gone away, we are going to see how that pans out. I think Rocky Linux, they're hoping that that's going to be the next CentOS or free Red Hat. We'll see if that pans out or not but right now, it's a scary time for people that are dependent on CentOS for their free development environments, where we can just spin that up and play around. Right now, we're looking at how we're going to resolve that.
It may be that we have to eat up a license so that we can spin up a machine that we just want to do a proof of concept. This is something that we don't know yet. I don't have an answer because we simply don't have enough data to make an assessment on that.
Everything considered, having a free commercial version available, in addition to the paid product, is a big lure for us. They worked really well in tandem.
What other advice do I have?
We have approximately 14 servers running Red Hat 6 but we used Red Hat 6 all the way to Red Hat 8.
The AppStream feature is something that we have tried but on a very limited scale. We have had mixed results with it, although it looks promising. At this point, I can't say whether it is a good feature or not.
My advice for anybody considering Red Hat depends on the role of the person that is making the decision. If they're an end-user or their organization is using office productivity software, then they're probably not going to want to use it for the backend. This is because there are not a lot of users that are using Red Hat as their office productivity operating system.
If on the other hand, you're somebody that's looking for servers that just need what they call five nines or high availability, Red Hat is your solution for that. That's what I would say to anybody, any technical person that I've talked to, if you can afford it, definitely get Red Hat for your web development. Your web servers should be either Apache, or NGINX, which is their web server stuff.
Red Hat should also be used to host an Oracle database. We found that that works really well and is very competitive with Microsoft's SQL server. It's about the same cost; the Red Hat product is actually a little cheaper than Microsoft's SQL product.
Considering the cost, ease of deployment, and ease of use, Red Hat is the better product for your main infrastructure. For things that just have to be up and running, Red Hat is the product that you want to use.
I can't be strong enough in my opinion that Red Hat does what it does very well for the mundane tasks of infrastructure. For instance, when it comes to web servers, no other OS does a better job than Red Hat for web servers or databases. Similarly, it does a very good job for proxies. For things that just need to run and have very little human interaction, Red Hat's your solution. If you're looking for something that's for an office, such as for accounting, then Red Hat is not the solution to choose.
I would rate this solution an eight out of ten.
Which deployment model are you using for this solution?
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Disclosure: I am a real user, and this review is based on my own experience and opinions.