Welcome!

Microservices Expo Authors: TJ Randall, Liz McMillan, Elizabeth White, Pat Romanski, AppDynamics Blog

Related Topics: Agile Computing, Java IoT, Mobile IoT, Microservices Expo, @CloudExpo, Cloud Security

Agile Computing: Article

Why Home Automation Needs a Real-Time Service Provider

Using a real-time service provider rather than a custom, in-house built real-time solution has numerous advantages

You may not realize it, but your house is getting smarter. Devices that were once entirely manually controlled, whether it's your thermostat, the locks on your doors, or your porch lights, are now entering an era of autonomy, and the list of devices in the home automation spectrum is continuing to grow. Now that the masses are armed with smartphones, why shouldn't you be able to control your home...when you're not home?

Home automation is getting more advanced, smarter, and more streamlined by the day. When you flip a light switch, you expect that light bulb to turn on instantly. For a home automation solution, you need that exact same functionality when controlling your home from a smartphone app; the same speed and reliability.

It's gone beyond just being able to schedule your lights to turn on at a certain time. Users now expect to be able to monitor their home's "health," make changes on the fly, and operate and command their home remotely at the exact moment they want to. As a result, real-time interaction through a real-time network is now a key component of home automation. Without being able to signal your home in real-time, whether you're on a phone or iPad, you're not getting that real-time connection and functionality you need.

So where exactly does real-time come into play?

Say you have an event that occurs, like hitting a certain threshold or being located within a specific proximity from your home. You need a system that is bidirectional, one that can constantly send updates through a dedicated channel relaying photonic/thermo sensor broadcasts, but also a signaling channel that can trigger events (a light bulb turning on, a thermostat adjusting temperature, or a garage door opening as you approach it). You need real-time signaling for that on both the send side and the receive side.

What Issues Will A Developer Run Into When Building a Home Automation Solution?
To allow users to control their home in real-time, you need to establish an open connection between Point A and Point B to allow that signaling. Today there are open source technologies like SignalR and Socket.io that use this web socket technology. However, with these technologies, it's tricky to scale and maintain a system with an always-on heartbeat. With home automation, a user needs to be able to immediately interact with their home when they want to, so an open connection is vital to the functionality of the home automation solution.

Using a real-time service provider rather than a custom, in-house built real-time solution has numerous advantages, including reliability, easy scalability, and security, the most important being reliabiltiy. When you flip that switch, or that threshold is triggered, that signal needs to go through, 100% of the time. This can only be achieved if it's backed by a redundant, distributed system. The best way to do that is through a globally distributed network with multiple physical buildings around Earth, with fallbacks in the event that one of these datacenters fails.

Let's just say, if you lock your door through a home automation app, you want that door to lock, every time.

When using a custom solution, you can't get this unless you invest a substantial amount of money and build a massive real-time infrastructure. That can be challenging to maintain on your own, especially in terms of cost and technology requirements.

