What is our primary use case?
We have a monolithic application, and our primary use case is to implement microservices. We needed Kubernetes, but instead of going with plain Kubernetes, we chose OpenShift because it has a well-designed UI, more advanced features, and better security.
How has it helped my organization?
The product provides great visibility in the form of metrics over our systems. The infrastructure team monitors the platform with their personal tools and dashboards and can see how it deals with loads, security threats, if bugs are present, etc. Then they can send reports to the rest of us in the organization.
The solution's CodeReady Workspaces reduce project onboarding time in the region of 10-15%.
The CodeReady Workspaces also reduce the time to market; a rival vendor released an offering we had to counter, so we used the platform to implement and deploy our counter in three to four days.
What is most valuable?
One of the best features is monitoring; we can see metrics via visual aids when the load increases, for example.
The software is user-friendly and straightforward to use, which is favorable to a developer.
The system also takes care of itself regarding scaling; the platform can up and downscale automatically depending on demand.
With OpenShift, there is no need to learn new technology, as the skills required for Kubernetes carry over; the commands are interchangeable. Therefore, OpenShift is a developer-friendly tool.
We use the solution on the vendor's OpenStack Platform, and in terms of the ease and speed with which it enables us to create infrastructure, it's very straightforward. We can set up an environment within a day or two, and it's a very convenient way to develop.
The infrastructure created by the solution on the OpenStack Platform is very robust; we created communication metrics: a shield where all VMs, master, and worker nodes communicate from subnet to subnet. We designed these and gave them to Red Hat, where they developed the ISO clients for deployment from day one. After gaining hands-on experience, we could create our own and implement a cluster.
OpenShift is highly effective at creating infrastructure that can be flexibly sized to meet specific needs on the OpenStack Platform. The minimum basic configuration is three masters, three infra, and two worker nodes. When a load starts passing through this setup, and we reach a certain threshold, say the worker machines are running at 60%, we can add another node, another VM. We have added eight to ten VMs in this way before. After experimenting with different configurations, we get a feel of which one to implement for a specific use case within the production environment. If we want to scale up, we add worker nodes; nothing else is required.
OpenShift provides solid security throughout the stack and the software supply chain; the solution has an inbuilt image registry and doesn't allow outside images, making the system more secure. The platform also features a Compliance Operator, which assesses the compliance of API resources and the nodes running the cluster.
What needs improvement?
I want to see more incorporation of native automation features; then, we could write a code, deploy it directly to OpenShift, and allow it to take care of the automated process. Using this method, we could write one application and have elements copied or pasted to other applications in the development process.
There are some gaps in the solution's security, so there is room for improvement in the security and compliance features. Protection against ransomware attacks would be welcome, much like in Google Apigee.
For how long have I used the solution?
We've been using the solution for two years.
What do I think about the stability of the solution?
OpenShift's current stability as of 4.10 is excellent; I don't see any issues. From 4.0 to 4.6, the product wasn't stable, and in many cases, nodes went down, taking down other nodes, and we had to follow up on clusters a lot. After 4.8, the stability issues were fixed, and we haven't had a problem in a year.
What do I think about the scalability of the solution?
The platform is highly scalable; we simply need to add VMs to accommodate the amount of traffic we have, which is a straightforward task. Eight to ten VMs is sufficient for millions of users, and we can easily implement them in a cloud-based or on-prem environment. There are around 50 total users across our Dev Teams, and the solution was able to support one million users of our applications per second without an issue.
How are customer service and support?
Overall, the customer support is good. There's a ticket process with a priority level from one to three, indicating the highest and lowest priority, respectively, with two in the middle. Level one means production is impacted, and support responds rapidly to help with a client team. There are some delays with the lower-priority tickets, but they are there when we need them most. They could have better internal communication so they are all on the same page, as we are sometimes asked the same questions by different people and have to re-explain the issue.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
We previously used Kubernetes and switched because it's more complex from the developer, management, and maintenance perspectives. It doesn't have a proper UI, so knowledge of Linux is required to operate the CLI. However, with OpenShift, a newcomer can log in and run the solution using the UI, which is an excellent capability for a development company. OpenShift isn't restrictive; anyone can use it, making it a good choice.
In addition to the UI, OpenShift has more advanced features, such as the Internal Image Registry, which can restrict malware images. The product is also straightforward to deploy and has good integrations with other tools like Jenkins.
How was the initial setup?
The initial deployment was straightforward and took two days. At most, two staff members are required to deploy and maintain the solution.
What's my experience with pricing, setup cost, and licensing?
The pricing and licensing are handled on an upper management level, and I'm not involved in that, but I understand the solution to be somewhat pricey.
What other advice do I have?
I rate the solution an eight out of ten.
We recently experienced a Log4j vulnerability issue, and the OpenShift team released a patch to which we upgraded, but they could have done a better job.
Regarding the platform helping us meet regulatory constraints, I have yet to deal with this area.
In terms of automation, most people I know use Github, Jenkins, or some other third-party platform and integrate with OpenShift.
We didn't consider building our own container platform because Kubernetes is an excellent platform, and OpenShift is built on top of it. We're satisfied with what we have and see no need to start from the beginning.
Red Hat is an excellent partner; we never shared code, but we used to have review meetings where we shared room for improvement with the product and gave some suggestions. For example, we would like a backup process or system implemented, and we have communicated this to Red Hat.
Disclosure: My company has a business relationship with this vendor other than being a customer. Partner