bkk16-406 ubuntu core - a snappy platform for embedded, iot and 96boards!

49
Snappy Ubuntu Core A snappy Platform for Embedded, IoT and 96boards Alexander Sack <[email protected]> Director, Ubuntu Core Ricardo Mendoza <[email protected]> Lead Architect, Ubuntu Core

Upload: linaro

Post on 15-Apr-2017

726 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

Snappy Ubuntu CoreA snappy Platform for Embedded, IoT and 96boards

Alexander Sack <[email protected]>Director, Ubuntu Core

Ricardo Mendoza <[email protected]>Lead Architect, Ubuntu Core

Page 2: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

Overview

Page 3: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

We are the company behind Ubuntu.

Page 4: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

Commercial Backing for the #1 general purpose Linux OS: Ubuntu

Global Services, Support, Certification!

Canonical and Ubuntu | Best of both worlds

#1 Linux Desktop

#1 Cloud OS

Now also for phones, tablets &

IoT devices

CANONICAL Ubuntu

Page 5: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

1The Devices Revolution!

Page 6: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

The ecosystem is in a race to try new frontiers of connected compute

scenarios around IoT!

Page 7: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
Page 8: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
Page 9: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

It has never been easier to make a custom hardware appliance...

Page 10: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

Building an IoT Appliance

1. Take a 96board2. Add IoT components3. Design a cool chassis/box4. Make the software5. Call an ODM and ship it!

Page 11: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

It has never been easier to solve the challenges for making smart devices

using open source components!

Page 12: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

Building a Smart IoT M2M Device

1. Take a 96board reference stack2. integrate existing open-source software3. Glue and write new!

Page 13: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

Good NewsThe Open Source community has these

days solutions for almost everything you can imagine!

Page 14: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

2But why...

Page 15: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

... do many device innovations run out of funding before they can get tested in the

market?

Page 16: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

... is it hard for device manufacturers to make enough money to provide the

"luxury" of timely and automated security updates?

Page 17: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

... is it challenging for SoC providers to offer product builders supported

software that can be directly used in products at scale?

Page 18: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

... do devices we have at home for a while not have the latest software features

found in current gen devices?

Page 19: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

IT SEEMS IT IS ...... too complex to make a product!

... too hard to add features to products!... too pricey to provide security updates!

... too limited collaboration and reuse

Page 20: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

3What if...

Page 21: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

A device builder can focus on investing in just the device experience instead of

having to solve everything that it takes to make, ship and maintain a linux based

product?

Page 22: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

A device builder roll software updates to devices in the field with ease and confidence as often as needed?

... just like the Apples, Googles and Ubuntu's of this world?

Page 23: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

A device builder add features to your devices already in the field at any time without having to convince the user to

flash a firmware?

Page 24: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

A device builder could rely on others taking care of enabling the hardware

platform and keeping the kernel and OS secure?

Page 25: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

There was a ready to use factory process for your software stack!

Page 26: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

You could collaborate and reuse in an ecosystem of hardware manufacturers,

software and service providers?

Page 27: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

What if...There would be an OS platform that is optimized for building, shipping and

maintaining device products that would solve those problems and more for you?

Page 28: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

4Snappy Ubuntu Core

Page 29: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

Amazing developer experience with snapcraft to build from source

Ubuntu Core with snappy transactional updates

Applications confined by Canonical’s AppArmor kernel security system

Safe, reliable, worry free updates with tests and rollback

Easily extensible with frameworks

Perfect for the smartest IoT

Snappy Ubuntu Core

AppReady

Page 30: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

Snappy System makes updates easy and safe

Snap v2 testedSnap v2 newSnap v1

currentSnap v2currentupdate test

Current: Updates to a system is a high risk operation that you rather want to avoid

Snappy: Updates to your devices in the field is convenient and can be done with confidence just like done by the Apples, Googles and Ubuntu's

Snappy Platform: enables device builders to implement a modern update strategy:update through store, canary testing in field; phased updates; auto rollback

rollback

confirm

Page 31: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

classic device

kernel snap

snappy devices

os snap

snapsnap

kernel config

os writable files

app writable area

app writable areaany package can

write to any file

read-only snaps

writable spaces per snap

filesystem

Page 32: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

The end of 'one size fits all' Leverage a single HW platform for multiple purposes

Ubuntu Core

Certified HW Support

Snappy Ubuntu Home Router Appliance

Ubuntu Core

Digital Signage Agent Snap Display

Framework

Certified HW Support

Snappy Ubuntu Digital Signage Appliance

Ubuntu Core

Browser Snap

Display Framework

Certified HW Support

Snappy Ubuntu Browsing Appliance

Browser Snap Device

Mgmt Snap OpenWRT

Framework

Router Admin UI

Page 33: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

Iotivity

The end of the 'early device death' Add value to devices already in the field

Ubuntu Core

Certified HW Support

Snappy Ubuntu Home Router Appliance

Device Mgmt Snap OpenWRT

Framework

Router Admin UI

Ubuntu Core

Certified HW Support

Snappy Ubuntu Home Router Appliance w/ Store

Device Mgmt Snap OpenWRT

Framework

Router Admin UI

Parental Control

StoreWebDM

Ubuntu Core

Certified HW Support

Snappy Ubuntu Home Router Appliance w/ IoT

Device Mgmt Snap OpenWRT

Framework

Router Admin UI

Store WebDM

Page 34: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

Snappy Factory StoryAnother Problem you don't want to solve...

Page 35: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

Snappy StoreLong Lasting Value and Revenue out of "Device Real Estate"

Page 36: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

kernel snap

os snap

app snapapp snap

app writable area

app writable area

Snappy enables all systems to have large scale app ecosystem without compromising on security

For that all snaps run in their very own contained & isolated and sandbox

Snappy provides a framework that surfaces apparmor, seccomp and container technology in a very easy to manage manner

app snap

app writable area

app snap

app writable area

Snappy - Sandboxing for an "App Ready Device"

Page 37: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

kernel snap

os snap

snap

snap writable area

Snappy surfaces sandboxing features available in Linux to the app developer and system builder as interfaces.

Interfaces allow snap to export and consume features and hw-resources that would otherwise be unreachable in other snaps

Interfaces get assigned by system builder, by user interactively or automatically

Interfaces help find suitable software in the store!

snap

snap writable area

slot: iface3

plug: iface1 iface2

plug: iface1 iface3

slot: iface1 iface2

Snappy Sandboxes & Interfaces

Page 38: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

5Snappy Ubuntu Core and 96boards

Page 39: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
Page 40: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
Page 41: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

+

Page 42: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

Kernel snap as the core to build upon

Gadget snap differentiates your product

One unified application ecosystem

Page 43: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

Kernel Snap

hikey-gadget

bbgum-gadget

db410c-gadget

Page 44: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

Kernel Snap

drone-gadget

bbgum-gadget

router-gadget

Page 45: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

Mix and match ecosystem: kernels, gadgets and applications

Single tool for image creation, generic instructions to deploy

Abstract away the platform details (ptable, bootloaders, blobs)

Concentrate on your software solution

Collaboration in the developer community

Page 46: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

How does this look on the Dragonboard?

Page 47: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

6Demo and Q/A

Page 48: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

Getting Started

http://developer.ubuntu.com/en/snappy/start

Docs:http://www.ubuntu.com/thingshttp://developer.ubuntu.com/snappy

Github:http://www.github.com/ubuntu-core

Mailing Lists:[email protected]@lists.ubuntu.com

IRC:#snappy on irc.freenode.net

Page 49: BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!

ubuntu.com/snappy