SlideShare une entreprise Scribd logo
1  sur  23
1
Snappy
La arquitectura que mueve a Ubuntu Core
Presentado por
Sergio Schvezov
sergio.schvezov@canonical.com
@sergiusens
www.canonical.com
Agosto 2015
2
Sobre mi
Córdoba Argentina
Ubuntu Core
Donde
Equipo
3
El camino recorrido
4
Comencemos por el principio
Manejado por apt.
Ciclo de actualizaciones periódicas.
Paquetes atados al release.
Ubuntu
Ubuntu como comúnmente lo
conocemos
Esta en todas partes.
5
Un paso evolutivo
System Image
click
Seguridad y aislamiento
Frameworks
SDK
Ubuntu Touch
Ubuntu para teléfonos, cambiando el
paradigma que conocíamos.
6
Hasta aquí llegamos
Nueva arquitectura
Transacciones (y Rollbacks)
Maleable
Componentes aislados e independientes
Snappy
Ubuntu Core y Personal tiene una
arquitectura snappy
7
Ubuntu Core
8
Arquitectura
App
AppApp
Framework
Snappy Ubuntu CoreSnappy Ubuntu Core
Abstracción de Hardware
G
a
d
g
e
t
Actualizaciones confiables
Resguardos
Paquetes simples
9
Gadget
Branding
Paquetes
Permisos
Adaptaciones
Definen
El gadget define el gadget.
10
Frameworks
Mediación de recursos compartidos.
No hay conflictos
Frameworks no pueden depender de otros
frameworks.
Pueden proveer políticas de seguridad
adicionales.
Extienden
Los frameworks son una extensión
directa de Ubuntu Core.
11
Releases y canales
rolling
15.04
12
En las nubes
Imagenes de Vagrant y KVM
sirven para prototipado rápido.
Snappy Ubuntu Core se
encuentra disponible en los
clouds públicos como AWS,
Azure y GCE
También en nubes privadas
13
Contenedores
snappy install docker
snappy install owncloud
O usar docker directament
Para instalar:
https://plus.google.com/+St%C3%A9phaneGraber/posts/a
… usando snappy-remote
14
Dispositivos
Kickstarter
15
Ubuntu Personal
16
Arquitectura
App
AppApp
Framework
Snappy Ubuntu PersonalSnappy Ubuntu Personal
Abstracción de Hardware
G
a
d
g
e
t
Actualizaciones confiables
Resguardos
Paquetes simples
17
Visuales
sudo ubuntu-device-flash personal rolling –channel edge –output personal-rolling.img
kvm -m 2048 -vga qxl personal-rolling.img (o virt-manager)
18
Ecosistema
19
Store
20
webdm
Experiencia de firstboot
Acceder, configurar e instalar snaps
Administración del sistema
Vista de app store para personalizar y
extender el sistema.
avahi
21
Snapcraft
Permite integrar fuentes en git, bzr o hg
Compuesto por partes
Extensible mediante plugins
Ciclo de vida: pull, build, stage, snap,
assemble
Ubuntu
Snapcraft permite el crafting de snaps
haciendo facil la incorporación de
elementos desde diferentes fuentes
como GitHub, Launchpad, o npm...
22
Demos
23
Preguntas por favor
¡Gracias!
Sergio Schvezov
sergio.schvezov@canonical.com
@sergiusens
#snappy en freenode
www.canonical.com

Contenu connexe

Tendances

Distribuciones linux.
Distribuciones linux.Distribuciones linux.
Distribuciones linux.Dr_Shk
 
Presentación grupo 183
Presentación grupo 183Presentación grupo 183
Presentación grupo 183mbayona25
 
Presentación grupo221120 202
Presentación grupo221120 202Presentación grupo221120 202
Presentación grupo221120 202maraguime
 
desensamble de un computador
desensamble de un computador desensamble de un computador
desensamble de un computador kate12gomez
 
Presentación de Teamviewer
Presentación de TeamviewerPresentación de Teamviewer
Presentación de TeamviewerLauraSLeon
 

Tendances (10)

Distribuciones linux.
Distribuciones linux.Distribuciones linux.
Distribuciones linux.
 
Presentación grupo 183 -power point
Presentación grupo 183 -power pointPresentación grupo 183 -power point
Presentación grupo 183 -power point
 
Presentación grupo 183
Presentación grupo 183Presentación grupo 183
Presentación grupo 183
 
Diapositivas
Diapositivas Diapositivas
Diapositivas
 
Presentación grupo221120 202
Presentación grupo221120 202Presentación grupo221120 202
Presentación grupo221120 202
 
Intel core i3
Intel core i3Intel core i3
Intel core i3
 
desensamble de un computador
desensamble de un computador desensamble de un computador
desensamble de un computador
 
Expo meego
Expo meegoExpo meego
Expo meego
 
CentOS
CentOSCentOS
CentOS
 
Presentación de Teamviewer
Presentación de TeamviewerPresentación de Teamviewer
Presentación de Teamviewer
 

Similaire à Intro a snappy

Similaire à Intro a snappy (20)

Distribuciones linux
Distribuciones linuxDistribuciones linux
Distribuciones linux
 
Trabajo de computación
Trabajo de computaciónTrabajo de computación
Trabajo de computación
 
Trabajo de computación
Trabajo de computaciónTrabajo de computación
Trabajo de computación
 
Sistema operativo linux
Sistema operativo linuxSistema operativo linux
Sistema operativo linux
 
Sistema Operativo Ubuntu
Sistema Operativo UbuntuSistema Operativo Ubuntu
Sistema Operativo Ubuntu
 
