Continuing the discussion from Uproar? Really?:
I have no doubt that Ben and everyone else at ST genuinely strive to achieve platform stability and make SmartThings a successful product. However, being an active user for two years, I’ve heard that many times. There’s been three platform “meltdowns” in two years and every time the prescribed treatment is the same - add more server resources, database clusters, etc. Surely enough, 6 month later the same problems re-appear and the cycle repeats itself.
Which, of course, begs the question whether the current cloud-centric architecture is ever going to work? This question has been raised more than once and the answer has always been “Yes, we’re sure it’s going to work, just wait and see.” So, we’ve waited, sometimes patiently, sometimes not. But, I think that two years is a long enough time to make conclusive determination about viability of any particular technology.
It seems clear to me that the current implementation of the cloud platform has failed. Now, for the record, I’m not “anti-cloud”. I’ve been working in the IoT field for many years and know first-hand both advantages and pitfalls of the cloud. But there are different ways to use cloud technology. The social network cloud model is not the same as the device cloud model and therefore cloud technologies that work well for Facebook do not necessarily work equally well for SmartThings.
In the social network, users constantly interact with each other, while in the device cloud each user is isolated form everyone else. I don’t want my events to trigger actions in other user’s account and vise versa. Ever. Therefore, there’s no good reason to store all event from all users in one (or several) massive database(s) which will inevitably run into scalability issues. Each user should have it’s own database, scheduler, event engine, etc. running in a virtual box, completely isolated from other users. This would ensure that whatever problem that might occur within one user’s account will be isolated and not affect other users. In the worst case, the virtual box can be restarted and no one will ever notice. It will also allow for better security and better performance.
One of the start-up’s chief mantras is “Fail Fast”. It’s ok to fail, if you quickly realize that you’re on the wrong path and can pivot quickly. Unfortunately, it appears to me that SmartThings technical leadership have been stuck on the current cloud-centric architecture that have been failing for way too long.
Just my opinion, FWIW.