Replies: 3 comments 9 replies
-
Thanks for putting some thought into this @grayjones! Short Term Answers to Questions
|
Beta Was this translation helpful? Give feedback.
-
It sounds like the project wants to have a single source of truth for the data, which totally makes sense. Since InfluxDB was used for V1-V3, keeping that the system of record also generally makes sense. The question I haven't seen asked is, "what's the intended use of the data?" Is it:
Golioth will happily store sensor readings reliably and can be used for say real-time app data. However, it doesn't replace a full-fledged DB and most of our users stream that data somewhere else, like a data platform. As a different note - you could probably simplify the integration by using our native Google Cloud Pub/Sub integration + InfluxDB's native Pub/Sub telegraf plugin. Both would be fully managed and potentially more reliable/performant than a custom cloud function. But YMMV and I've never used the Telegraf integration. :) |
Beta Was this translation helpful? Give feedback.
-
I just had a good conversation with Erin - account manager at InfluxDB. We discussed what pricing would look like if we were to upgrade from the free cloud tier to the paid cloud tier. Doing so would allow us to retain the sensor data for more than 30 days. This is back of napkin level math Some factors that would effect costs would be how long we want to retain the data. If it's infinite then the storage costs would increase over time. The number of queries would also increase the costs. Currently it looks like we are paying about 2 cents per query . If the web page were to become very popular then the number of queries would increase and so would costs So for now I am using the 10 cents per month number to help get a feel for the storage costs in a managed cloud environment. |
Beta Was this translation helpful? Give feedback.
-
I have started looking at options for storing the sensor data in the cloud. From what I've seen so far it looks like we are currently storing the data with InfluxDB on their free cloud plan. This only stores data for 30 days so we do need to act quickly to avoid losing data. To my mind there are two potential quick actions to take to not lose data
On a longer term view my initial thoughts are that we need to balance two competing factors when making choices. We need to be cost aware so that we pay the bills as we grow but we also don't want to create a situation where we need a lot of monitoring and system maintenance - we are all volunteers and I doubt anybody wants to take that on (I don't). Maybe as we get more volunteers we will get folks with devops experience who do want to take it on?
I am currently poking around platform.sh trying to get a feel for what services are available to us as well as trying to understand how the data is currently flowing. Here are my initial questions
My first take was that this is a streaming data application. On the backend this implies the use of Apache Kafka or AWS Kinesis (don't know the gcp version). Then the data could get written to a database and exposed via an api. The stream could have multiple subscribers if we wanted to do any aggregation or monitoring in the future
Below are two AWS products that might be useful. I don't have experience with either. My experience has been with the underlying tools/technologies that these services most likely use. I would imagine they could get expensive
https://aws.amazon.com/free/iot/
https://aws.amazon.com/timestream/
Beta Was this translation helpful? Give feedback.
All reactions