What is our primary use case?
We use it extensively in our data pushing, for analytics and all of this type of data that is pushed, rather than on a real-time and payment basis. However, we are using it for offline messages, pushing it for processing, and for heavy, heavy usage, rather than extensively using it for financial data.
What is most valuable?
The main advantage is increased reliability, particularly with regard to data and the speed with which messages are published to the other side.
The connectivity from the application is straightforward, as is the API integration.
These are some of the most valuable features of this solution.
In terms of partition tolerance, message reliability is also present, which is a very good feature from the customer's perspective.
What needs improvement?
The area for improvement in Kafka is difficult to say because it's a solid product that works well in its intended applications. And, we are looking for something that can be used as part of financial implementations, because we don't want too many messages to be delivered to the other side, which is one of the areas I am looking at as well.
One of the things I am mostly looking for is that once the message is picked up from Kafka, it should not be visible or able to be consumed by other applications, or something along those lines. That feature is not present, but it is not a limitation or anything of the sort; rather, it is a desirable feature.
The next release should include a feature that prevents messages from being consumed by other applications once they are picked up by Kafka.
Then there is message dependability because a message is of no use if cannot be consumed. Alternatively, if the message is consumed but not committed, it should not be recorded in the Kafka queues. It should be because that is one of the features that is existing in MQs consistently provide: if the message is not committed, it will be committed back to the queues.
I have not seen that in Kafka.
For how long have I used the solution?
We have been using Apache Kafka for approximately three years in the organization.
I believe we are working with version 10. Confluent Kafka is what we are using.
What do I think about the stability of the solution?
It's a stable solution. Once completed, it is a very stable solution.
What do I think about the scalability of the solution?
The scalability is very good. It is scalable horizontally rather than vertically.
It can scale up to any level horizontally. However, if the message, once used horizontally scalable, cannot be shrunk once the requirement is reduced, some process is actually taking place. That is one thing that is lacking.
I believe there are approximately 10 to 15 people who use it.
This is being used by the data migration, data team, data analytical team, and data engineer. It's being used by all application architects who are just looking into it, as well as middleware integrators and middleware application integrators.
We have big plans to increase the use of various other innovations and stuff like that. We are using it in relation to data activities.
Also, we are only planning to use the financial part for publishing it, subscribing, and publishing a pop-up model for various use cases.
How are customer service and support?
Apache usually has a community deployment. If you use Apache or any other software, you will usually receive community support. Otherwise, some companies are taking it and beginning to process it. For example, in Kafka, there is a version of Confluent that they use and support. Or, as we call it, the Oracle Big Data platform.
It will be included with Hadoop, Spark, and other similar technologies. That is coming as, one of the back software packages that are part of that offering, and it is supported by Oracle. Depending on the type of open source, there are various types of support available. Other than the community, we will not receive assistance. Otherwise, it's free enterprise, and we can take it from Confluent or other vendors who offer similar products.
Which solution did I use previously and why did I switch?
Prior to implementing this solution, we were not using another solution. We have been using, Kafka from the beginning with regard to these use cases. However, we are using other queuing solutions, such as MQ, ActiveMQ, IBM IQ, and Q, but the use cases are different. This is primarily due to the large volume, faster processing, and other benefits of using Kafka.
How was the initial setup?
It is not deployed on-premises.
We use Kafka as part of the OCI Oracle Cloud platform and the Oracle Big Data platform because Kafka is included.
The Apache Kafka setup will take some time because it is not simple, and we have a lot of other components to install. It's fine because we needed all the plugins and other things for the simple implementations, but the containers' implementation is simple. The only difference is that when it comes to Zookeeper, there are a lot of supporting applications running on top of it, such as Zookeeper. As part of their area, Apache Kafka is running on top of Zookeeper. What do they think? As part of their... manageability, the Kafka area, and Apache Zookeeper. As a result, everything must be removed. And it will be preferable if the implementation is simple. I believe Confluent is doing this, but we have not yet begun.
The deployment, and configuration, will take one hour to complete. However, it is also dependent on the fact that you require a large number of configurations, which we have.
What about the implementation team?
The deployment was completed in-house.
Currently, there is a team of three to maintain this solution. There are application support personnel in charge of access control.
What's my experience with pricing, setup cost, and licensing?
It will be included in the Oracle-specific platform. It is approximately $600,000 USD.
What other advice do I have?
When it comes to Apache Kafka, they must understand how it works and what its internals are. There could be numerous challenges associated with the product and its entire life cycle. You will have to have a good understanding and knowledge of the configuration. You will need a technical person who is knowledgeable in Kafka which will be an advantage and on an ongoing life partner.
It's a very good solution, I would rate Apache Kafka a nine out of ten.
Which deployment model are you using for this solution?
Private Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Other
Disclosure: I am a real user, and this review is based on my own experience and opinions.
The high availability is valuable. It is robust, and we can rely on it for a huge amount of data.