I found this article very interesting because of the history behind it. Years ago Twitter required a Pub/Sub system to handle all the events they had incoming. At the time Kafka was already available (at version 0.7), but at the time the benchmarks and the features were not enough, so they decided instead to build a tool in-house to solve the problem.
Now, few years after that, they decided to revert their decision and move everything to Kafka. This decision is because of two major factors: Costs and Community. In the past years, Kafka has grown a lot, and Kafka is now outperforming their internal system by far, so they need fewer servers to run the system and that reduces the costs. On top of that, the community around Kafka has grown a lot, and not only they managed to develop a tool faster than Twitter, but Twitter can benefit from this and also would help them in recruiting people because they are more used to the technology.
This is a very interesting topic because it proves the power of Open Source projects, and even if your company has enough knowledge and budget, it’s not always the best choice to go for an internal development instead of choosing an open source technology, at least in a long-term vision.