introduzione ad ubuntu core

33
Marco Trevisan Software Engineer - Ubuntu Desktop Team [email protected] @3v1n0 · +MarcoTrevisan · irc://Trevinho Snappy, ovvero Open Design Conference 2017

Upload: marco-trevisan

Post on 21-Jan-2018

104 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Introduzione ad ubuntu core

Marco TrevisanSoftware Engineer - Ubuntu Desktop Team

[email protected]@3v1n0 · +MarcoTrevisan · irc://Trevinho

Snappy, ovvero

Open Design Conference 2017

Page 2: Introduzione ad ubuntu core

We are the company behind Ubuntu.

Page 3: Introduzione ad ubuntu core

Ubuntu e Canonical

EMPLOYEES

800+COUNTRIES

49+FOUNDED

2004

Canonical sviluppa il sistema operativo dal 2004, ed adesso sta estendendo Ubuntu su dispositivi mobili ed IoT.

Ubuntu è un sistema operativo attualmente disponibile su server, cloud personal computer, telefoni e dispositivi IoT.

Page 4: Introduzione ad ubuntu core
Page 5: Introduzione ad ubuntu core

Ubuntu Linux, il più utilizzato per lo sviluppo

Source: Eclipse Foundation + StackOverflow survey

Mint Fedora Debian Other Ubuntu

2% 2%

3%

6%

17%

Page 6: Introduzione ad ubuntu core

dalla nuvola alle cose

Page 7: Introduzione ad ubuntu core

Ubuntu già da vita a dispositivi IoT

Smart drone controllers

Advanced robotics

Home gateways Industrial gateways

Smart drone controllers

Advanced robotics

Home gateways Edge gateways Digital Signage

Digital Signage

Page 8: Introduzione ad ubuntu core

Le sfide dell’IoT

Sicurezza Aggiornamenti Monetizzazione

1 2 3

Page 9: Introduzione ad ubuntu core

Ma siam davvero sicuri?!?

Hackers remotely kill a jeep on the highway – with me in it.Andy Greenberg

Page 10: Introduzione ad ubuntu core

Aggiornamenti, non raffreddori!

Nest thermostat glitchleaves users in the coldNick Bilton

Page 11: Introduzione ad ubuntu core

Fosse solo hardware…Accessori, tools e servizi indotti.

E magari facciamoci anche cassa!

Page 12: Introduzione ad ubuntu core

Dispositivi Linux

distribuitiindirizzatieconomci

vulnerabile

Difficile da gestire e riparare

Server Linux

centralizzatosupportato

costosoridondante

Economico da gestire e riparare

Page 13: Introduzione ad ubuntu core

source: https://www.flickr.com/photos/mom2sofia/8394217408/in/photostream/

Page 14: Introduzione ad ubuntu core

source: https://www.reddit.com/r/funny/comments/2ad0s8/apparently_ace_ventura_is_my_new_fedex_guy/

Page 15: Introduzione ad ubuntu core

source: http://nathantracy.net/

Page 16: Introduzione ad ubuntu core

A minimal, secure, transactional Ubuntu designed for IoT

Page 17: Introduzione ad ubuntu core

Ubuntu Core: piccolo, sicuro, veloce

Tutto il meglio di Ubuntu in uno spazio nato per tutti i dispositivi

Aggiornamenti transizionali

Sistema di pacchetti semplice da creare, mantenere e fare il deploy

Sicurezza in primo piano

Page 18: Introduzione ad ubuntu core

Mettiamolo a dieta quest’Ubuntu!

DIMENSIONE DELL’IMMAGINE

776 MB

Ubuntu Core CentOS Atomic Host 7

350 MB

Page 19: Introduzione ad ubuntu core

Abbiamo gli snap!

Page 20: Introduzione ad ubuntu core
Page 21: Introduzione ad ubuntu core

Snap - pacchetti Linux universali

Distro supportate Snap / framework

Sicuri | Facili da creare | Transazionali | Appstore-friendly

Page 22: Introduzione ad ubuntu core

Ubuntu classic Ubuntu Core

Kernel 4.4

Kernel 4.4

Applicazoini confinate come snap, senza dipendenze

OS minimale come snap

Kernel, anche questo uno snap

Pacchetto di Sistema

App B Libreria DriverApp A

Legenda

Page 23: Introduzione ad ubuntu core

Interazione tra snap

app snapapp snap

app writable area

app writable area

Le app sono confinate ed isolate

app snap

app writable area

app snap

app writable area

Page 24: Introduzione ad ubuntu core

Aggiornamenti Atomici: Apps, OS e kernel

DatiArea scrivibile

Snap originarioAggiornamento

Dati aggiornatiArea scrivibile

Snap aggiornato

Dati originariArea scrivibile

I dati precedenti vengono mantenuti

sul device

Snap orgiginario

Dati precedentiArea scrivibile

Snap precedente

Rollback in caso di fallimento

Page 25: Introduzione ad ubuntu core

Un appstore per tutti i gusti...

Page 26: Introduzione ad ubuntu core

… Con tutti i numeri alla mano

Page 27: Introduzione ad ubuntu core

Dal codice al metallo...

Snapcraft → Build → Store → Deploy: Tutto in mano ai developers!

Page 28: Introduzione ad ubuntu core

● Docker e LXC sono container○ Un unico processo con una gestione a sé○ Kernel condiviso, proprio filesystem

● Snap si occupa di confinare○ Le app nei pacchetti snap sono avviate e

gestite dal kernel come gli altri processi nel sistema

○ Kernel/rete condivisi, filesystem solo parzialmente proprio

○ Processi controllati dai tool classici○ Non c’è bisogno di fare routing○ I file sono accessibili direttamente (se

consentito)○ Multi-utente, un’unica istanza per app

LXD

snap

Contenere o Confinare, questo è il problema!

Page 29: Introduzione ad ubuntu core

Perfetto per tutti i dispositivi

I Vendor controllano la distribuzione delle loro app direttamente

Platform condivise per estendere il sistema operativo con librerie riutilizzabili da più snap

Il sistema di base è Ubuntu: per sempre libero e gratuito.

Page 30: Introduzione ad ubuntu core

Hardware alla mano...

Processori

Intel x86 or ARMv7/v8 (Cortex-A7)

Memoria

256MB+

Flash

4GB System storage

Connettività disponibile

WiFi, Ethernet, USB, BT4.0 BLE, …

Board supportate ufficialmente

Raspberry Pi, Dragonboard, Intel DUC e Joule, Artik, …

Page 31: Introduzione ad ubuntu core

# Prerequisito: installa snapd nel sistema# http://snapcraft.io

# Installa ed esegui il tuo primo snap$ snap find hello$ sudo snap install hello$ hello$ snap list

# Snap può fornire servizi e diversi binari$ hello$ hello.universe

Page 32: Introduzione ad ubuntu core

# Aggiorna gli snap nel sistema (automatico)$ sudo snap refresh

# Passa alla versione di “hello” di un altro# canale$ sudo snap refresh hello --beta$ hello

# Rimuove uno snap$ sudo snap remove hello

Page 33: Introduzione ad ubuntu core

Per saperne di piùubuntu.com/iot