Demo : Twitter streaming and sentiment analysis using Kafka, OCS, MongoDB & OpenShift (Kubernetes)

You know tech tools are cool, but unless you have defined use-case it kinda hard to put things into perspective and understand how different tools can interact with each other, help solve a problem or explore new use cases.

So to educate and motivate our technical buyers, sellers and customers, i created a fancy use case of ingesting live twitter tweets and applying sentiment analysis to it. For this demo i used the following tools

  • Twitter API : Realtime streaming data source
  • Red Hat AMQ Streams : Apache Kafka cluster to store real time streaming data coming into the system
  • MongoDB : Storing tweets for long term persistence from Kafka into a schema-less NoSQL database
  • Red Hat OpenShift Container Storage : Used for providing RWO (in this project), RWX, Object Storage persistence storage for Kafka and MongoDB apps running on OpenShift
  • Red Hat OpenShift Container Platform : Enterprise grade k8s distribution for container apps
  • Aylien : Sentiment analysis solution backend
  • Python : Backend API app to trigger data sourcing from twitter, move data from Kafka to MongoDB, server data to frontend app
  • Frontend : basic HTLM, CSS, Javascript based frontend to plot some graphs

This slide deck should give you a glimpse of how the demo would look like (demo youtube/github link below)

And here is the actual demo recording that you can go through, where i have explained how these component work together and making this a viable solution if you have a real-world use case along the same lines

If you are interested in running this demo by yourself, you can find the code in my repo, Github project link : https://github.com/ksingh7/twitter_streaming_app_on_openshift_OCS

Happy Analysing Live Tweets

Sr. Solution Architect @ Red Hat ♦ Loves Kubernetes, Storage, Serverless, Hybrid-Multi-Cloud, Software Architectures, DevOps, Data Analytics & AI/ML