What is our primary use case?
We are using OpenShift Container Platform to build microserivces which are financial business logics, such as payments, transfers, KYC etc. These serve as the defacto logic consumed by any channel. We are also leveraging the networking and securing capabilities of OCP which serves to secure and control on granular level.
How has it helped my organization?
First and foremost we have benefited vastly in cost reduction.
The abstraction provided by OpenShift of the underlying infrastructure gives us the ability to extend the application across data centers (on-prem or cloud) that gurantees the uptime by 50%.
The ability to push new changes without hampering the current version given us almost 100% business continuity and zero downtime deployments.
OCP gives the ability to use the resource effectively which has helped in maximizing the use of underlying infra and it further has the intel to scale up the the running app in case it is running out of resources thus auto-scalablility is inherent when apps are ran on OCP.
It would be unjust to not mention the automation capability introduced by OCP makes the whole development and deployment seamless and almost eradicates the operational overhead of running this platform.
What is most valuable?
The auto scalability feature, which is based on smart agendas, determined from pre-prepared rules is the most valuable feature. You can also create different routes for deployment. Deployment types can be provided with an identifier, such as AB deployment. This really helped in rolling out releases without disrupting services for the end-users.
Secondly, there is the ability to control at a granular level. For example, they can release two versions of the same service and control the traffic towards it to a specific percentage. Other organizations don't seem to use this feature in the same way we did. Additional rules can be specified to determine individual versions of a service, and rules for governing users access to such services.
Marketing can also make use of OpenShift by analyzing logs to provide useable data. This is one of the features that I really like about OpenShift. It is also a secure environment, with user access configurable at a very granular level. Depending on the API and the ecosystem, it is possible to completely plug and integrate. You control how the deployment works and the testing process.
With OCP 4.x the capability of configuring and controlling your ingress controller has also introduced an immense ability to provide an experience which is pertinent to a particular app. With this we can introduce app specific compliance and security without enforcing similar requirements on all services, which was the case with earlier versions.
What needs improvement?
From a networking perspective, the routing capability can be matured further. OpenShift doesn't handle restrictions on what kind of IPs are allowed, who can access them, and who cannot access them. So it is a simple matter of just using it with adequate network access, at the network level.
It should be possible to whitelist IPs so that you can allow and restrict access to the API. That would be a fantastic feature. OpenShift would then encapsulate the entire security and access. This is one improvement that I would seriously want our client to have, and for that reason, I have joined the OpenShift community, and it is a project I could probably work on myself.
The second thing is that deployment is more of a strategy rather than a feature in OpenShift. Although you can create different routes, and it works fine, it is not an innate feature of OpenShift that it understands that you want to run specific versions of the same service as needed. Though you can define routes to serve different versions.
For how long have I used the solution?
I have been using OpenShift Container Platform for almost four years.
What do I think about the stability of the solution?
It is very stable when it's running. So far, I haven't found any issues. We went through operating system upgrades. We did need to perform some patching, so there was some vulnerability and there were many tasks we had to undertake to assist with stability. In fact, we use two clusters. One of them is used for non-production purposes. It is a developer's structure and is a very stable solution.
Further by the design OCP will keep running the cluster is left with only one node, which makes it very robust and reliable platform.
What do I think about the scalability of the solution?
The auto-scalability feature, which is based on smart agendas, can be determined from pre-prepared rules. You can also create different routes for deployment. Deployment types can be provided with an identifier.
This is very flexible and saves resources when you don't need them, and scales up when you do. This is a very powerful feature.
How are customer service and support?
We used the Redhat TAM service. They assign a technical application manager to you, and we have used that. The support is very, very responsive. They respond very quickly. What I like about them is that they have a very precise, clear and rationale way of working they will ask guide you to take a decision towards one single solution you require. That's it. They will come back to you and provide pinpoint in-depth guidance into the problem that you have.
Unlike most support companies, you usually obtain a workable solution in a good time frame.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
We were using 3.x and now we have swtiched to managed OCP 4.x on cloud. This has given us helped in reducing cost and given the ability to expand and configure OCP without involving infra team, what was a months process has reduced down to minutes.
How was the initial setup?
3.x was a complex setup but with 4.x this has been addressed drastically and now it comes with a setup engine which handles 90% of the setup itself. Though it still does gives you the ability to do it 3.x way but it still less complex than 3.x.
What about the implementation team?
This was an in-house implementation.
What was our ROI?
Costs reduced by 70%, this includes infra and operation costs.
What's my experience with pricing, setup cost, and licensing?
It is a costly solution but then again, it's intended for enterprise-level business, and the license has to reflect that. It is appreciated what the GPU's processing power requirements will be higher. The licensing is very flexible. The license is related to the processing power you need, and the infrastructure of any clusters which go with that. If your current application, internally, has more then 5 workflows that have significant resources requirement I will suggest to consider using OCP. Anything below would be more costly on OCP in terms of license and infra setup.
Which other solutions did I evaluate?
We had a comparison between OpenShift, Azure Kubernetes Services and Elastic Kubernetes Services (AWS) but OpenShift is more mature, it has understands the corporate more especially from security and compliance perspective. We also have the leverage to be multi-tenant with OCP over IaaS that lets us leverage the best of all infra flavours out there.
What other advice do I have?
A common mistake is to assume that the solution can change the architecture type. e.g. some people think by using this solution they can change their application architecture into a microservices architecture. OpenShift is an orchestration platform. These types of solutions are not intended to be run as a microservices architecture. Very often, the two become synonymous which leads to decisions which incur huge costs. Especially the conventional thought process kicks in and OCP looks more like an application server rather than a platform.
As the cost of this product is expensive it should only be considered for large enterprises. There will also be a need to hire technical people, and this may also involve a training cost.
There has to be a cost-benefit. It can be done as a single solution, but the solution itself has to be huge.
You also need to make the best use of the solution. If you are processing millions of transactions, that would describe an adequate use. You need to calculate the solution costs against the work it is designed to do, otherwise, it becomes a cost overhead. Certainly, for a single application, it would be a waste of money.
I would rate OpenShift Container Platform a nine out of ten.
Last but not the least, considering running multiple application on OCP to maximize the cost of licenses and it the budgeting of OCP should not reside with an application team where it will hard for them to budget and run the platform and would innately require other application teams to have a separate cluster which dissolves the whole purpose of OCP.
Which deployment model are you using for this solution?
Public Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Disclosure: My company does not have a business relationship with this vendor other than being a customer.