In-Depth
        
        Is Customer Premises Equipment an IoT Solution?
        Containers may hold the key to securing  devices.
        
        
          
The Internet has a problem. Actually, it  has hundreds of millions – soon to be billions – of problems, all which fall  under the label the Internet Of Things (IoT). IoT devices range from  ultra-low-power wearable electronics to the control systems for nuclear power  plants. And in at least some cases, virtualization may be the solution to a  whole lot of problems.
A number of IoT devices are notorious for  having horrific-to-nonexistent security. Personal and small business broadband  routers, for example. Security cameras. Literally anything involving home  automation, ever.
Update, Shmupdate
With the adoption of IPv6, however, these  devices are frequently directly connected to the Internet, with a publicly-addressable  IP address. A large part of the notoriously bad security is that these devices  are rarely updated. 
Even if the vendor publishes updates, the  devices are frequently owned – or at least locked down by – third-party vendors  such as carriers and Internet service providers. As evidenced by the alarmingly  poor history of Android phones, carriers are in no rush to support devices once  in the hands of the customer.
Customers, for their part, don't update  devices either. Those few that know such a thing is required and that it  doesn't happen automatically rightly fear performing such a task, as updates to  embedded devices have a nasty history of either bricking the device; or, at the  very least, resetting all of its configurations to defaults.
For the explosion of the IoT into the tens  of billions of units range to result in anything other than absolute  catastrophe, a great many things need to change. Fortunately, the technology to  solve these problems already exists.
Contain Your ProblemsFor all but the most anemic devices, the  solution is actually pretty simple. Directly installed on the device's metal should  be a lightweight hypervisor with the ability to carve up the device storage  into multiple virtual drives.
Solutions from individual vendors can be  packaged into virtual machines (VMs), with the VM running containers for  individual applications. Each container should have two storage points: the  application itself and the user data/settings. 
Individual applications could thus be  refreshed as easily as erasing the existing container's application storage and  attaching a more up-to-date one. Backing up user data also becomes fairly  simple, without having to mess around with backing up the whole device, or  looking in numerous nooks and crannies. Just back up the relevant data/settings  containers and the container catalogue.
The beauty of this is the underlying  operating system -- pretty much always a Linux of BSD distro -- can be set to  automatically update itself, resolving pesky bugs without vendor intervention  being required. By choosing a stable enterprise Linux with a long-term service  branch, devices can have reasonable lifetimes without putting a undue  maintenance burden on developers coding the vendor apps that live in the  aforementioned containers.
Sharing the PainOne might wonder why a hypervisor is needed  at all in this scenario. Strictly, it isn't. For some devices which will always  be solely the provenance of a single vendor, containers are a great way to  start attacking the IoT problem. The reality is that IoT devices are unlikely  to stay single-vendor for long.
Powerful computers are cheap. Today's home  broadband router, for example, can cheerfully run a hypervisor and three or  four operating systems. These could contain the ISP-supplied firewall and  connectivity interface, a third-party security suite, a cloud backup gateway  and maybe some third-party IP television or IP telephony software that the ISP  has partnered with to enable their "triple play" offerings.
Virtual Customer Premises Equipment to the  Rescue?
  Variations on this theme already exist  today, and companies like Intel are investing heavily in the virtualization of  Customer Premises Equipment (vCPE). The really fun parts start happening when  the vCPE is actually just a stubby proxy application on the physical hardware  that farms out the heavy lifting to a public cloud-based solution. Again, all  easily doable with vCPE.
The ultimate goal is to have to put fewer  devices into the homes and businesses of customers, but still be able to offer  a wide range of different solutions that we can be convinced to subscribe to; and  hopefully done a manner that makes updating and securing the applications,  their operating systems and even their hypervisors simple and non-disruptive.
If we're really lucky, it will even make  moving our vCPE data, settings and applications from device to device as easy  as moving workloads from virtual cluster to virtual cluster in the datacenter. The  tech exists. The use case exists. The big question: who will be the first  to bring it to the mass market? 
        
        
        
        
        
        
        
        
        
        
        
        
            
        
        
                
                    About the Author
                    
                
                    
                    Trevor Pott is a full-time nerd from Edmonton, Alberta, Canada. He splits his time between systems administration, technology writing, and consulting. As a consultant he helps Silicon Valley startups better understand systems administrators and how to sell to them.