SlideShare a Scribd company logo
FreeNAS 10
Challenges of Building a Modern Storage Appliance
based on FreeBSD
But first…
Welcome Back to Berkeley!
Last time Here: FreeBSDCon ’99!
FreeNAS 10
Key Requirements
Key Requirements
• Make a highly complex system as simple as
possible for end-users but still powerful for admins
• Provide maximum “situational awareness” to all
users
• Do as much as possible asynchronously
• Provide for flexible application hosting as well as
storage (“Hyperconverged storage”)
A Short Demo
Challenge: Building
• FreeBSD builds are not bit-for-bit reproducible
(build times and paths sneak into binaries; delta
packages are wheeeeeeeee!).
• Packaging: Appliances require cryptographically
signed update mechanism with config data
segregated
• Debugging symbols: No concept of the .DSYM file;
we need to keep two copies of all binaries (install
ISO is 670M - debug info is 908M!)
Challenge: Building
• FreeBSD is at least three different things:
• Kernel + Modules
• “Base”
• Ports (Poudriere)
• We had to create our own build system + DSL
(profile description language) to unify these
concepts for a software appliance
FreeBSD Today
Kernel
Base
Packages (ports - infinite size)
All Your Base
Self-serve
Cafe
FreeBSD Someday?
Kernel
Base
Packages (ports - moar infinite size)
Minimalist
Approach
Kernel Optional Modules
Appliance
Profile
Schema
Appliance Software
Lifecycle Management
• Install (for specific mission profile) needs to be
as automated as possible. ZFS boot
environments have been a big plus.
• Need to be able to upgrade entire application
profile (kern + base + pkgs) as one unified
concept.
• All config data needs to survive upgrades with
no user intervention (sorry, mergemaster).
Misc FreeBSD Challenges
• Future of SMB 3.1.1 Performance is iffy - FreeBSD is not a
poster-child for Samba and SMB is important.
• Some perf issues identified by Samba core team, now
need work from us.
• Unix Domain Sockets really suck for serious IPC (we’ve
found long-standing data corruption bugs, performance is
definitely not great, namespace is filesystem)
• /etc/rc.d is really not service management (highly porous,
doesn’t provide consistent pid tracking, etc etc etc)
Misc BSD Challenges
• More full-stack developers would reveal and fix
blatant userland + OS mismatches earlier
(python fork()! OMG!). More appliance folks
would be great
• We’re missing out on mainstream clustered
filesystems, some of the latest OpenZFS
encryption work (ZoL is pulling ahead), and
much other Enterprise goodness from Linux
space
Bhyve Improvements Made
• Added 9pfs client / server support to share host
data with VMs - still some challenges (ACLs! )�
• Created early VM guest tools (user kind of wants
to know what IP address a VM is on, among
many other things)
• Better virtual device support (E1000 / NE2000)
• Virtio Console driver for C&C, fast VNC console
Bhyve Improvements
Needed
• VGA Emulation still very green
• USB Device Mapping (like VMWare)
• Suspend / Resume (for snapshots / migration)
• CD image mount/eject after boot
• High-level management APIs / better ZFS
integration / other crazy dreams
Containers
• Jails are sort of cool and all but fragile (esp with
VIMAGE), implementation has long beard, and we
never standardized lifecycle management
(mechanism not policy again??)
• Docker / LXD combine privilege domains with
packaging / lifecycle and better networking
management out of the box
• Fight for mainstream DevOps hearts-and-minds has
been won by Docker / LXD / (TBD) - Now What?
Container Futures
• BHyve + VM guest tools allow us to simply wrap
containers and many other “service providers”
into VMs and proxy them as “bigger containers”
• Wrapping is a lot easier than making Linux
Emulation 100%, but if we go that route we also
need a roadmap and a clear idea of what
“victory” looks like
*BSD is still awesome
• … But every year it gets a little harder to justify
building Enterprise solutions like FreeNAS on top of
it
• It’s about making both tools and solutions
(chicken-and-egg problem). Software appliances
and HW/SW combined solutions are a good start
• We can move faster (less bikeshed, more
ambition)
Q&A

More Related Content

What's hot

Olf2012
Olf2012Olf2012
Olf2012
Dru Lavigne
 