How to Use PubNub to Power a Home Automation Solution
PubNub allows you to keep a reliable and redundant connection open between the user and their home automation solution. The PubNub Real-Time Network can easily power the real-time functionality of any home automation solution. By embedding PubNub into a microprocessor, the device has the power and capability to to communicate with your house. With an active, outbound connection through PubNub, 100% firewall closed (so you don't need to open ports, like Skype or VOIP), you can directly signal your house commands securely in real-time.

See how easy it is to Publish and Subscribe. Here is the copy-and-paste ready code.

To get started, it's the same function calls as all of PubNub's other SDKs, a simple two functions, publish and subscribe, send and receive. As always, our APIs are easy to use and implement. I recommend checking out our arduino SDK, https://github.com/pubnub/arduino.

More Stories By Stephen Blum

Stephen Blum is the founder and CTO of PubNub. His vision and strong technical chops drove the initial architecture of PubNub, building a core engine that has successfully scaled to the some of the largest real-time deployments in the world. Stephen has been a successful software entrepreneur his whole life, starting his first company, LTSun, at age 17, and joining Microsoft after its acquisition. Stephen was the chief architect for TrustedOpinion.com, a 50-language social recommendations site that grew to over 1 million users across over 100 countries.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Microservices Articles
At its core DevOps is all about collaboration. The lines of communication must be opened and it takes some effort to ensure that they stay that way. It’s easy to pay lip service to trends and talk about implementing new methodologies, but without action, real benefits cannot be realized. Success requires planning, advocates empowered to effect change, and, of course, the right tooling. To bring about a cultural shift it’s important to share challenges. In simple terms, ensuring that everyone k...
Is advanced scheduling in Kubernetes achievable?Yes, however, how do you properly accommodate every real-life scenario that a Kubernetes user might encounter? How do you leverage advanced scheduling techniques to shape and describe each scenario in easy-to-use rules and configurations? In his session at @DevOpsSummit at 21st Cloud Expo, Oleg Chunikhin, CTO at Kublr, answered these questions and demonstrated techniques for implementing advanced scheduling. For example, using spot instances and co...
Today most companies are adopting or evaluating container technology - Docker in particular - to speed up application deployment, drive down cost, ease management and make application delivery more flexible overall. As with most new architectures, this dream takes significant work to become a reality. Even when you do get your application componentized enough and packaged properly, there are still challenges for DevOps teams to making the shift to continuous delivery and achieving that reducti...
Skeuomorphism usually means retaining existing design cues in something new that doesn’t actually need them. However, the concept of skeuomorphism can be thought of as relating more broadly to applying existing patterns to new technologies that, in fact, cry out for new approaches. In his session at DevOps Summit, Gordon Haff, Senior Cloud Strategy Marketing and Evangelism Manager at Red Hat, discussed why containers should be paired with new architectural practices such as microservices rathe...
With the rise of Docker, Kubernetes, and other container technologies, the growth of microservices has skyrocketed among dev teams looking to innovate on a faster release cycle. This has enabled teams to finally realize their DevOps goals to ship and iterate quickly in a continuous delivery model. Why containers are growing in popularity is no surprise — they’re extremely easy to spin up or down, but come with an unforeseen issue. However, without the right foresight, DevOps and IT teams may lo...
Kubernetes is a new and revolutionary open-sourced system for managing containers across multiple hosts in a cluster. Ansible is a simple IT automation tool for just about any requirement for reproducible environments. In his session at @DevOpsSummit at 18th Cloud Expo, Patrick Galbraith, a principal engineer at HPE, will discuss how to build a fully functional Kubernetes cluster on a number of virtual machines or bare-metal hosts. Also included will be a brief demonstration of running a Galer...
DevOps is under attack because developers don’t want to mess with infrastructure. They will happily own their code into production, but want to use platforms instead of raw automation. That’s changing the landscape that we understand as DevOps with both architecture concepts (CloudNative) and process redefinition (SRE). Rob Hirschfeld’s recent work in Kubernetes operations has led to the conclusion that containers and related platforms have changed the way we should be thinking about DevOps and...
In his session at 20th Cloud Expo, Mike Johnston, an infrastructure engineer at Supergiant.io, will discuss how to use Kubernetes to setup a SaaS infrastructure for your business. Mike Johnston is an infrastructure engineer at Supergiant.io with over 12 years of experience designing, deploying, and maintaining server and workstation infrastructure at all scales. He has experience with brick and mortar data centers as well as cloud providers like Digital Ocean, Amazon Web Services, and Rackspace....
"There is a huge interest in Kubernetes. People are now starting to use Kubernetes and implement it," stated Sebastian Scheele, co-founder of Loodse, in this SYS-CON.tv interview at DevOps at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
Modern software design has fundamentally changed how we manage applications, causing many to turn to containers as the new virtual machine for resource management. As container adoption grows beyond stateless applications to stateful workloads, the need for persistent storage is foundational - something customers routinely cite as a top pain point. In his session at @DevOpsSummit at 21st Cloud Expo, Bill Borsari, Head of Systems Engineering at Datera, explored how organizations can reap the bene...