What is our primary use case?
I have used OpenShift in two companies. My earlier company was using a CI/CD pipeline. I customized the CI/CD pipeline in Java and then in Jenkins. We used it to deploy applications in different stages in the CI/CD. In my current company we are using CloudBees Core. They have a CI/CD pipeline and using that we deploy with the OpenShift platform.
If any application team wants to deploy an application on a container platform, we offer a platform for that. If they want to deploy a microservice application and they want to use a microservices architecture, we provide a space for that. OpenShift is running on the AWS platform, which means that deployment is highly scalable and highly retainable. People who want to deploy an application with a zero-downtime infrastructure prefer using the to OpenShift platform.
How has it helped my organization?
The solution provides a lot of flexibility to the application team for running their applications in the container platform, without needing to monitor the entire infrastructure all the time. It automatically scales and automatically self-heals. There is also a mechanism to alert the team in case it is over-committing or overutilizing the application.
What is most valuable?
One of the valuable features is that it's very easy to package an application and deploy it within a short period of time. Since it will be in the CI/CD pipeline, deployment is very easy. And the automation process is very easy and it's highly scalable. It can be scaled up or down at any time. We don't need a person managing the infrastructure all the time because there is automatic self-healing of the application in case something goes wrong.
For how long have I used the solution?
I've been working with OpenShift for the past two years.
What do I think about the stability of the solution?
The stability is quite strong, since it's a flavor of Kubernetes. We don't have any doubt about that aspect because we have never seen the infrastructure down for a long time, like a day.
What do I think about the scalability of the solution?
Scaling it is quite easy. We can scale to as many nodes as we want and scale down to as many nodes as we want. That is fast because we have an automated script in place to scale up and scale down the infrastructure. We are quite happy with the solution in that regard.
How are customer service and technical support?
Documentation and technical support could be improved. The product is good, but when we raise a case with support—say we are having an image issue—support is not really up to the mark. It is difficult to get support compared to other vendors. AWS will get on a call for any problem and start a screen-sharing session. They will immediately start fixing the issue, whereas with Red Hat and OpenShift, we have never seen similar support. When we raise a case, their support people will hesitate to get on a call or a screen-sharing session. That is a major drawback when it comes to OpenShift. Support-wise, they are still lacking.
A friend called me and they are using OpenShift 4.6. They installed a Prometheus box and they upgraded OpenShift and they upgraded the registry. After upgrading, one of the nodes was not able to run the container. When they raised a case, the support guy said that they needed to maintain the old images. Why, when they upgraded the OpenShift, do they need to maintain the old images? My friend called me and told me this and that it is not mentioned in the documentation. He said he raised a case and then followed up with support for the last four days, but there has been no response. The documentation was not clear. Now, we are facing this issue and we don't know how to solve this problem.
That was when focusing on upgrading from 4.6 to 4.7 or 4.8. It seems OpenShift never looks at how to manage earlier versions they sold in the market. Without the proper guidance or support for the product, people will not continue with the product. They need to keep that in mind. It shouldn't be that they only sell the product to the customer and ask them to run the show. They have to think of continuous support. That's why I give it six out of 10.
Which solution did I use previously and why did I switch?
Before OpenShift we were only using Docker. There was no Kubernetes in our infrastructure. With Docker, there is no scalability. It is just a package. In terms of scalability and availability, Docker will fail. That is why we chose OpenShift as a platform.
How was the initial setup?
The initial setup is okay because there is a straightforward installation process to follow. It is guided by their people and they know how to implement things. We only faced an issue when we started running the infrastructure and that's when support was not up to the mark for OpenShift.
Deployment is quite fast because we have a CI/CD pipeline and we use GitLab for the source code. It can be done within 30 minutes or an hour for the UAT stage. When going to production, there will be a software assessment and then the time needed depends upon change requests and the change window for the application.
We have an implementation strategy for OpenShift. We have prepared a baseline saying that if a given application comes onboard with OpenShift, the team has to learn some basic technical stuff. They have to create a Dockerfile and create the source-to-image. Then they have to use the repository and onboard or copy their source code into it. The baseline documentation exists for people to follow. We will then deploy their application to OpenShift and there will be a dedicated team to further support the onboarding process.
What was our ROI?
We have seen return on investment. Applications used to run in VMware, but now they are running in OpenShift. There are benefits in terms of scalability and availability, and they can spin up more microservice applications and that is something that cannot be done in the VMware platform.
What's my experience with pricing, setup cost, and licensing?
I don't deal with the cost part, but I know that the cost is very high when compared to other products. They charge for CPU and memory, but we don't worry about it. If people really want to make use of this platform, they don't care about the licensing and costs.
Which other solutions did I evaluate?
My team members evaluated Amazon EKS and Pivotal Web Services. OpenShift was the market leader in terms of a container platform and that's one of the reasons we chose it for our company.
What other advice do I have?
If you really need an application, meaning one million customers are going to use the application, then this platform will be quite significant. If you only have 10 or 20 or 100 users of an application, OpenShift is not the right choice. The cost is quite high. For that number of people, there is no need to run in a container platform. You need a large number of concurrent users accessing an application and then OpenShift provides the scalability.
We have not considered building our own container platform because it's very tedious to manage the infrastructure and you need a highly skilled person who knows Kubernetes very well, and OpenShift very well. We don't have that kind of team or people with the skill sets.
When it comes to security, we have the Prisma Cloud image scanning so that each and every image is scanned and we get a report regarding the kinds of vulnerabilities there are in particular images. That way, in case there are any vulnerabilities or critical patches that need to be applied to the images, they will be taken care of before going to production. In addition, we have used SonarQube for code scanning and Prometheus for monitoring.
On top of that, there are security properties in OpenShift as well, such as user authentication, user level, access level. But at the image level, we need specialist software to scan the images and report the vulnerabilities. If an application requires additional security in terms of images and the packages, we configure Prisma Cloud in the CI/CD pipeline, so that at each stage it will scan and evaluate the software and report the vulnerabilities to the respective teams.
When we are developing our application to deploy into OpenShift, it can be challenging to refactor the application or redo the application. It takes some time for the team to do that kind of infrastructure stuff at the coding level.
We don't use OpenShift's CodeReady Workspaces because that is for new infrastructure, for people who are new to the OpenShift platform. We just use Docker images and deploy the application.
Which version of this solution are you currently using?