Next time you walk through a major electronics store, take a moment to look at the plethora of Internet-connected gadgets we can use every day. There’s an incredible amount of innovation happening here by both new upstarts and existing giants.
Everything now-a-days seems to have a CPU and connection — from TVs to thermostats, smoke alarms to deadbolts, light bulbs to bathroom scales, and more. These devices are generally plug-and-play, calling home to a central server where users control everything through the web or an app on their smart phone.
But it’s the scale that I find so incredible. For example, in order to turn up the heat at home with a Nest thermostat, you pull up the app on your iPhone that connects to Nest’s servers, which then instructs your thermostat back home to kick on and heat up, waits for it to confirm, and then lets you know that it’s on. This is how almost every other Internet-enabled device works, not just the Nest, although that is my favorite example.
As Internet-enabled technology spreads out to more and more devices and automates more areas of our lives, it will correlate, perhaps exponentially, with an increase in demand for cloud-based on-demand infrastructure. That’s because more connected devices and more users per device equal more compute and storage resources.
This creates an interesting economic dilemma for the manufacture of a connected device, as well as risk to the consumer. Using Nest as an example again, they do not charge users more to control their Nest devices via the Nest website, but they are spending real money maintaining that web service and the underlying infrastructure, because if it breaks, their users cannot use their products.
So how should innovators think about their cloud infrastructure as it relates to their Internet-connected devices?
Since the cloud service aspect is almost always free when a customer buys the device, you have to understand that, as your popularity gains, your maintenance costs for your cloud services will increase. The trick is to minimize the correlation as much as possible. To do this, keep in mind that not all aspects of your infrastructure need to have the same features; not all need to scale up at the same rate. That is to say your ratio of users per application server versus users per database server can be different, as can the demands on the servers themselves. Therefore, you may want to use different types of infrastructure together to build a best-fit configuration. If there’s a better case for hybrid infrastructure, I haven’t heard it.