Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Snap your App!
Ted Gould
ted@canonical.com
@tedjgould
Texas Linux Fest
21 Aug 2015
The Plan
●
Give instructions on getting Snappy installed
●
Talk about Snappy
●
Give instructions on downloading demo
●
Tal...
QEMU (Virtual Machine Manager)
$ sudo apt-get install
qemu-kvm ubuntu-virt-
mgmt python-spice-
client-gtk
$ kvm-ok
Snappy Image
$ wget
http://releases.ubuntu.com/15.04/ubuntu-
15.04-snappy-amd64-generic.img.xz
$ unxz ubuntu-15.04-snappy-...
Test It!
$ kvm -m 512 -redir :8090::4200
-redir :8022::22 ubuntu-15.04-snappy-
amd64-generic.img
$ ssh -p 8022 ubuntu@loca...
Play with it!
Ubuntu
●
Debian based (package format and policies)
●
Regular Releases
●
Updated via Apt
Ubuntu Phone
●
Click Applications
●
System Image Updates
Why Click?
Millions
Thousands
Leaves are Simpler
Single Dependency
Click
App
Ubuntu TouchUbuntu Touch
Click
App
Click
App
Click
App
Reviewers Don't Scale
Why Image Based Updates?
●
Binary: Works or it doesn't
●
Provides opportunity to
rollback
●
Simple testable states
— Us, acting cooler than
we actually are
“Let's Take Ubuntu Phone
all the way to 11!”
Snappy Ubuntu Core
●
Transactional Updates
●
Snap based Apps
●
Snap frameworks
●
OS snap
App
AppApp
Framework
Snappy Ubuntu CoreSnappy Ubuntu Core
Hardware Abstraction
App
Gadget
Hardware Abstraction
●
Provided by board vendors
●
Allows for custom drivers and config
“Gadget” Snap
●
Per-device configuration
●
Snaps to install
●
Permissions
●
Branding
Framework Snaps
●
Provide shared services
●
Mediate resources
●
IPC to Apps
Mir System
Compositor
Why snap? (not click)
●
Click v2.0
●
Click only for leaf nodes
●
Support for OS and framework snaps
●
Lower level componen...
Cloud
Internet
Of Things
Corp
IT
Consumer Devices
Trend: Internet of Things
● Smaller computers
● Internet connectivity
● Full OS resources
● Must be reliable
Trend: Consumer Devices
● More complex
interactions
● Bullet-proof
experience
● Complex security
situations
Trend: Corporate/Education IT
●
Verifiable Images
●
Upgrades don't cause
downtime
●
Limited apps and app
permissions
Trend: Cloud and Containers
●
Small base OS (JeOS)
●
Unit of specialized code
●
Tested as a unit
Snappy Store
Store Story: Erle Robotics
Store Store: Networking
Try it today!
http://ubuntu.com/snappy
Progress Check-In
Import into VMM
$ sudo cp ubuntu-15.04-snappy-amd64-generic.img
/var/lib/libvirt/images/
$ sudo chown libvirt-qemu.kvm
/va...
$ ifconfig
$ sudo snappy install docker
$ sudo snappy install snapcraft-daily.ted
$ snapcraft-daily.snapcraft help
Install...
What is a snap?
●
A self-contained
bundle
●
Includes
dependencies
●
Works with
frameworks
You are
here
Snap Definition (package.yaml)
name: photoviewer
version: 0.1
vendor: Ted Gould <ted@canonical.com>
architecture: amd64
fr...
https://developer.ubuntu.com/en/snappy/guides/filesystem-layout/
Snap Directories
Snapcraft
Snap
Snapcraft
Your
Code
Upstream
Depends
Block Inception
Snapcraft.yaml
parts:
qml:
plugin: qml
photoviewer:
plugin: copy
files:
main.qml: main.qml
PhotoViewerCore: PhotoViewerCor...
Demo
Snap Your App
Snap Your App
Upcoming SlideShare
Loading in …5
×

Snap Your App

557 views

Published on

Snappy Ubuntu Core is the transactionally updated version of Ubuntu that is perfect for Internet of Things and other consumer oriented devices. Come and learn about Snappy, what makes it different and how it can work for you. Then build a demo Snappy application on your own computer and get well on your way to snapping up your own app and shipping in the Ubuntu store!

Published in: Technology
  • Be the first to comment