Nelf2012
Nelf2012Nelf2012
Nelf2012
Dru Lavigne
 
Lavigne aug11 bsdmag
Lavigne aug11 bsdmagLavigne aug11 bsdmag
Lavigne aug11 bsdmag
Dru Lavigne
 
BSD for Linux Users
BSD for Linux UsersBSD for Linux Users
BSD for Linux Users
Dru Lavigne
 
SELF 2010: BSD For Linux Users
SELF 2010: BSD For Linux UsersSELF 2010: BSD For Linux Users
SELF 2010: BSD For Linux Users
Dru Lavigne
 
Cobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale EnvironmentsCobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale Environments
ViSenze - Artificial Intelligence for the Visual Web
 
Using cobbler in a not so small environment 1.77
Using cobbler in a not so small environment 1.77Using cobbler in a not so small environment 1.77
Using cobbler in a not so small environment 1.77
chhorn
 
Posscon2013
Posscon2013Posscon2013
Posscon2013
Dru Lavigne
 
Cobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioningCobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioning
RUDDER
 
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
Takaya Saeki
 
TechDay - Cambridge 2016 - OpenNebula Corona
TechDay - Cambridge 2016 - OpenNebula CoronaTechDay - Cambridge 2016 - OpenNebula Corona
TechDay - Cambridge 2016 - OpenNebula Corona
OpenNebula Project
 
Lavigne bsdmag-jan13
Lavigne bsdmag-jan13Lavigne bsdmag-jan13
Lavigne bsdmag-jan13Dru Lavigne
 
Jenkins, Bhyve, and Webdriver: Continuous Integration testing on FreeNAS by C...
Jenkins, Bhyve, and Webdriver: Continuous Integration testing on FreeNAS by C...Jenkins, Bhyve, and Webdriver: Continuous Integration testing on FreeNAS by C...
Jenkins, Bhyve, and Webdriver: Continuous Integration testing on FreeNAS by C...
iXsystems
 
Kvm and libvirt
Kvm and libvirtKvm and libvirt
Kvm and libvirt
plarsen67
 
Oclug 2010
Oclug 2010Oclug 2010
Oclug 2010
Dru Lavigne
 
RunX ELCE 2020
RunX ELCE 2020RunX ELCE 2020
RunX ELCE 2020
Stefano Stabellini
 
RunX: deploy real-time OSes as containers at the edge
RunX: deploy real-time OSes as containers at the edgeRunX: deploy real-time OSes as containers at the edge
RunX: deploy real-time OSes as containers at the edge
Stefano Stabellini
 
Gentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingGentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile Everything
Donnie Berkholz
 

What's hot (20)

Sweden11
Sweden11Sweden11
Sweden11
 
Olf2012
Olf2012Olf2012
Olf2012
 
Nelf2012
Nelf2012Nelf2012
Nelf2012
 
Lavigne aug11 bsdmag
Lavigne aug11 bsdmagLavigne aug11 bsdmag
Lavigne aug11 bsdmag
 
BSD for Linux Users
BSD for Linux UsersBSD for Linux Users
BSD for Linux Users
 
SELF 2010: BSD For Linux Users
SELF 2010: BSD For Linux UsersSELF 2010: BSD For Linux Users
SELF 2010: BSD For Linux Users
 
Cobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale EnvironmentsCobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale Environments
 
Using cobbler in a not so small environment 1.77
Using cobbler in a not so small environment 1.77Using cobbler in a not so small environment 1.77
Using cobbler in a not so small environment 1.77
 
Posscon2013
Posscon2013Posscon2013
Posscon2013
 
Cobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioningCobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioning
 
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
 
Scale13
Scale13Scale13
Scale13
 
TechDay - Cambridge 2016 - OpenNebula Corona
TechDay - Cambridge 2016 - OpenNebula CoronaTechDay - Cambridge 2016 - OpenNebula Corona
TechDay - Cambridge 2016 - OpenNebula Corona
 
Lavigne bsdmag-jan13
Lavigne bsdmag-jan13Lavigne bsdmag-jan13
Lavigne bsdmag-jan13
 
