SkyElectric Uses Scylla’s NoSQL Database to Scale Its Smart Energy Platform
Smart Energy Algorithms Need Lots of Data
People in the developing world, in countries such as such as Pakistan, India, Bangladesh, Nigeria, often struggle with unstable power grids. In these countries ‘rolling blackouts’ (or ‘load-shedding’) are quite common. This occurs when electricity delivery is interrupted to avoid excessive load on the power plant. SkyElectric provides a solution to this problem in the form of continuous electricity amidst frequent power outages, while also delivering the benefits of solar solutions that homes and businesses enjoy in the developed world.
Using lithium-ion batteries controlled by patented electronics and artificial intelligence, SkyElectric’s algorithms make intelligent decisions that maximize energy availability and minimize cost. This results in 24×7 sustainable, affordable energy availability for all.
Unlike many other companies in this space, SkyElectric engineers develop all of their products in-house, and customer systems are monitored 24×7 by these products. SkyElectric’s customer base is growing rapidly, and the company plans to expand internationally this year.
Traditional Databases Can’t Scale
In 2017, SkyElectric was running legacy Java software against MySQL. As is common with IoT use cases, SkyElectric’s data size was growing rapidly. MySQL was unable to keep up; queries routinely took up to five minutes to return results.
Evaluating alternatives, the team focused on solutions appropriate to time series data, with a goal of efficiently organizing their machine data. The team initially looked at Apache Cassandra and Riak TS. After some testing, the team realized that Riak would be too restrictive; once the schema went live, they would be unable to make any changes. That proved to be a disqualifier.
While researching Cassandra, a software architect recommended Scylla to SkyElectric’s DevOps lead, Meraj Rasool. Familiar with Java’s operational challenges, Rasool was intrigued to learn that Scylla is implemented in C++.
“I was very reluctant to go into production with Cassandra. So many articles and research papers emphasize Cassandra’s massive performance issues. We dreaded continuously tweaking and tuning the cluster to make sure it operates at the proper maximum resources. I was glad to find a superior alternative,” said Rasool.
A Quick and Painless Migration
SkyElectric compared benchmarks on ScyllaDB’s website with their own Cassandra test runs.
“I was very impressed with Scylla’s speed and ease of deployment,” said Rasool. “Unlike Cassandra, Scylla didn’t need any tuning and was up and running very quickly and painlessly.”
Rasool identified operational ease as the key benefit of Scylla. While SkyElectric saw 10x better performance with Scylla, operational ease was still more important, and ultimately proved to be the key criterion that drove the team’s decision.
“After running a production cluster of Scylla for a year, I just cannot stress this enough; I sleep very well without worrying that something might go wrong. We don’t need to worry about performance at all.”
-Meraj Rasool, DevOps Lead, SkyElectric
Starting out with three small AWS nodes, the team followed the documentation and launched bigger I3.large instances. SkyElectric runs three nodes but plan to double or triple those clusters this year.
For support, the SkyElectric team relied on ScyllaDB’s Slack channel. “I’m very happy with ScyllaDB’s support,” said Rasool. “There were a few times when I really needed help and got a response within a few hours. But they weren’t just boilerplate responses. They were actual solutions for my questions. I was able to directly apply the solutions to our running clusters.”
“Once we adopted Scylla, we had the freedom to think about other things,” said Rasool. “For example, now we’re building a search engine and a states engine. We are very confident that Scylla will provide the necessary support, and that it will survive the load. The overall performance of the system backed by Scylla, which was previously measured minutes, is now measured in milliseconds.”
Rasool summed up his experience with Scylla. “Best of all, I sleep well thanks to Scylla. Having worked in DevOps for the last three years, combined with IoT, I’ve found that you need extremely reliable technology. The only way to sleep well and basically live a good life is to select the best of the best. In that way, Scylla has helped a lot.”