Cloud Storage for Your App Logs
mobile app engineers we faced the problem of not being able to reproduce specific user problems on our own devices, be it due to a weird screen size, a strange OS version, or a specific setting. So we developed a really barebones version of this internal tool for remotely accessing logs, patched it into a special build, and began sending it to users that had a problem.
We saw that this was a recurring problem (which validated the idea itself) and thought it would be great to have the tool built in by default for all of our apps. However, sending so many logs, especially for apps with thousands or even millions of users, creates two problems:
We'd have to transfer and store millions of logs per day, which is neither cheap nor simple in terms of scalability.
If this service would always be running on the user's device, sending every log all the time, it would use a ton of data and could make their phone bills quite expensive.
To solve this we put a lot of effort into making this thing scale while at the same time reducing our traffic and data storage bills. (We're still rebuilding and optimizing things today.) And for our application-side SDKs, we put a lot of engineering thought into implementing a battery-friendly process for storing logs locally and only transferring them when requested."
No comments: