Internet of Updated Things
Thibaut Rouffineau
@thibautr
thibaut.rouffineau@canonical.com
Internet of Updated Things
Fidel Castro extended remix edition
Thibaut Rouffineau
@thibautr
thibaut.rouffineau@canonical.com
IoT
IoT
Internet of Things?
Invasion of Things?
Intelligence of Things?
Internet of things
4K = 18.8GB/hour
Invasion of things
Intelligence of things
4K = 18.8GB/hour Thibaut entered the
frontdoor at 18:05.
cloud to edge
Ubuntu is the #1 Linux for development
Source: Eclipse Foundation + StackOverflow survey
Mint Fedora Debian Other Ubuntu
2% 2%
3%
6%
17%
Smart drone
controllers
Advanced
robotics
Home gateways Industrial
gateways
Digital Signage
Ubuntu is powering smart IoT
Spot the difference!
50M
100M
Microsoft Office 2013
WIndows XP
WIndows 7
Symbian
Large Hadron Collider
Microsoft Vista
Microsoft Visual Studio
Facebook
US Army Combat System
Debian
Mac OS X Tiger
Car software
Mouse
http://www.informationisbeautiful.net/visualizations/million-lines-of-code/
Hackers remotely kill a jeep
on the highway – with me in it.
Andy Greenberg
Safe updates and rollback
Snap - a universal Linux package format
Supported distros Example snaps / frameworks
Classic Linux Ubuntu Core
Kernel 4.4
Kernel 4.4
Confined applications packaged
as a snap with dependencies
Minimal OS packaged as snap
Clearly defined Kernel and device packaged as snap
OS packageApplication B Shared library Device driverApplication A
Legend:
Transactional upgrade: Apps, OS and kernel
Original data
Writable area
Original snap
Upgrade
Modified data
during upgrade
Writable area
Updated snap
Original data
Writable area
Original data is kept
on device
Original snap
Original data
Writable area
Original snap
Rollback
on failure
Spot the difference!
def setHeatingSetpoint(temp) {
log.debug "Executing 'setHeatingSetpoint'"
parent.setHeatingSetpoint(this, temp)
}
def setCoolingSetpoint(temp) {
log.debug "Executing 'setCoolingSetpoint'"
parent.setCoolingSetpoint(this, temp)
}
def off() {
log.debug "Executing 'off'"
parent.off(this)
}
def heat() {
log.debug "Executing 'heat'"
parent.heat(this)
}
def emergencyHeat() {
log.debug "Executing 'emergencyHeat'"
parent.emergencyHeat(this)
}
def cool() {
log.debug "Executing 'cool'"
parent.cool(this)
}
def fanOn() {
log.debug "Executing 'fanOn'"
parent.fanOn(this)
}
def fanAuto() {
log.debug "Executing 'fanAuto'"
parent.fanAuto(this)
}
def fanCirculate() {
log.debug "Executing 'fanCirculate'"
parent.fanCirculate(this)
}
def away() {
log.debug "Executing 'away'"
parent.away(this)
}
def present() {
log.debug "Executing 'present'"
parent.present(this)
}
Secure App Containment
Safe updates and rollback
Snap - a universal Linux package format
Supported distros Example snaps / frameworks
Classic Linux Ubuntu Core
Kernel 4.4
Kernel 4.4
Confined applications packaged
as a snap with dependencies
Minimal OS packaged as snap
Clearly defined Kernel and device packaged as snap
OS packageApplication B Shared library Device driverApplication A
Legend:
An appstore for new software revenue
Spot the difference!
http://www.macrumors.com/2015/07/21/apple-q3-2015-earnings/
Other OS’s Approach
● You Make a Device
● You Build a Brand
● They get the App Revenue
App Store as a Service
● You Make a Device & Build a Brand
● We Bring Developers, Tools, Security,
Manageability, Innovation & Fun
● You Run Your Own App Store
An appstore for new software revenue
How are your things generating revenues?
App-Enabling Smart Devices
Secure App Containment
Safe updates and rollback
#SnappyUbuntuCore
App Stores as a Service
Secure App Containment
Safe updates and rollback
#SnappyUbuntuCore
Snapcraft = devops for IoT
App Stores as a Service
Perfect for the smartest IoT
Streamlined developer experience with CI/CD
Build from source/debs
Language agnostic
Pre-built parts
Integrate with CI/CD
Free or
paid apps
Beta
deployments
Large scale
deployments
Build and
package with
Snapcraft
Distribute
with Store
...
Let’s talk drones and robots!
#HAL9000good OR #HAL9000bad #C3POgood OR #C3PObad
Ubuntu has roboticist mindshare
80% of robots at DARPA
Robotics Challenge were
estimated to run ROS
(Robot Operating System)
on Ubuntu.
http://erlerobotics.com/
Let’s talk here and now!
NextCloud
Fast time to market
Simple to use and install
Single codeline
1
2
3
Screenly
Simple to install
Simple to maintain
Appstore potential
1
2
3
Dell Edge Gateway
Industrial security
Run multiple snaps on the same
gateway
Large developer ecosystem
1
2
3
We need you!
Build your IoT device
Raspberry Pi 2
Samsung
ARTIK
Qualcomm
DragonBoard
Intel NUC
Intel Joule Raspberry Pi 3
Find out more at:
https://developer.ubuntu.com/
One thing to try
$ sudo snap install snap-codelabs
Thank you!
ubuntu.com/iot

Ubucon 2016: Internet of self updated things