Debian
DebianDebian
Debian
 
Ubuntu historia y porque
Ubuntu    historia y porqueUbuntu    historia y porque
Ubuntu historia y porque
 
Sistema operativo linux
Sistema operativo linuxSistema operativo linux
Sistema operativo linux
 
Curso servidor
Curso servidorCurso servidor
Curso servidor
 
Linux ubuntu
Linux ubuntuLinux ubuntu
Linux ubuntu
 
Prueba trimestral
Prueba trimestralPrueba trimestral
Prueba trimestral
 
Cap02
Cap02Cap02
Cap02
 
Sistema operativo linux
Sistema operativo linuxSistema operativo linux
Sistema operativo linux
 
Resumen investigación tesina gnu linux
Resumen investigación tesina gnu linuxResumen investigación tesina gnu linux
Resumen investigación tesina gnu linux
 
Ubuntu y fedora linux
Ubuntu  y fedora linuxUbuntu  y fedora linux
Ubuntu y fedora linux
 
Cuestionario nro 3
Cuestionario nro 3Cuestionario nro 3
Cuestionario nro 3
 
Cuestionario nro 3
Cuestionario nro 3Cuestionario nro 3
Cuestionario nro 3
 
Cuestionario nro 3
Cuestionario nro 3Cuestionario nro 3
Cuestionario nro 3
 
linux33
linux33linux33
linux33
 
Marcelo baño
Marcelo bañoMarcelo baño
Marcelo baño
 

Intro a snappy

Notes de l'éditeur

  1. Antes estaba en phone foundations. Mis responsabilidades: - snappy: diseño y desarrollo - ubuntu-device-flash - oem - webdm - bootloaders En foundations: - storage - mms - notificaciones - portar/integrar
  2. Maintainer scripts Cada 6 meses nuevo paquete Ppa ayudan Todo tiene una librería compartida (e.g.; Qt, gtk) Arbol de dependencias grande. Empaquetar “bien” cuesta. Confinamiento complicado (apparmor nativo)
  3. Una imagén que es un “todo” System Image. Se aplica en función del delta. Son capas. lxc Generalmente actualizaciones pequeñas Se introduce click: No hay maintainer scripts Hay hooks. Dependencia es el framework. Ubuntu Store ofrece dinamismo y libertad al desarrollador. Hay un SDK y en gran parte define el framework. Confinamiento easy prof Trusted helpers
  4. Construye sobre el desarrollo de Touch Todo es un paquete snappy Migrando de System Image: Aislamiento total y no capas Las capas requiren un director de orquestras. El aislamiento es a traves de interfaces. La pequeñez y el aislamiento lo hace maleable
  5. Confusión entre snappy y Ubuntu Core Ubuntu no es apt como Ubuntu Core no es snappy
  6. Todo esta en el store El framework de click sería el “release” Los frameworks instalados definen la disponibilidad de app, los frameworks extienden al OS (mir es un framework). Abstracción de hw sería el kernel y un par de cosas más Gadget intersecta y define la instalación. Apps permiten forks. Hay binarios y servicios
  7. Puede configurar todos los paquetes.
  8. Al requerir políticas especiales y ser tan invasivos, pasan por inspección (lento como debs). No al fork. No son librerias
  9. Hoy hay 2, rolling y 15.04 15.04 y todos los releases numerados son estables No del todo cierto, los releases estables son estables en el canal estable Edge es el build diario y va iterando hasta llegar al canal estable. No hay canal estable para rolling
  10. Las instancias t2 micro son gratis por un año en ec2 Usado bastante con docker (dijeron mis compañeros del cloud). Kvm no es una nube de por si, pero lo que se haga acá se puede llevar a las nubes. Nubes privadas → openstack
  11. snappy-remote --url=ssh://localhost:8022 install lxd_0.11-git0_amd64.snap lxc remote add images images.linuxcontainers.org lxc launch images:ubuntu/trusty/amd64 trusty lxc exec trusty bash
  12. Focalizarse en la úlima milla para construir productos Se extiende con frameworks si es necesario. Se configuran con el gadget Apps le dan proposito al sistema Pueden o no permitir aplicaciones adicionales dependiendo del dueño del producto. Erle tiene muchas apps que llama cerebros.
  13. Todo esta en el store El framework de click sería el “release” Los frameworks instalados definen la disponibilidad de app Abstracción de hw sería el kernel y un par de cosas más Gadget intersecta y define la instalación. En el OS, aparte de la base hay un stack muy parecido al del telefono.
  14. Unity8 Greeter similar al tablet Es rolling, se rompe
  15. Saben subir un “deb”, no hablo de gente que se dedica a empaquetar, hablo de alguien que desarrolla algo y quiere que este disponible para los demas. El store hace chequeos de compliance (seguridad) y si pasa todo sin requerir revisión manual queda automáticamente publicado en los releases elegidos (y prontamente canales).
  16. Idea original era que sirva para device management remoto. Esa funcionalidad esta migrando a snappy.
  17. Partes - parte central - independientes entre ellos - usado para el snap final o para contruir Plugins: - go, py2/3, java, c, ubuntu Ciclo de vida: - pull → parts/part-name/src - build → parts/part-name/build, después ../install - stage → combina todos los parts en ./stage - snap → partes productivas de stage + ./meta - assemble → crea el snap
  18. Si hay internet... Levantar kvm snappy list/install (forks) Snapcraft unas fuentes (qml) Instalar en VM con snappy remote y mostrar el sideload Mostrar lxc Mostrar webdm en bbb