Jenkins, Bhyve, and Webdriver: Continuous Integration testing on FreeNAS by C...
Jenkins, Bhyve, and Webdriver: Continuous Integration testing on FreeNAS by C...Jenkins, Bhyve, and Webdriver: Continuous Integration testing on FreeNAS by C...
Jenkins, Bhyve, and Webdriver: Continuous Integration testing on FreeNAS by C...
 
Kvm and libvirt
Kvm and libvirtKvm and libvirt
Kvm and libvirt
 
Oclug 2010
Oclug 2010Oclug 2010
Oclug 2010
 
RunX ELCE 2020
RunX ELCE 2020RunX ELCE 2020
RunX ELCE 2020
 
RunX: deploy real-time OSes as containers at the edge
RunX: deploy real-time OSes as containers at the edgeRunX: deploy real-time OSes as containers at the edge
RunX: deploy real-time OSes as containers at the edge
 
Gentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingGentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile Everything
 

Viewers also liked

NeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD XNeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD X
iXsystems
 
History of ZFS (MeetBSD California 2016)
History of ZFS (MeetBSD California 2016)History of ZFS (MeetBSD California 2016)
History of ZFS (MeetBSD California 2016)
iXsystems
 
Python on FreeBSD
Python on FreeBSDPython on FreeBSD
Python on FreeBSD
pycontw
 
March 2015
March 2015March 2015
Dsp 2015 - conference brochure
Dsp 2015 - conference brochureDsp 2015 - conference brochure
Dsp 2015 - conference brochure
Prof Dr M Subhan Qureshi
 
Brochure josh Archive!
Brochure josh Archive!Brochure josh Archive!
Brochure josh Archive!
it Consult
 
The Impact of Social Status on Negotiations
The Impact of Social Status on NegotiationsThe Impact of Social Status on Negotiations
The Impact of Social Status on Negotiations
SP Consulting, a division of The Scott Practice, LLC
 
Case study Latteria Vipiteno
Case study Latteria VipitenoCase study Latteria Vipiteno
Case study Latteria Vipiteno
it Consult
 
Introduction à la recherche d'information
Introduction à la recherche d'informationIntroduction à la recherche d'information
Introduction à la recherche d'information
hamoji hamoji
 
Create Brand Evangelists with CNAM
Create Brand Evangelists with CNAMCreate Brand Evangelists with CNAM
Create Brand Evangelists with CNAM
Flowroute
 
Case Study FPZ Blower Technology
Case Study FPZ Blower TechnologyCase Study FPZ Blower Technology
Case Study FPZ Blower Technology
it Consult
 
Case study Scavolini
Case study ScavoliniCase study Scavolini
Case study Scavolini
it Consult
 
JANGRAL ENTERPRISES
JANGRAL ENTERPRISESJANGRAL ENTERPRISES
JANGRAL ENTERPRISES
Gorav Jangral
 
Extinguishers
Extinguishers Extinguishers
Extinguishers
mkaps
 
Problemes tecnològics
Problemes tecnològicsProblemes tecnològics
Problemes tecnològicsMarcuoc
 
Как начать карьеру в маркетинге?
Как начать карьеру в маркетинге?Как начать карьеру в маркетинге?
Как начать карьеру в маркетинге?
Tanya Ryzhaya
 
Problemasjava2
Problemasjava2Problemasjava2
Problemasjava2
Aldahir IS
 
Presentation kelas 9 bab 3 -MENAMBAH TABEL,GRAFIK DAN DIAGRAM
Presentation kelas 9 bab 3  -MENAMBAH TABEL,GRAFIK DAN DIAGRAMPresentation kelas 9 bab 3  -MENAMBAH TABEL,GRAFIK DAN DIAGRAM
Presentation kelas 9 bab 3 -MENAMBAH TABEL,GRAFIK DAN DIAGRAMamaliadhea
 

Viewers also liked (20)

NeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD XNeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD X
 
History of ZFS (MeetBSD California 2016)
History of ZFS (MeetBSD California 2016)History of ZFS (MeetBSD California 2016)
History of ZFS (MeetBSD California 2016)
 
Python on FreeBSD
Python on FreeBSDPython on FreeBSD
Python on FreeBSD
 
March 2015
March 2015March 2015
March 2015
 
Dsp 2015 - conference brochure
Dsp 2015 - conference brochureDsp 2015 - conference brochure
Dsp 2015 - conference brochure
 
