What is the "system cost" of a smart App?


(Glen King) #1

As an Intermittent IT professional, I constantly have to balance system resources against functionality. As one example, you purchase X amount of server capacity (CPU speed/threading, RAM, hard drive, etc) based on anticipated user load and, if the load eventually exceeds what you’ve planned, then system performance degrades.

So then. What is the system cost of, say, Ask Alexa? How about Webcore?

If I find I’m not using one or the other, will my system performance increase if I delete the unused app? Will overall system performance for all ST users be affected?


(ActionTiles.com co-founder Terry @ActionTiles; GitHub: @cosmicpuppy) #2

Interesting discussion topic…

We haven’t been told the details of SmartThings’s cloud architecture:

I runs on AWS. It’s Java based, and each JVM runs multiple Devices & SmartApps; and any person’s Devices & SmartApps can move among machines in the same “shard” - I think.

Clouds scale very well these days, especially if there are protections in place to ensure “bad code” has an upper limit, and the architecture is highly parallel and non-blocking (i.e., asynchronous) … which SmartThings, in general, is.

So one bad SmartApp won’t hurt anyone. But thousands of customers running that SmartApp; now there’s trouble.

SmartThings captures statistics even for self-published SmartApps (by identifying the SmartApp by name, or perhaps code similarity), so they can tell which popular SmartApps they should be concerned about.

We’re lucky they let folks self-publish. It’s too bad everything doesn’t run locally as then processing hardware and processing load would scale together, right?