Wink: Connecting Your Smart Home Using Cloud Native Infrastructure

By July 26, 2017Blog

How many people does it take to turn on a light bulb? Kit Klein whips out his phone to demonstrate. With a few swipes, Wink Head of Engineering officer pulls up the smart-home app created by his New York City-based company  – and taps the light button.

“Honestly when you’re holding the phone and you’re hitting the light,” he says, “by the time you feel the pressure of your finger on the screen, it’s on. It takes as long as the signal to travel to your brain.”

Sure, it takes just one finger and less than 200 milliseconds to turn on the light – or lock a door or change a thermostat – but what allows Wink to help consumers manage their connected smart-home products with such speed and ease is a sophisticated, cloud-native infrastructure that Smith and his team built and continue to develop using a unified stack of CoreOS Container Linux, the open-source operating system designed for clustered deployments, and Kubernetes, the open-source platform for managing application containers across clusters of hosts.

“When you have a big complex network of interdependent microservices that need to be able to discover each other, and need to be horizontally scalable and tolerant to failure, that’s what this is really optimized for,” says Klein. “A lot of people end up relying on proprietary services [offered by some big cloud providers] to do some of this stuff, but what you get by adopting CoreOS Container Linux/Kubernetes is that portability thing, to not be locked in to anyone. You can really make your own fate.”

Launched in 2014 to work with Home Depot, Wink created a hub that could integrate with smart products from about a dozen brands like Honeywell and Chamberlain. The biggest challenge was building the infrastructure to serve all those communications between the hub and the products, with a focus on maximizing reliability and minimizing latency. In addition, Wink had other requirements: horizontal scalability, the ability to encrypt everything quickly, connections that could be easily brought back up if something went wrong.

“When we got the first Spark cluster up and running and realized that we could create a scaleable Spark job that would run on our Kubernetes/CoreOS Container Linux infrastructure with very little overhead, that was pretty satisfying,” says Klein.

Wink’s hub and app were introduced in July 2014 with a short-term deployment, and within the first month, they had moved the service to a Dockerized CoreOS Container Linux deployment. Since then, they’ve moved almost every other piece of their infrastructure – from third-party cloud-to-cloud integrations to their customer service and payment portals – onto CoreOS clusters. Smith estimates that 80% of Wink’s workload is now run on Kubernetes on top of CoreOS, with a combination CoreOS Container Linux, Kubernetes on AWS, and etcd for its CoreOS Fleet and Kubernetes clusters.

Wink’s reasons for going all in are clear: “It’s not proprietary, it’s totally open, it’s really portable,” Klein says. “You can run all the workloads across different cloud providers. You can easily run a hybrid AWS or even bring in your own data center. That’s the benefit of having everything unified on one sort of Kubernetes-Docker-CoreOS Container Linux stack. There’s massive security benefits if you only have one Linux distro to try to validate. The benefits are enormous because you save money, you save time.”

Smith concedes that there are tradeoffs in every technology decision. “Cutting-edge technology is going to be scary for some people,” he says. “In order to take advantage of this, you really have to keep up with the technology. You can’t treat it like it’s a black box. Stay close to the development. Understand why decisions are being made. If you understand the intent behind the project, from the technological intent to a certain philosophical intent, then it helps you understand how to build your system in harmony with those systems as opposed to trying to work against it.”

For a more closer look at Wink’s decision-making process as it rolled out cloud native infrastructure to handle communications between the hub and different “smart” products, check out this in-depth case study.

Interested in more content like this? We can curate and deliver relevant articles just like this one, directly to you, once a month in our CNCF newsletter. Get on the list here.