Brochure josh Archive!
Brochure josh Archive!Brochure josh Archive!
Brochure josh Archive!
 
SERVICIOS DE GOOGLE
SERVICIOS DE GOOGLESERVICIOS DE GOOGLE
SERVICIOS DE GOOGLE
 
The Impact of Social Status on Negotiations
The Impact of Social Status on NegotiationsThe Impact of Social Status on Negotiations
The Impact of Social Status on Negotiations
 
Case study Latteria Vipiteno
Case study Latteria VipitenoCase study Latteria Vipiteno
Case study Latteria Vipiteno
 
Introduction à la recherche d'information
Introduction à la recherche d'informationIntroduction à la recherche d'information
Introduction à la recherche d'information
 
Create Brand Evangelists with CNAM
Create Brand Evangelists with CNAMCreate Brand Evangelists with CNAM
Create Brand Evangelists with CNAM
 
Case Study FPZ Blower Technology
Case Study FPZ Blower TechnologyCase Study FPZ Blower Technology
Case Study FPZ Blower Technology
 
Case study Scavolini
Case study ScavoliniCase study Scavolini
Case study Scavolini
 
ש
שש
ש
 
JANGRAL ENTERPRISES
JANGRAL ENTERPRISESJANGRAL ENTERPRISES
JANGRAL ENTERPRISES
 
Extinguishers
Extinguishers Extinguishers
Extinguishers
 
Problemes tecnològics
Problemes tecnològicsProblemes tecnològics
Problemes tecnològics
 
Как начать карьеру в маркетинге?
Как начать карьеру в маркетинге?Как начать карьеру в маркетинге?
Как начать карьеру в маркетинге?
 
Problemasjava2
Problemasjava2Problemasjava2
Problemasjava2
 
Presentation kelas 9 bab 3 -MENAMBAH TABEL,GRAFIK DAN DIAGRAM
Presentation kelas 9 bab 3  -MENAMBAH TABEL,GRAFIK DAN DIAGRAMPresentation kelas 9 bab 3  -MENAMBAH TABEL,GRAFIK DAN DIAGRAM
Presentation kelas 9 bab 3 -MENAMBAH TABEL,GRAFIK DAN DIAGRAM
 

