Download - Intro a snappy
Snappy
La arquitectura que mueve a Ubuntu Core
Presentado porSergio [email protected]@sergiusenswww.canonical.comAgosto 2015
Sobre mi
Crdoba Argentina
Ubuntu Core
Donde
Equipo
Antes estaba en phone foundations.Mis responsabilidades:- snappy: diseo y desarrollo- ubuntu-device-flash- oem- webdm- bootloaders
En foundations:- storage- mms- notificaciones- portar/integrar
El camino recorrido
Comencemos por el principio
Manejado por apt.
Ciclo de actualizaciones peridicas.
Paquetes atados al release.
Ubuntu
Ubuntu como comnmente lo conocemosEsta en todas partes.
Maintainer scriptsCada 6 meses nuevo paquetePpa ayudanTodo tiene una librera compartida (e.g.; Qt, gtk)Arbol de dependencias grande.Empaquetar bien cuesta.Confinamiento complicado (apparmor nativo)
Un paso evolutivo
System Image
click
Seguridad y aislamiento
Frameworks
SDK
Ubuntu Touch
Ubuntu para telfonos, cambiando el paradigma que conocamos.
Una imagn que es un todoSystem Image.
Se aplica en funcin del delta.
Son capas.
lxc
Generalmente actualizaciones pequeas
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
Hasta aqu llegamos
Nueva arquitectura
Transacciones (y Rollbacks)
Maleable
Componentes aislados e independientes
Snappy
Ubuntu Core y Personal tiene una arquitectura snappy
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 pequeez y el aislamiento lo hace maleable
Ubuntu Core
Confusin entre snappy y Ubuntu Core
Ubuntu no es apt como Ubuntu Core no es snappy
Arquitectura
AppAppAppFrameworkSnappy Ubuntu CoreAbstraccin de HardwareGadget
Actualizaciones confiables
Resguardos
Paquetes simples
Todo esta en el storeEl framework de click sera el releaseLos frameworks instalados definen la disponibilidad de app, los frameworks extienden al OS (mir es un framework).Abstraccin de hw sera el kernel y un par de cosas msGadget intersecta y define la instalacin.Apps permiten forks.Hay binarios y servicios
Gadget
Branding
Paquetes
Permisos
Adaptaciones
DefinenEl gadget define el gadget.
Puede configurar todos los paquetes.
Frameworks
Mediacin de recursos compartidos.
No hay conflictos
Frameworks no pueden depender de otros frameworks.
Pueden proveer polticas de seguridad adicionales.
ExtiendenLos frameworks son una extensin directa de Ubuntu Core.
Al requerir polticas especiales y ser tan invasivos, pasan por inspeccin (lento como debs).No al fork.No son librerias
Releases y canales
rolling
15.04
Hoy hay 2, rolling y 15.0415.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
En las nubes
Imagenes de Vagrant y KVM sirven para prototipado rpido.Snappy Ubuntu Core se encuentra disponible en los clouds pblicos como AWS, Azure y GCE
Tambin en nubes privadas
Las instancias t2 micro son gratis por un ao en ec2Usado bastante con docker (dijeron mis compaeros 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
Contenedores
snappy install docker
snappy install owncloud
O usar docker directament
Para instalar:https://plus.google.com/+St%C3%A9phaneGraber/posts/aX6vogzEQ1X
usando snappy-remote
snappy-remote --url=ssh://localhost:8022 install lxd_0.11-git0_amd64.snaplxc remote add images images.linuxcontainers.orglxc launch images:ubuntu/trusty/amd64 trustylxc exec trusty bash
Dispositivos
Kickstarter
Focalizarse en la lima milla para construir productos
Se extiende con frameworks si es necesario.Se configuran con el gadgetApps le dan proposito al sistema
Pueden o no permitir aplicaciones adicionales dependiendo del dueo del producto.
Erle tiene muchas apps que llama cerebros.
Ubuntu Personal
Arquitectura
AppAppAppFrameworkSnappy Ubuntu PersonalAbstraccin de HardwareGadget
Actualizaciones confiables
Resguardos
Paquetes simples
Todo esta en el storeEl framework de click sera el releaseLos frameworks instalados definen la disponibilidad de appAbstraccin de hw sera el kernel y un par de cosas msGadget intersecta y define la instalacin.En el OS, aparte de la base hay un stack muy parecido al del telefono.
Visuales
sudo ubuntu-device-flash personal rolling channel edge output personal-rolling.img
kvm -m 2048 -vga qxl personal-rolling.img (o virt-manager)
Unity8Greeter similar al tabletEs rolling, se rompe
Ecosistema
Store
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 revisin manual queda automticamente publicado en los releases elegidos (y prontamente canales).
webdm
Experiencia de firstboot
Acceder, configurar e instalar snaps
Administracin del sistema
Vista de app store para personalizar y extender el sistema.
avahi
Idea original era que sirva para device management remoto. Esa funcionalidad esta migrando a snappy.
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 incorporacin de elementos desde diferentes fuentes como GitHub, Launchpad, o npm...
Partes- parte central- independientes entre ellos- usado para el snap final o para contruirPlugins:- go, py2/3, java, c, ubuntuCiclo de vida:- pull parts/part-name/src- build parts/part-name/build, despus ../install- stage combina todos los parts en ./stage- snap partes productivas de stage + ./meta- assemble crea el snap
Demos
Si hay internet...
Levantar kvmsnappy list/install (forks)Snapcraft unas fuentes (qml)Instalar en VM con snappy remote y mostrar el sideloadMostrar lxcMostrar webdm en bbb
Preguntas por favor
Gracias!
Sergio [email protected]@sergiusens#snappy en freenodewww.canonical.com
Click to edit the title text format