Semantria is tackling some of the challenges that come with being a cloud-based social media services provider startup. The company offers a text and sentiment analysis service (which you can read about here) to clients and partners. That includes companies like Sprinklr, which manages the social customer experience for other brands with the help of Semantria’s API for analyzing social signals about those clients.
The good news is that with growing social data volumes, there’s a growing need for semantically-oriented services like Semantria’s that help businesses make sense of that information for themselves or their clients. The downside is that a huge surge in volume of social mentions around a company, its product, or anything else can hit such services hard in the pocketbook when it comes to acquiring the cloud infrastructure to handle the tidal wave.
“Everybody suffers from this kind of thing,” says Semantria founder and CEO Oleg Rogynskyy. “We experience it daily.”
Just over the last three months it’s processed several billion documents, he notes. And, even with the recent cost decreases in Amazon’s cloud services, resource costs still can explode when data volumes rise high and fast. On top of that, when those surges come without warning enough to secure the proper amount of total cloud resources from the start, providers’ worry that their fallback to a piece-by-piece resource-buying model may result not only in higher costs but also in processing backlogs that can disappoint their customers.
“Amazon CloudWatch lets you set up an internal algorithm in the system that says if the load is increasing to buy more resources,” Rogynskyy says. But if you’re buying one resource at a time to deal with an unexpected and huge initial spike, it can take hours to spin up to the required capacity. And once it’s over, he says, “you’ve got way too much hardware, your average latency is up, and you overshot your costs big time. At a volume of 3 billion documents per month, it’s quite expensive.”
Semantria saw the need for a fix that would help it do a better and more cost-effective job obtaining and utilizing cloud resources while at the same time delivering more reliable services to customers. It has come up with an inter-company load-balancing algorithm that provides a smarter way to get machine power when it’s needed, by leveraging integration with high-volume customers to get automated and advance notice from them of surges that are on the way. It’s using this first with Sprinklr but it’s working on similar setups with other companies too.
“From a cloud perspective, it’s a very clever example of how independent companies can work together…. We are getting to the point with volumes of data and interdependency of these kinds of technologies that we need to see companies start working with each other to cope with this data faster,” he says. And, “from a semantic web perspective, it is an example of how companies can team up and deliver that semantic layer on top of the web cheaper and sooner,” says Rogynskyy.
Algorithm At Work
Sprinklr’s systems are a bit upstream from Semantria, “so Sprinklr can give us a heads- up when they see a wave coming” for a client, he says. “You need to know in advance what you are looking at in order to buy the proper amount of resources, so companies have to talk to each other and tell each other something big is coming.”
When Sprinklr’s queue becomes larger than a specific threshold, an automated email notification with a predefined subject line that includes the length of the queue is sent to Semantria’s cloud. There, a script specifically looks for such emails and for the variable in the subject line indicating queue length. From that information, the algorithm evaluates which of Semantria’s multiple auto-scaling profiles it has with Amazon CloudWatch to activate to pre-buy all the resources it will need to tackle the job, so that they already are up and running when the surge hits.
Instead of buying each AWS resource in 15-minute increments – such that by the time the last of, say, 100 machines is bought the first machine has potentially been in use already for hours, with an attendant increase in costs – it can buy 100 machines all at once, process the entire backlog in 15 minutes, and then shut down all the machines. “Our processing capacity then is not 100 documents a second and growing, but right away it is 20,000 documents a second, and we can eat through the backlog faster,” Rogynskyy says. With this algorithm, “I can tell a new customer that when its customer has a Twitter storm, it can give analysis about that to its customer much faster than if we were to buy machines one by one, and we won’t go down.”
Think of it, he says, as the difference between arriving at the airport for an international flight and being greeted by a full slate of well-staffed passport control kiosks that get all passengers through the process fast – or arriving to find only one kiosk open to service you and all your fellow flyers, with a new kiosk coming online only every 15 minutes or so.
While social data players and providers may be the first to feel enough data volume and cloud processing pain to call for a solution, they won’t be the last, he suspects. Voice of the customer and customer experience metrics, for instance, are moving from asking people to rate experiences on a scale of 1 to 10 to asking them to simply describe their experience; people are more likely to respond to open-ended queries, he says, which raises the volume of unstructured text that then must be processed and analyzed, and so the load on those managing that work.
As for Semantria, it’s been using the algorithm for about six months now, first with Dachis Group prior to its acquisition by Sprinklr, which now leverages Semantria’s work. “We haven’t had one backlog issue in six months,” Rogynskyy says. “And furthermore, my network operations guys can sleep at night.”