Similar to FreeNAS 10: Challenges of Building a Modern Storage Appliance based on FreeBSD ((MeetBSD California 2016)

Docker 101
Docker 101 Docker 101
Docker 101
Kevin Nord
 
[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020
Akihiro Suda
 
The State of Rootless Containers
The State of Rootless ContainersThe State of Rootless Containers
The State of Rootless Containers
Akihiro Suda
 
Build High-Performance, Scalable, Distributed Applications with Stacks of Co...
 Build High-Performance, Scalable, Distributed Applications with Stacks of Co... Build High-Performance, Scalable, Distributed Applications with Stacks of Co...
Build High-Performance, Scalable, Distributed Applications with Stacks of Co...
Yandex
 
DCSF19 Transforming a 15+ Year Old Semiconductor Manufacturing Environment
DCSF19 Transforming a 15+ Year Old Semiconductor Manufacturing EnvironmentDCSF19 Transforming a 15+ Year Old Semiconductor Manufacturing Environment
DCSF19 Transforming a 15+ Year Old Semiconductor Manufacturing Environment
Docker, Inc.
 
Docker: Testing to Production
Docker: Testing to ProductionDocker: Testing to Production
Docker: Testing to Production
Edwin Fuquen
 
DockerCon EU 2015 - The Latest on Docker Engine
DockerCon EU 2015 - The Latest on Docker EngineDockerCon EU 2015 - The Latest on Docker Engine
DockerCon EU 2015 - The Latest on Docker Engine
Arnaud Porterie
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
Docker, Inc.
 
Cassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedCassandra and Docker Lessons Learned
Cassandra and Docker Lessons Learned
DataStax Academy
 
Evolution of unix environments and the road to faster deployments
Evolution of unix environments and the road to faster deploymentsEvolution of unix environments and the road to faster deployments
Evolution of unix environments and the road to faster deployments
Rakuten Group, Inc.
 
Ria Applications And PHP
Ria Applications And PHPRia Applications And PHP
Ria Applications And PHP
John Coggeshall
 
Running a database on local NVMes on Kubernetes
Running a database on local NVMes on KubernetesRunning a database on local NVMes on Kubernetes
Running a database on local NVMes on Kubernetes
DoKC
 
Running a database on local NVMes on Kubernetes
Running a database on local NVMes on KubernetesRunning a database on local NVMes on Kubernetes
Running a database on local NVMes on Kubernetes
DoKC
 
DockerCon EU 2015: The Latest in Docker Engine
DockerCon EU 2015: The Latest in Docker EngineDockerCon EU 2015: The Latest in Docker Engine
DockerCon EU 2015: The Latest in Docker Engine
Docker, Inc.
 
This one goes to 11!
This one goes to 11!This one goes to 11!
This one goes to 11!
APNIC
 
FreeBSD is not Linux
FreeBSD is not LinuxFreeBSD is not Linux
FreeBSD is not Linux
Muhammad Moinur Rahman
 
ContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
ContainerCon EU 2016 - Software-Defined Storage and Container SchedulersContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
ContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
David vonThenen
 
Ceph_in_a_Windows_world
Ceph_in_a_Windows_worldCeph_in_a_Windows_world
Ceph_in_a_Windows_world
suncbing1
 
Cont0519
Cont0519Cont0519
Cont0519
Samuel Dratwa
 
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
Gaetano Giunta
 

Similar to FreeNAS 10: Challenges of Building a Modern Storage Appliance based on FreeBSD ((MeetBSD California 2016) (20)

Docker 101
Docker 101 Docker 101
Docker 101
 
[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020
 
The State of Rootless Containers
The State of Rootless ContainersThe State of Rootless Containers
The State of Rootless Containers
 
Build High-Performance, Scalable, Distributed Applications with Stacks of Co...
 Build High-Performance, Scalable, Distributed Applications with Stacks of Co... Build High-Performance, Scalable, Distributed Applications with Stacks of Co...
Build High-Performance, Scalable, Distributed Applications with Stacks of Co...
 
DCSF19 Transforming a 15+ Year Old Semiconductor Manufacturing Environment
DCSF19 Transforming a 15+ Year Old Semiconductor Manufacturing EnvironmentDCSF19 Transforming a 15+ Year Old Semiconductor Manufacturing Environment
DCSF19 Transforming a 15+ Year Old Semiconductor Manufacturing Environment
 
Docker: Testing to Production
Docker: Testing to ProductionDocker: Testing to Production
Docker: Testing to Production
 
DockerCon EU 2015 - The Latest on Docker Engine
DockerCon EU 2015 - The Latest on Docker EngineDockerCon EU 2015 - The Latest on Docker Engine
DockerCon EU 2015 - The Latest on Docker Engine
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Cassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedCassandra and Docker Lessons Learned
Cassandra and Docker Lessons Learned
 
Evolution of unix environments and the road to faster deployments
Evolution of unix environments and the road to faster deploymentsEvolution of unix environments and the road to faster deployments
Evolution of unix environments and the road to faster deployments
 
Ria Applications And PHP
Ria Applications And PHPRia Applications And PHP
Ria Applications And PHP
 
Running a database on local NVMes on Kubernetes
Running a database on local NVMes on KubernetesRunning a database on local NVMes on Kubernetes
Running a database on local NVMes on Kubernetes
 
Running a database on local NVMes on Kubernetes
Running a database on local NVMes on KubernetesRunning a database on local NVMes on Kubernetes
Running a database on local NVMes on Kubernetes
 
DockerCon EU 2015: The Latest in Docker Engine
DockerCon EU 2015: The Latest in Docker EngineDockerCon EU 2015: The Latest in Docker Engine
DockerCon EU 2015: The Latest in Docker Engine
 
This one goes to 11!
This one goes to 11!This one goes to 11!
This one goes to 11!
 
FreeBSD is not Linux
FreeBSD is not LinuxFreeBSD is not Linux
FreeBSD is not Linux
 
ContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
ContainerCon EU 2016 - Software-Defined Storage and Container SchedulersContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
ContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
 
Ceph_in_a_Windows_world
Ceph_in_a_Windows_worldCeph_in_a_Windows_world
Ceph_in_a_Windows_world
 
Cont0519
Cont0519Cont0519
Cont0519
 
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
 

Recently uploaded

How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 

Recently uploaded (20)

How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 

FreeNAS 10: Challenges of Building a Modern Storage Appliance based on FreeBSD ((MeetBSD California 2016)

  • 1. FreeNAS 10 Challenges of Building a Modern Storage Appliance based on FreeBSD
  • 3. Welcome Back to Berkeley! Last time Here: FreeBSDCon ’99!
  • 4. FreeNAS 10 Key Requirements Key Requirements • Make a highly complex system as simple as possible for end-users but still powerful for admins • Provide maximum “situational awareness” to all users • Do as much as possible asynchronously • Provide for flexible application hosting as well as storage (“Hyperconverged storage”)
  • 6. Challenge: Building • FreeBSD builds are not bit-for-bit reproducible (build times and paths sneak into binaries; delta packages are wheeeeeeeee!). • Packaging: Appliances require cryptographically signed update mechanism with config data segregated • Debugging symbols: No concept of the .DSYM file; we need to keep two copies of all binaries (install ISO is 670M - debug info is 908M!)
  • 7. Challenge: Building • FreeBSD is at least three different things: • Kernel + Modules • “Base” • Ports (Poudriere) • We had to create our own build system + DSL (profile description language) to unify these concepts for a software appliance
  • 8. FreeBSD Today Kernel Base Packages (ports - infinite size) All Your Base Self-serve Cafe
  • 9. FreeBSD Someday? Kernel Base Packages (ports - moar infinite size) Minimalist Approach Kernel Optional Modules Appliance Profile Schema
  • 10. Appliance Software Lifecycle Management • Install (for specific mission profile) needs to be as automated as possible. ZFS boot environments have been a big plus. • Need to be able to upgrade entire application profile (kern + base + pkgs) as one unified concept. • All config data needs to survive upgrades with no user intervention (sorry, mergemaster).
  • 11. Misc FreeBSD Challenges • Future of SMB 3.1.1 Performance is iffy - FreeBSD is not a poster-child for Samba and SMB is important. • Some perf issues identified by Samba core team, now need work from us. • Unix Domain Sockets really suck for serious IPC (we’ve found long-standing data corruption bugs, performance is definitely not great, namespace is filesystem) • /etc/rc.d is really not service management (highly porous, doesn’t provide consistent pid tracking, etc etc etc)
  • 12. Misc BSD Challenges • More full-stack developers would reveal and fix blatant userland + OS mismatches earlier (python fork()! OMG!). More appliance folks would be great • We’re missing out on mainstream clustered filesystems, some of the latest OpenZFS encryption work (ZoL is pulling ahead), and much other Enterprise goodness from Linux space
  • 13. Bhyve Improvements Made • Added 9pfs client / server support to share host data with VMs - still some challenges (ACLs! )� • Created early VM guest tools (user kind of wants to know what IP address a VM is on, among many other things) • Better virtual device support (E1000 / NE2000) • Virtio Console driver for C&C, fast VNC console
  • 14. Bhyve Improvements Needed • VGA Emulation still very green • USB Device Mapping (like VMWare) • Suspend / Resume (for snapshots / migration) • CD image mount/eject after boot • High-level management APIs / better ZFS integration / other crazy dreams
  • 15. Containers • Jails are sort of cool and all but fragile (esp with VIMAGE), implementation has long beard, and we never standardized lifecycle management (mechanism not policy again??) • Docker / LXD combine privilege domains with packaging / lifecycle and better networking management out of the box • Fight for mainstream DevOps hearts-and-minds has been won by Docker / LXD / (TBD) - Now What?
  • 16. Container Futures • BHyve + VM guest tools allow us to simply wrap containers and many other “service providers” into VMs and proxy them as “bigger containers” • Wrapping is a lot easier than making Linux Emulation 100%, but if we go that route we also need a roadmap and a clear idea of what “victory” looks like
  • 17. *BSD is still awesome • … But every year it gets a little harder to justify building Enterprise solutions like FreeNAS on top of it • It’s about making both tools and solutions (chicken-and-egg problem). Software appliances and HW/SW combined solutions are a good start • We can move faster (less bikeshed, more ambition)
  • 18. Q&A