Snap Your App

  1. 1. Snap your App! Ted Gould ted@canonical.com @tedjgould Texas Linux Fest 21 Aug 2015
  2. 2. The Plan ● Give instructions on getting Snappy installed ● Talk about Snappy ● Give instructions on downloading demo ● Talk about building apps for Snappy ● Build an app for Snappy
  3. 3. QEMU (Virtual Machine Manager) $ sudo apt-get install qemu-kvm ubuntu-virt- mgmt python-spice- client-gtk $ kvm-ok
  4. 4. Snappy Image $ wget http://releases.ubuntu.com/15.04/ubuntu- 15.04-snappy-amd64-generic.img.xz $ unxz ubuntu-15.04-snappy-amd64- generic.img.xz
  5. 5. Test It! $ kvm -m 512 -redir :8090::4200 -redir :8022::22 ubuntu-15.04-snappy- amd64-generic.img $ ssh -p 8022 ubuntu@localhost
  6. 6. Play with it!
  7. 7. Ubuntu ● Debian based (package format and policies) ● Regular Releases ● Updated via Apt
  8. 8. Ubuntu Phone ● Click Applications ● System Image Updates
  9. 9. Why Click? Millions Thousands
  10. 10. Leaves are Simpler Single Dependency
  11. 11. Click App Ubuntu TouchUbuntu Touch Click App Click App Click App
  12. 12. Reviewers Don't Scale
  13. 13. Why Image Based Updates? ● Binary: Works or it doesn't ● Provides opportunity to rollback ● Simple testable states
  14. 14. — Us, acting cooler than we actually are “Let's Take Ubuntu Phone all the way to 11!”
  15. 15. Snappy Ubuntu Core ● Transactional Updates ● Snap based Apps ● Snap frameworks ● OS snap
  16. 16. App AppApp Framework Snappy Ubuntu CoreSnappy Ubuntu Core Hardware Abstraction App Gadget
  17. 17. Hardware Abstraction ● Provided by board vendors ● Allows for custom drivers and config
  18. 18. “Gadget” Snap ● Per-device configuration ● Snaps to install ● Permissions ● Branding
  19. 19. Framework Snaps ● Provide shared services ● Mediate resources ● IPC to Apps Mir System Compositor
  20. 20. Why snap? (not click) ● Click v2.0 ● Click only for leaf nodes ● Support for OS and framework snaps ● Lower level components
  21. 21. Cloud Internet Of Things Corp IT Consumer Devices
  22. 22. Trend: Internet of Things ● Smaller computers ● Internet connectivity ● Full OS resources ● Must be reliable
  23. 23. Trend: Consumer Devices ● More complex interactions ● Bullet-proof experience ● Complex security situations
  24. 24. Trend: Corporate/Education IT ● Verifiable Images ● Upgrades don't cause downtime ● Limited apps and app permissions
  25. 25. Trend: Cloud and Containers ● Small base OS (JeOS) ● Unit of specialized code ● Tested as a unit
  26. 26. Snappy Store
  27. 27. Store Story: Erle Robotics
  28. 28. Store Store: Networking
  29. 29. Try it today! http://ubuntu.com/snappy
  30. 30. Progress Check-In
  31. 31. Import into VMM $ sudo cp ubuntu-15.04-snappy-amd64-generic.img /var/lib/libvirt/images/ $ sudo chown libvirt-qemu.kvm /var/lib/libvirt/images/ubuntu-15.04-snappy-amd64- generic.img
  32. 32. $ ifconfig $ sudo snappy install docker $ sudo snappy install snapcraft-daily.ted $ snapcraft-daily.snapcraft help Install Snapcraft
  33. 33. What is a snap? ● A self-contained bundle ● Includes dependencies ● Works with frameworks You are here
  34. 34. Snap Definition (package.yaml) name: photoviewer version: 0.1 vendor: Ted Gould <ted@canonical.com> architecture: amd64 frameworks: [mir] binaries: - name: photoviewer exec: qmlscene main.qml -- caps: - mir_client - network-client
  35. 35. https://developer.ubuntu.com/en/snappy/guides/filesystem-layout/ Snap Directories
  36. 36. Snapcraft Snap Snapcraft Your Code Upstream Depends
  37. 37. Block Inception
  38. 38. Snapcraft.yaml parts: qml: plugin: qml photoviewer: plugin: copy files: main.qml: main.qml PhotoViewerCore: PhotoViewerCore snappy-metadata: meta
  39. 39. Demo

×