See all blog posts

Why MistAway Turned to ScyllaDB Cloud for Its IoT Systems

Mosquitos in the United States are a major problem. Besides simply detracting from the enjoyment of outdoor activities, they can also pose serious health risks. Nearly 1,700 cases of malaria are diagnosed annually. Meanwhile other mosquito-borne diseases such as Zika, dengue, chikungunya, and yellow fever are actually on the rise due to changing habitat and the trend in warming temperatures.

Over the course of history, there have been multiple phases to address this plague of insects. The period c. 1900 – 1942 was defined as the “mechanical” era, where drainage and habitat denial was seen as the primary method to control mosquitos. From c. 1942 – 1972 was the “chemical” era, marked by a prevalent use of pesticides beginning with the over-reliance on the use of the highly-toxic DDT and ending with its ban. The period afterwards to the present has been defined as the “integrated mosquito management” era, using a mix of both mechanical as well as chemical means, and where public health officials sought to balance all relevant public health risks: both from mosquito-borne diseases themselves and also from any means employed to keep them in check.

U.S. Public Health Service posters (1920) Source: NPR

Mosquitos are Wireless

Most recently we have entered a fourth phase: the “Internet of Things (IOT)” era of mosquito management. From mosquito trapping to misting, modern systems are increasingly Internet-enabled and data-driven.

MistAway, headquartered in Houston, Texas, is the market leader in outdoor insect control misting systems, accounting for nearly half of the installed base. Their products comprise a number of components:

  • Drum or tankless reservoirs for the chemical solution
  • A variety of organic and synthetic chemical solutions
  • Related misting nozzles, valves, pipes and joins to dispense the chemical mists
  • Standard and optional sensors and electronics for scheduling, flow control, wind direction, leak control, and wireless communications to ensure the system is operating appropriately

MistAway’s programmable system typically dispenses an insecticide for less than a minute three times daily to control mosquitoes.

iMistAway is their data-driven wireless and Internet-enabled management/monitoring service. It can monitor outages in the system, low fluid levels, leaks and other failures. It gathers time-series data reported back from all dealer-installed systems at end-user sites, conducts analyzes, and then reports out alerts to users and their dealer network in case alerts need to be sent and/or an on-site service call needs to be made. The mobile iMist app allows users and their authorized dealers to control MistAway systems from anywhere at any time.

The web and mobile interfaces of the iMistAway system allow the manufacturer, as well as dealers (left) and end users (right) to know precisely how their systems are working.

MistAway Moves to ScyllaDB Cloud

Kevin Johnson of Mistaway described how they initially deployed the backend database for their solution and then migrated to ScyllaDB Cloud (NoSQL DBaaS) in his talk at ScyllaDB Summit 2019. The company initially used MySQL.

‘The real benefit in our mind is that the dealers are able to use this to provide better and more efficient service to the homeowner,” according to Kevin. It prevents having to do needless but regularly scheduled “truck-rolls” every thirty or sixty days and heads off calls from angry customers being assaulted by mosquitos. With iMistAway you only roll a truck out to a house when you need to, and you have foreknowledge of the precise issue.

Each system provides seventy channels of data points. One of those is the status for the tank. For instance, if a tank runs empty prematurely and the status is EMPTY, it can send an alert to be refilled.

MistAway’s internet of Things (IoT) architecture requires receivers on the individual components, a gateway at the customer location to the cloud and a back-end platform that ingests data, performs analytics, and processes messages to dealers and end users.

Originally the analytics system was stored in a third-party SQL database, but the vendor was moving away from their existing business model. This left MistAway in the lurch. While the vendor offered to move the database in-house, the MistAway staff would have to manage it themselves with little support. Their vendor gave a deadline of three months to make the transition to migrate their entire history of five years of data streaming from over 3,000 systems — a number that has only grown since. Kevin admitted this made him feel pretty overwhelmed.

The migration plan required shifting existing historical data as well as stream the current time-series data from live systems into the new database. This was when Kevin considered ScyllaDB Cloud, a managed database service. “We needed the high performance of tools like ScyllaDB but we really don’t want to have to manage everything.” Kevin described what it felt like faced with a hard deadline, “We’ve got a time crunch. We’ve got to get this thing solved. Let’s check out these ScyllaDB guys and see if they’re legit.”

Once the engagement began Kevin was impressed and described the process as a “zero stress migration.” ScyllaDB conducted sizing reviews, and optimized for MistAway’s business, taking into account time-of-day and seasonal effects. ScyllaDB Cloud had an easy-to-digest price (“makes it a really easy convince-your-boss exercise”), and was easy to signup and get started. Describing the user experience, “Couple clicks. Couple minutes. You can spin up a cluster where you want it, how you want it.”

ScyllaDB also provided step-by-step documentation of the migration process, “which was very helpful.” He even noted that the day of the migration he was unexpectedly unavailable. But ScyllaDB took the initiative, along with the former vendor, and made a seamless migration.

“We had zero downtime. And for that, I think ScyllaDB’s number one.”

Making the move from SQL to NoSQL required the team to completely remodel the schema. Tables to support their queries were created for different kinds of information: alarms (both current and historical), datapoints (both current and historical), reactions and current states:

alarms_current
alarms_history
change_history
atapoints_current
datapoints_history
reaction_receipt
states_current

The remodeling of data into current alarms and datapoints meant that Kevin could get the real-time state of all the deployed systems. “In my legacy platform these are two things you couldn’t do without getting up to take a break or get a cup of coffee. Now, with ScyllaDB, we can do these full table scans. My boss loves to login as a superadmin, pull up the entire fleet and run analysis and see how the fleet is doing health-wise.”

Kevin’s own favorite table is datapoints_history. The partitioning key consists of a node’s ID, the channel that’s being updated, and the date the readings occur. This produces fairly even partitions throughout the cluster. “Then we use the clustering key of timestamp, which allows them to compare the levels from now to nine months ago to get seasonal reports.”

ScyllaDB, Take the Wheel!

In production now for more than a year, Kevin has dealt with zero maintenance. “I don’t want to deal with repairs. I don’t want to deal with compactions. ScyllaDB handles that for me.”

Support is provided over a dedicated Slack channel, which Kevin describes as “Probably my favorite aspect of ScyllaDB Cloud.” He also appreciates the “really clean web app,” which he uses every morning. He logs in to DataDog, Kibana, and the ScyllaDB Cloud dashboard to see how the cluster responds to the effects of the iMistAway platform. “This actually has really been really educational for me as well.” Kevin also appreciated having a dedicated account manager to be the “one-stop shop for any issues.”

“Overall, it’s been kind of boring. It’s low drama, it’s low stress. And that’s the way we need it to run our business. Over the past year, we have had zero hours downtime on our cluster — so we’ve always been up. And we’ve submitted zero support tickets.” (Technically, he pointed out, not true: he opened one ticket to get help to produce slides for his presentation at our the ScyllaDB Summit!) “Everything’s been good so far.”

Coming back to the Slack-based support, he rued the way other companies typically handle customers: opening a ticket and getting put into a backlog. Sitting in a phone queue and leaving a message. “With ScyllaDB, there’s none of that. I can jump right into the Slack channel. I’ve got direct access to the pros. Whether I have a question, just a curiosity, or even just a really good joke I can jump in there and drop it in. So that gives us a lot of confidence in our cluster.”

Even when their traffic fluctuates, “our cluster doesn’t budge.” They have high availability baked in by placing their nodes in different availability zones (AZs). “My data is always available when I need it.” And the exercise in data remodeling helped response times tremendously. “Our queries are really fast… What it equals is when our users need to access the app and get their data, it’s there. Instantaneously.”

An example of how MistAway was able to detect the exact moment when a unit went offline from their datapoints_history table.

Kevin painted the image of what this means to their success. “You got to think about it. Our dealers are technicians… They’re outside with an iPad… It’s hot. If the system’s down they’re getting assaulted by mosquitos. The dog’s barking. The customer’s over their shoulder. So even if I can draw a chart really fast, they don’t want to have to sit there and interpret it. So what I can do now with ScyllaDB is that each time a datapoint comes in I can run a little function in the background over 90 days or a year of data. Tens of thousands of data points.” And from that analysis he can send an alarm — “Your unit is offline and we think it’s because you probably just lost power.”

The dealer can then contact the customer and have them unplug the system and plug it back in. “Saves you a truck roll. Saves the customer an invoice. And it gets the misting system back up and running as quickly as possible. Something we could not do in our legacy platform.”

Kevin also showed how easy it was to now produce end-of-season reports. “This is just showing off the speed of how we were able to draw charts… This is something that you would have to do for four hundred units. If you have a big fleet, it could take you hours. Now? It’s instantaneous.”

Kevin’s Takeaways

Running on ScyllaDB Cloud, “you can focus on value creation. Focus on your application,” Kevin emphasized. “Focus on creating value for your customers and things that bring you revenue. And leave the devops to the pros.”

“One big thing that was important for us as a small company was that we didn’t have to staff up. So we didn’t actually have to go hire and bring in the talent to help run this cluster. And I’m not the Ph.D. at this. I’m really not the Ph.D. at anything, but because I had the ScyllaDB team behind me I was successful and we are running our platform now.”

“The last thing that’s really affected me personally is that there’s just a lot less stress. A lot less anxiety running this platform,” Kevin confessed. “You know, migrations are scary. Right? You’re trying to get your data across. You’re trying to get your platform going. You’ve got live paying customers that you don’t want to upset. So it can be a little bit scary. But with ScyllaDB Cloud handling your data it takes a lot of the stress and anxiety away.”

Want to watch Kevin Johnson’s full video and also see his slides? Check out his Tech Talk page. After that, you can check out all the other ScyllaDB Summit 2019 tech talks. They’re all online now.

And if you would like a lot less stress in your own life, check out ScyllaDB Cloud.

TRY SCYLLA CLOUD

About Peter Corless

Peter Corless is the Director of Technical Advocacy at ScyllaDB. He listens to users’ stories and discovers wisdom in each to share with other practitioners in the industry at large, whether through blogs or in technical presentations. He occasionally hosts live industry events from webinars to online conferences.

Blog Subscribe Mascots in Paper Airplane

Subscribe to the ScyllaDB Blog

For Engineers Only. Subscribe to the ScyllaDB Blog. Receive notifications about database-related technology articles and developer how-tos.