3 ms·
I work in IoT as well and definitely try to implement as much as possible locally as well. What companies seem to forget is that any part of the product that's
by eschneider 3y ago
I work in IoT as well and definitely try to implement as much as possible locally as well. What companies seem to forget is that any part of the product that's cloud hosted becomes an ongoing cost that goes up in proportion to the number of devices sold.
The less you have in the cloud (generally) the better the economics for the manufacturer.
- ipsi 3y agoIt's an interesting one because anyone developing a software-only product has the opposite incentive - putting as much on the cloud as possible reduces support costs - no more "it says it's compatible with Windows, but doesn't run on my 20-year old laptop!" or having to field support requests from ancient versions. Plus it provides cover for charging users monthly, and there's a good chance your hosting costs are less than the cost of supporting a locally installed version. The more complex your software is, the more true this is - self-hosted enterprise software is not only more work to setup (ergo, more support tickets) but installed on a vast array of configurations (e.g., bare-metal K8s, OpenShift, GKE, Docker Swarm, EC2, ECS, etc, etc), only a portion of which are economical to test against and which will generate a steady stream of unique issues. Having an "enterprise-ready" SaaS product is expensive, sure, but probably less expensive than supporting hundreds or thousands of customers setting up their own unique version of your product. On the other side, it's not possible to move hardware to the cloud so the core support costs don't - can't - go away. Adding cloud in that case is adding ongoing hosting costs and support costs and is at best reducing the volume of support requests, but adding "Cloud" won't eliminate whole classes of customer support like it could with a software-only product.
- samtho 3y agoYeah, I think the problem is that we’ve been taught that pre-optimization is the root of all evil and that we should getting it working before improving upon it. Pre-optimization became a thing because enthusiasts liked the challenge of creating an elegant solution, but I posit that it continued because devs knew they were not going to be getting back to fixing inefficient code if it mostly worked. Usually stuff like this doesn’t matter when you’re leaking 5mb an hour on a 128gb dedicated server and you’re deploying at least twice per week. But when the devices that connect to you go from 10,000 to 1,000,000, you’re leaking 500mb an hour and then you have a problem very quickly.
- eschneider 3y agoWhat I'm thinking of isn't so much 'optimization' as basic design decisions. For a lot of IoT products that integrate machine learning/computer vision features, you've got a choice of implementing that stuff in the cloud or on device. You need a bit more compute to do the work on device, but ongoing costs are far lower and a lot more predictable. As a side effect, you also enable fully independent operation.