Get the answers you need. Right now.
Nothing is more important than getting timely and actionable data. Our servers and infrastructure now power thousands of the world's top apps and see nearly 5 billion sessions per day. No matter the size of your data flow, our infrastructure can handle the load.
Here at Answers, we’ve taken the most cutting edge approach when building out our architecture -- with extreme care. We guided our architectural decisions on the principles of decoupled components, asynchronous communication, and graceful service degradation in response to catastrophic failures.
Using the Lambda architecture design, we’ve built a completely scalable, fault-tolerant architecture that processes over 1 million events per second and delivers reliable data in real-time.
Negligible Network Impact
We were meticulous when it came to designing our device-server communication. To start, we’ve minimized impact on battery and network usage during data collection, so Answers works without degrading your app’s network performance.
We start by storing analytics events within an on-device log storage, where each file is limited up to 8KB. To reduce impact on the device, we compress these files before transmission and send them in batches.
To ensure that valuable data always gets to our servers, devices will retry failed data transfers after a randomized back-off and up to a disk size limit on the device.
We opportunistically send data to our servers to maintain real-time reporting with negligible bandwidth usage.
This communication protocol results in devices sending us hundreds of thousands of compressed payloads every second. Our load balancers are equipped to handle this load reliably -- in a way that permits for easy linear scaling.
We ensure the utmost data integrity.
At millions of events processed every second, machines inevitably fail and data could become corrupt or lost. To provide you maximum data integrity, we’ve built our processing engine into two layers based on the Lambda Architecture design: a batch layer that is completely fault-tolerant, and a real-time stream compute layer (a.k.a. speed layer) that gives you insights in real-time.
As app events data arrive into our system, we process the data in the speed layer and in parallel archive it safely into a scalable, distributed file system for later batch processing. When machines fail during computation, the batch layer can seamlessly recover and intelligently corrects its outputs, ensuring that your data is complete, accurate and reliable.
With Answers, you can always trust your data.
Curious about the intricacies of our architecture? Read more here.