Krishna Palati and Rahul Gaikwad of Trellix (formerly FireEye) discuss how ScyllaDB provided a performance boost for JanusGraph while slashing AWS costs by half. [Read the complete case study]
My name is Krishna Palati. I'm a senior manager at FireEye for DevOps.
Hi, my name is Rahul Gaikwad. I am a staff DevOps engineer at FireEye cybersecurity.
Krishna: Our journey towards ScyllaDB has been a very interesting one. We had a legacy system which is one of the widely used systems across business units. It grew from being used by a handful of analysts to being used by hundreds of analysts across the globe. We kind of became a victim of our own success in the sense that a lot of people started using it and the system would crash. It was not stable. It was not performing. It was not distributed or highly available.
So we were challenged with the task to go and redesign a new system. And we evaluated multiple technology stacks, mainly around the graph DB area. We did AWS Neptune, JanusGraph, OrientDB, a bunch of other things. And after a lot of testing, we narrowed it down to JanusGraph. Once we picked JanusGraph, we had this dilemma of backend database should we use. ScyllaDB? Cassandra? HBase? Berkeley dB? I think Rahul had some good experience working with the rest of the development team to validate this.
Rahul: So we did an evaluation for the backend storage, and we found that ScyllaDB is the best selection for the JanusGraph. When we implemented Scylla DB as a backend storage for JanusGraph and we did the performance analysis, we found that it's giving them 10 times faster speed than our existing system.
Krishna: JanusGraph was really good functionally, but an application is only as good as its back end data store. So ScyllaDB gave us that performance boost. And the graph traversing was very fast compared to our previous system, which was a graph that we hacked on top of a relational database.
And when we came to NoSQL, Cassandra, we found that ScyllaDB was a lot more administrative friendly. It has auto tuning, auto deployment, it's an auto configurable solution. Like Rahul said, it was able to do complex workflows in a few 100 milliseconds .
There were a lot of AWS costs when we built the environment. It's a lot, of course, of memory and disk. And towards the end of it, we learned that ScyllaDB doesn't need half of what we gave it. It was so performant that we scaled down the system. And our AWS costs were also very low, while having the same amount of performance gain that we started off the project with. So far, it's been great and we are looking forward to see how we can leverage Saleae for other projects at FireEye.