SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
FreeBSD: Looking forward
to another next 10 years
Jordan Hubbard	

EuroBSDCon 2014
So, let’s look back at where we came from
first…
Prediction: I can’t win this either way…
FreeBSD 1.0
From jkh@whisker.lotus.ie Tue Nov 2 14:51:38 1993!
Path: sran230!sranhd!sranha!wnoc-tyo-news!nec-tyo!nec-gw!sgiblab!
spool.mu.edu!agate!agate!usenet!
From: jkh@whisker.lotus.ie (Jordan K. Hubbard)!
Newsgroups: comp.os.386bsd.announce!
Subject: FreeBSD 1.0 RELEASE now available!
Followup-To: poster!
Date: 1 Nov 1993 16:12:20 -0800!
Organization: Lotus Development Ireland!
Lines: 61!
Sender: cgd@agate.berkeley.edu!
Approved: 386bsd-announce-request@agate.berkeley.edu!
Message-ID: <JKH.93Oct31223943@whisker.lotus.ie>!
NNTP-Posting-Host: agate.berkeley.edu!
!
The first "official" release of FreeBSD 1.0 is now available, no more!
greek letters - this is the "production" release ...
Happy 20th Anniversary!
FreeBSD is now almost 21 years old	

(in two months, it can drink legally in the USA)
Our first distribution media
(OK, I’m lying)
FreeBSD 1.0
Our actual distribution media
1.2 MB
FreeBSD 1.0
Some of the consequences...
The 1.0 ports collection
My first FreeBSD dream build machine...
I paid $1600 for my first 1Gb hard drive to do builds...
My first FreeBSD dream laptop
That is	

<= Warner!
First conference (1999)
Commercial interests	

20 years ago
• Internet Service Providers (large and small)	

• SOHO web servers / routers (very DIY)	

• Major services likeYahoo!, Hotmail, etc.	

• Basic developer desktop machines	

• Majority of FreeBSD machines were physical PCs
that ran off of AC power
Key take-away: FreeBSD’s role was fairly overt
20 years later...
New install media: 64GB USB thumb drive. Holy crap!
20 years later...
RB-Pi: SBC Far more powerful than my first FreeBSD
machine. Cost: Under $50 (with storage card)
20 years later...
My dream laptop has evolved (and has BSD included)
20 years later...
• FreeBSD release version is up to 10.0	

• Over 24000 ports (vs 70!)	

• Hundreds of committers, from both academia and
commercial backgrounds	

• Sources of long-term funding (Foundation, other
sponsors)	

• … But the commercial interests and overall market
have changed significantly
Hey BSD: Let’s see that license again!
The GPLv3: Scaring the crap out of lawyers since 2007
The GPL experience
Commercial interests	

Today
• FreeBSD is the underlying OS technology for routers,
load balancers, security monitors, file servers, etc.	

• Basis for “software appliances” like pfSense, FreeNAS
and quite a few others	

• Even the base OS for a very popular gaming console	

• “Embedded” market is morphing and exploding
Key take-away: FreeBSD’s role, and even its name, is now fairly covert
Some hyperbole (which does actually makes a point)
Unix OS deployments today
(waaaa?)
And in the Enterprise…
• “BYOD” movement has killed desktop growth
while giving IT departments severe heartburn	

• “Cloud” software / storage / computational
resource consolidation have all but killed the DIY
datacenter	

• Much better automation choices (*stack, chef,
puppet) gives rise to the “2 guys with their laptops
in a coffee shop” social media / enterprise startup
How we see ourselves
OS Designers
How the world sees us
OS Designers
Closer to the truth
OS Designers
The rise of virtualization
• vmware, Xenserver, Hyper-v, even bhyve are all
acceptable hypervisors now. Majority of OS
deployments (and devices) are no longer physical. 	

• Automation tools work hardest to erase the notion
of machine personality by pushing OS installation and
config metadata to external sources	

• Being virtual and/or automated means the entire
environment is far more dynamic; individual OS
instances not installed/configured by mere humans
The rise of mobile
• More Unix machines are running on batteries than
are plugged into AC by several orders of magnitude	

• Talking to one or more radios has replaced physical
cables	

• The obvious: Power consumption and dynamic
interface / connection management is important	

• Less obvious: High-level debugging and telemetry
technology become critical to success
What does this all mean?
• We need to be open to fundamentally new
approaches and ruthlessly cull what is no longer
demonstrably useful to the 99%	

• We need to be willing to shamelessly steal^H^H^H^H
adopt things that are working elsewhere	

• We need to take on some big-picture challenges that
will appeal to the next generation of hackers (where’s
the next mountain?)
One Project Idea	

All OS / App configuration data
• We need a lingua franca format yesterday!	

• Whether it be XML,YAML or JSON, we also
need a single API to read / write / abstract away
the details of finding config data.	

• Existing tools /services need to convert their
legacy formats into this one and use the same
API or the tower of babel will persist
Working Example
• All OS and app configuration data in OS X and iOS are XML
plist files, even GNU emacs and X11.org’s preferences!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/
PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SULastCheckTime</key>
<date>2014-02-09T02:45:56Z</date>
<key>cache_fonts</key>
<true/>
<key>done_xinit_check</key>
<true/>
<key>no_auth</key>
<false/>
<key>nolisten_tcp</key>
<true/>
</dict>
</plist>
One Project Idea	

A centralized event notification system
• You just can’t deal with:	

• Radios powering up and down at odd times	

• Network configuration changing rapidly	

• A node changing its identity almost entirely on the fly	

• Critical system caches needing invalidation
… without a centralized way of being able to know about
these sorts of events!
• notify(3) APIs in OS X / iOS and corresponding notifyd daemon
• Send it a SIGUSR1 on OS X and you will see a huge number of notification names
and their subscribers in /var/run/notifyd_pid.status - it has become insanely useful!
"com.apple.system.lowdiskspace.system" uid=0 gid=0 333
17 32 port
!
"com.apple.system.timezone" uid=0 gid=0 333 slot 7 = 1
1018 1 memory
1011 10 port
1011 8 memory
1011 6 port
!
"com.apple.system.powermanagement.SystemLoadAdvisory" uid=0 gid=0 333 slot 13 = 19
406 44 port
944 12 port
406 35 memory
!
"com.apple.system.config.network_change" uid=0 gid=0 333 slot 39 = 129
190 17 memory
845 28 memory
845 26 memory
!
"ids-device-nearby-0FC85E3A-7779-4EAA-AD02-70292707A33C" uid=0 gid=0 333
229 30 port
402 19 port
257 30 port
242 23 port
Working Example
One Project Idea	

Service startup and wrangling
• /etc/rc.d is quite sophisticated for what it does,
but the paint on /etc/rc is obvious	

• Too many things need to know explicitly about
dependencies (when can I start? What has to
start before me?)	

• Power wrangling and automation depend on being
able to start and stop services easily and at will
Working Example
!
• I’m trying really hard not to suggest launchd here (so I won’t)	

• The idea of registering everything up-front with a broker and
then letting IPC / timers / HW events start things from there (in
cascade fashion) is still the right architecture	

• Even the linux die-hards have essentially grasped the necessity
of systemd (even though they’re going to hate on it for awhile
longer)
One Project Idea	

Telemetry & Remote Debugging
• We really need a centralized way of being able
to collect data from appliances / mobile devices	

• The NSA don’t need our help (they already do
this upstream) but FreeBSD downstream end-
users DO	

• Debugging the software stack on mobile devices
is hard. It’s time for remote debugging support
One Project Idea	

Reference phone / tablet ports
• Running on SBCs is excellent for bootstrapping,
but there’s no “real world” hardware to support
(displays, radios, accelerometers, etc)	

• Running on hardware you can actually use and
carry around validates power / telemetry work	

• Real Hardware forces you to think about the
entire software stack
In summary
• We need to become more lego-like (and toss those
legos we don’t need out of the box) in our
architecture	

• The hardware platforms we choose need to be
genuinely relevant in terms of mass appeal	

• We need to be more willing to learn from those
who have gone before us in these emerging markets
(BSD has a bit of a “rep” there)
FreeBSD 20th Anniversary Party
FreeBSD:The future is ours if we want it!

Mais conteúdo relacionado

Destaque

Real-Time Text Analytics at Predictive Analytics World berlin 2014
Real-Time Text Analytics at Predictive Analytics World berlin 2014Real-Time Text Analytics at Predictive Analytics World berlin 2014
Real-Time Text Analytics at Predictive Analytics World berlin 2014
Clueda AG
 
Predictive Maintenance with R
Predictive Maintenance with RPredictive Maintenance with R
Predictive Maintenance with R
eoda GmbH
 

Destaque (20)

Cap xii codigo alimentario arg
Cap xii codigo alimentario argCap xii codigo alimentario arg
Cap xii codigo alimentario arg
 
Slidedeck Datenanalyse mit Oracle R Enterprise for Beginners - DOAG2015
Slidedeck Datenanalyse mit Oracle R Enterprise for Beginners - DOAG2015Slidedeck Datenanalyse mit Oracle R Enterprise for Beginners - DOAG2015
Slidedeck Datenanalyse mit Oracle R Enterprise for Beginners - DOAG2015
 
Business Intelligence Engineer 2
Business Intelligence Engineer 2Business Intelligence Engineer 2
Business Intelligence Engineer 2
 
eoda R-Akademie 2014
eoda R-Akademie 2014 eoda R-Akademie 2014
eoda R-Akademie 2014
 
material en proceso de evaluación
material en proceso de evaluación material en proceso de evaluación
material en proceso de evaluación
 
Business Intelligence (BI) Kompakt
Business Intelligence (BI) KompaktBusiness Intelligence (BI) Kompakt
Business Intelligence (BI) Kompakt
 
Implementierung von R im Mittelstand
Implementierung von R im MittelstandImplementierung von R im Mittelstand
Implementierung von R im Mittelstand
 
SpagoBI 5 Demo Day and Workshop : Business Applications and Uses
SpagoBI 5 Demo Day and Workshop : Business Applications and UsesSpagoBI 5 Demo Day and Workshop : Business Applications and Uses
SpagoBI 5 Demo Day and Workshop : Business Applications and Uses
 
eoda R-Akademie 2016
eoda R-Akademie 2016eoda R-Akademie 2016
eoda R-Akademie 2016
 
eoda | R-Support
eoda | R-Support eoda | R-Support
eoda | R-Support
 
eoda R-Akademie 2015_Kursprogramm
eoda R-Akademie 2015_Kursprogrammeoda R-Akademie 2015_Kursprogramm
eoda R-Akademie 2015_Kursprogramm
 
Implementing R in the old economy
Implementing R in the old economyImplementing R in the old economy
Implementing R in the old economy
 
SpagoBI 5 official presentation in Paris
SpagoBI 5 official presentation in ParisSpagoBI 5 official presentation in Paris
SpagoBI 5 official presentation in Paris
 
In Memory Computing for Agile Business Intelligence
In Memory Computing for Agile Business IntelligenceIn Memory Computing for Agile Business Intelligence
In Memory Computing for Agile Business Intelligence
 
Facebook Gewinnspiel-Richtlinien
Facebook Gewinnspiel-RichtlinienFacebook Gewinnspiel-Richtlinien
Facebook Gewinnspiel-Richtlinien
 
Best PowerPoint Presentation Ever
Best PowerPoint Presentation EverBest PowerPoint Presentation Ever
Best PowerPoint Presentation Ever
 
Real-Time Text Analytics at Predictive Analytics World berlin 2014
Real-Time Text Analytics at Predictive Analytics World berlin 2014Real-Time Text Analytics at Predictive Analytics World berlin 2014
Real-Time Text Analytics at Predictive Analytics World berlin 2014
 
Predictive Maintenance with R
Predictive Maintenance with RPredictive Maintenance with R
Predictive Maintenance with R
 
IBM SPSS Fruehwarnsystem der ergebnis- und wirkungsorientierten Steuerung im...
IBM SPSS Fruehwarnsystem der ergebnis-  und wirkungsorientierten Steuerung im...IBM SPSS Fruehwarnsystem der ergebnis-  und wirkungsorientierten Steuerung im...
IBM SPSS Fruehwarnsystem der ergebnis- und wirkungsorientierten Steuerung im...
 
FreeBSD: The Next 10 Years (MeetBSD 2014)
FreeBSD: The Next 10 Years (MeetBSD 2014)FreeBSD: The Next 10 Years (MeetBSD 2014)
FreeBSD: The Next 10 Years (MeetBSD 2014)
 

Semelhante a FreeBSD: Looking forward to another 10 years by Jordan Hubbard

Distributech_Presentation DTECH_2013
Distributech_Presentation DTECH_2013Distributech_Presentation DTECH_2013
Distributech_Presentation DTECH_2013
Dorian Hernandez
 
MarkLittle_EnterpriseMiddlewareForThe21stCentury
MarkLittle_EnterpriseMiddlewareForThe21stCenturyMarkLittle_EnterpriseMiddlewareForThe21stCentury
MarkLittle_EnterpriseMiddlewareForThe21stCentury
Kostas Mavridis
 
3 f6 9_distributed_systems
3 f6 9_distributed_systems3 f6 9_distributed_systems
3 f6 9_distributed_systems
op205
 
Bit_Bucket_x31_Final
Bit_Bucket_x31_FinalBit_Bucket_x31_Final
Bit_Bucket_x31_Final
Sam Knutson
 
Gab 2015 aymeric weinbach azure iot
Gab   2015 aymeric weinbach azure iot Gab   2015 aymeric weinbach azure iot
Gab 2015 aymeric weinbach azure iot
Aymeric Weinbach
 

Semelhante a FreeBSD: Looking forward to another 10 years by Jordan Hubbard (20)

Big Data Approaches to Cloud Security
Big Data Approaches to Cloud SecurityBig Data Approaches to Cloud Security
Big Data Approaches to Cloud Security
 
Bursting into the public Cloud - Sharing my experience doing it at large scal...
Bursting into the public Cloud - Sharing my experience doing it at large scal...Bursting into the public Cloud - Sharing my experience doing it at large scal...
Bursting into the public Cloud - Sharing my experience doing it at large scal...
 
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
 
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
 
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
 
Michael Enescu - Cloud + IoT at IEEE
Michael Enescu - Cloud + IoT at IEEEMichael Enescu - Cloud + IoT at IEEE
Michael Enescu - Cloud + IoT at IEEE
 
How to over-engineer things and have fun? | Oto Brglez, OPALAB
How to over-engineer things and have fun? | Oto Brglez, OPALABHow to over-engineer things and have fun? | Oto Brglez, OPALAB
How to over-engineer things and have fun? | Oto Brglez, OPALAB
 
IoT Story: From Edge to HDP
IoT Story: From Edge to HDPIoT Story: From Edge to HDP
IoT Story: From Edge to HDP
 
GDSC IIITM - Discover Your Domain
GDSC IIITM  - Discover Your DomainGDSC IIITM  - Discover Your Domain
GDSC IIITM - Discover Your Domain
 
Distributech_Presentation DTECH_2013
Distributech_Presentation DTECH_2013Distributech_Presentation DTECH_2013
Distributech_Presentation DTECH_2013
 
2012-03-15 What's New at Red Hat
2012-03-15 What's New at Red Hat2012-03-15 What's New at Red Hat
2012-03-15 What's New at Red Hat
 
SDN - a new security paradigm?
SDN - a new security paradigm?SDN - a new security paradigm?
SDN - a new security paradigm?
 
MarkLittle_EnterpriseMiddlewareForThe21stCentury
MarkLittle_EnterpriseMiddlewareForThe21stCenturyMarkLittle_EnterpriseMiddlewareForThe21stCentury
MarkLittle_EnterpriseMiddlewareForThe21stCentury
 
3 f6 9_distributed_systems
3 f6 9_distributed_systems3 f6 9_distributed_systems
3 f6 9_distributed_systems
 
Devcon2上海 参加報告
Devcon2上海 参加報告Devcon2上海 参加報告
Devcon2上海 参加報告
 
Perfect Operating System
Perfect Operating SystemPerfect Operating System
Perfect Operating System
 
Perfect O S
Perfect O SPerfect O S
Perfect O S
 
Bit_Bucket_x31_Final
Bit_Bucket_x31_FinalBit_Bucket_x31_Final
Bit_Bucket_x31_Final
 
Gab 2015 aymeric weinbach azure iot
Gab   2015 aymeric weinbach azure iot Gab   2015 aymeric weinbach azure iot
Gab 2015 aymeric weinbach azure iot
 
Instrumenting the real-time web: Node.js in production
Instrumenting the real-time web: Node.js in productionInstrumenting the real-time web: Node.js in production
Instrumenting the real-time web: Node.js in production
 

Mais de eurobsdcon

OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał DubielOpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
eurobsdcon
 
Porting NetBSD to the LatticeMico32 open source CPU by Yann Sionneau
Porting NetBSD to the LatticeMico32 open source CPU by Yann SionneauPorting NetBSD to the LatticeMico32 open source CPU by Yann Sionneau
Porting NetBSD to the LatticeMico32 open source CPU by Yann Sionneau
eurobsdcon
 
Bugs Ex Ante by Kristaps Dzonsons
Bugs Ex Ante by Kristaps DzonsonsBugs Ex Ante by Kristaps Dzonsons
Bugs Ex Ante by Kristaps Dzonsons
eurobsdcon
 

Mais de eurobsdcon (20)

EuroBSDCon 2014 Program Front
EuroBSDCon 2014 Program FrontEuroBSDCon 2014 Program Front
EuroBSDCon 2014 Program Front
 
EuroBSDCon 2014 tutorials program Thursday & Friday
EuroBSDCon 2014 tutorials program Thursday & FridayEuroBSDCon 2014 tutorials program Thursday & Friday
EuroBSDCon 2014 tutorials program Thursday & Friday
 
EuroBSDCon 2014 Sofia Welcome
EuroBSDCon 2014 Sofia WelcomeEuroBSDCon 2014 Sofia Welcome
EuroBSDCon 2014 Sofia Welcome
 
EuroBSDCon 2014 Sofia Closing talk
EuroBSDCon 2014 Sofia Closing talkEuroBSDCon 2014 Sofia Closing talk
EuroBSDCon 2014 Sofia Closing talk
 
Submitting documents anonymously by Atanas Chobanov
Submitting documents anonymously by Atanas ChobanovSubmitting documents anonymously by Atanas Chobanov
Submitting documents anonymously by Atanas Chobanov
 
Porting the drm/kms graphic drivers to DragonFlyBSD by Francois Tigeot
Porting the drm/kms graphic drivers to DragonFlyBSD by Francois TigeotPorting the drm/kms graphic drivers to DragonFlyBSD by Francois Tigeot
Porting the drm/kms graphic drivers to DragonFlyBSD by Francois Tigeot
 
University of Oslo's TSD service - storing sensitive & restricted data by D...
  University of Oslo's TSD service - storing sensitive & restricted data by D...  University of Oslo's TSD service - storing sensitive & restricted data by D...
University of Oslo's TSD service - storing sensitive & restricted data by D...
 
secure lazy binding, and the 64bit time_t development process by Philip Guenther
secure lazy binding, and the 64bit time_t development process by Philip Guenthersecure lazy binding, and the 64bit time_t development process by Philip Guenther
secure lazy binding, and the 64bit time_t development process by Philip Guenther
 
The entropic principle: /dev/u?random and NetBSD by Taylor R Campbell
  The entropic principle: /dev/u?random and NetBSD by Taylor R Campbell  The entropic principle: /dev/u?random and NetBSD by Taylor R Campbell
The entropic principle: /dev/u?random and NetBSD by Taylor R Campbell
 
The LLDB Debugger in FreeBSD by Ed Maste
The LLDB Debugger in FreeBSD by Ed MasteThe LLDB Debugger in FreeBSD by Ed Maste
The LLDB Debugger in FreeBSD by Ed Maste
 
Porting Valgrind to NetBSD and OpenBSD by Masao Uebayashi
Porting Valgrind to NetBSD and OpenBSD by Masao UebayashiPorting Valgrind to NetBSD and OpenBSD by Masao Uebayashi
Porting Valgrind to NetBSD and OpenBSD by Masao Uebayashi
 
Multiplatform JIT Code Generator for NetBSD by Alexander Nasonov
Multiplatform JIT Code Generator for NetBSD by Alexander NasonovMultiplatform JIT Code Generator for NetBSD by Alexander Nasonov
Multiplatform JIT Code Generator for NetBSD by Alexander Nasonov
 
OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał DubielOpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
 
Porting NetBSD to the LatticeMico32 open source CPU by Yann Sionneau
Porting NetBSD to the LatticeMico32 open source CPU by Yann SionneauPorting NetBSD to the LatticeMico32 open source CPU by Yann Sionneau
Porting NetBSD to the LatticeMico32 open source CPU by Yann Sionneau
 
Smartcom's control plane software, a customized version of FreeBSD by Boris A...
Smartcom's control plane software, a customized version of FreeBSD by Boris A...Smartcom's control plane software, a customized version of FreeBSD by Boris A...
Smartcom's control plane software, a customized version of FreeBSD by Boris A...
 
Bugs Ex Ante by Kristaps Dzonsons
Bugs Ex Ante by Kristaps DzonsonsBugs Ex Ante by Kristaps Dzonsons
Bugs Ex Ante by Kristaps Dzonsons
 
Cross Building the FreeBSD ports tree by Baptiste Daroussin
Cross Building the FreeBSD ports tree by Baptiste DaroussinCross Building the FreeBSD ports tree by Baptiste Daroussin
Cross Building the FreeBSD ports tree by Baptiste Daroussin
 
Building packages through emulation by Sean Bruno
Building packages through emulation by Sean BrunoBuilding packages through emulation by Sean Bruno
Building packages through emulation by Sean Bruno
 
Making OpenBSD Useful on the Octeon Network Gear by Paul Irofti
Making OpenBSD Useful on the Octeon Network Gear by Paul IroftiMaking OpenBSD Useful on the Octeon Network Gear by Paul Irofti
Making OpenBSD Useful on the Octeon Network Gear by Paul Irofti
 
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaum
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. TanenbaumA Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaum
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaum
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 

FreeBSD: Looking forward to another 10 years by Jordan Hubbard

  • 1. FreeBSD: Looking forward to another next 10 years Jordan Hubbard EuroBSDCon 2014
  • 2. So, let’s look back at where we came from first… Prediction: I can’t win this either way…
  • 3. FreeBSD 1.0 From jkh@whisker.lotus.ie Tue Nov 2 14:51:38 1993! Path: sran230!sranhd!sranha!wnoc-tyo-news!nec-tyo!nec-gw!sgiblab! spool.mu.edu!agate!agate!usenet! From: jkh@whisker.lotus.ie (Jordan K. Hubbard)! Newsgroups: comp.os.386bsd.announce! Subject: FreeBSD 1.0 RELEASE now available! Followup-To: poster! Date: 1 Nov 1993 16:12:20 -0800! Organization: Lotus Development Ireland! Lines: 61! Sender: cgd@agate.berkeley.edu! Approved: 386bsd-announce-request@agate.berkeley.edu! Message-ID: <JKH.93Oct31223943@whisker.lotus.ie>! NNTP-Posting-Host: agate.berkeley.edu! ! The first "official" release of FreeBSD 1.0 is now available, no more! greek letters - this is the "production" release ...
  • 4. Happy 20th Anniversary! FreeBSD is now almost 21 years old (in two months, it can drink legally in the USA)
  • 5. Our first distribution media (OK, I’m lying) FreeBSD 1.0
  • 6. Our actual distribution media 1.2 MB FreeBSD 1.0
  • 7. Some of the consequences...
  • 8. The 1.0 ports collection
  • 9. My first FreeBSD dream build machine... I paid $1600 for my first 1Gb hard drive to do builds...
  • 10. My first FreeBSD dream laptop That is <= Warner!
  • 12. Commercial interests 20 years ago • Internet Service Providers (large and small) • SOHO web servers / routers (very DIY) • Major services likeYahoo!, Hotmail, etc. • Basic developer desktop machines • Majority of FreeBSD machines were physical PCs that ran off of AC power Key take-away: FreeBSD’s role was fairly overt
  • 13. 20 years later... New install media: 64GB USB thumb drive. Holy crap!
  • 14. 20 years later... RB-Pi: SBC Far more powerful than my first FreeBSD machine. Cost: Under $50 (with storage card)
  • 15. 20 years later... My dream laptop has evolved (and has BSD included)
  • 16. 20 years later... • FreeBSD release version is up to 10.0 • Over 24000 ports (vs 70!) • Hundreds of committers, from both academia and commercial backgrounds • Sources of long-term funding (Foundation, other sponsors) • … But the commercial interests and overall market have changed significantly
  • 17. Hey BSD: Let’s see that license again! The GPLv3: Scaring the crap out of lawyers since 2007 The GPL experience
  • 18. Commercial interests Today • FreeBSD is the underlying OS technology for routers, load balancers, security monitors, file servers, etc. • Basis for “software appliances” like pfSense, FreeNAS and quite a few others • Even the base OS for a very popular gaming console • “Embedded” market is morphing and exploding Key take-away: FreeBSD’s role, and even its name, is now fairly covert
  • 19. Some hyperbole (which does actually makes a point)
  • 20. Unix OS deployments today (waaaa?)
  • 21. And in the Enterprise… • “BYOD” movement has killed desktop growth while giving IT departments severe heartburn • “Cloud” software / storage / computational resource consolidation have all but killed the DIY datacenter • Much better automation choices (*stack, chef, puppet) gives rise to the “2 guys with their laptops in a coffee shop” social media / enterprise startup
  • 22. How we see ourselves OS Designers
  • 23. How the world sees us OS Designers
  • 24. Closer to the truth OS Designers
  • 25. The rise of virtualization • vmware, Xenserver, Hyper-v, even bhyve are all acceptable hypervisors now. Majority of OS deployments (and devices) are no longer physical. • Automation tools work hardest to erase the notion of machine personality by pushing OS installation and config metadata to external sources • Being virtual and/or automated means the entire environment is far more dynamic; individual OS instances not installed/configured by mere humans
  • 26. The rise of mobile • More Unix machines are running on batteries than are plugged into AC by several orders of magnitude • Talking to one or more radios has replaced physical cables • The obvious: Power consumption and dynamic interface / connection management is important • Less obvious: High-level debugging and telemetry technology become critical to success
  • 27.
  • 28. What does this all mean? • We need to be open to fundamentally new approaches and ruthlessly cull what is no longer demonstrably useful to the 99% • We need to be willing to shamelessly steal^H^H^H^H adopt things that are working elsewhere • We need to take on some big-picture challenges that will appeal to the next generation of hackers (where’s the next mountain?)
  • 29. One Project Idea All OS / App configuration data • We need a lingua franca format yesterday! • Whether it be XML,YAML or JSON, we also need a single API to read / write / abstract away the details of finding config data. • Existing tools /services need to convert their legacy formats into this one and use the same API or the tower of babel will persist
  • 30. Working Example • All OS and app configuration data in OS X and iOS are XML plist files, even GNU emacs and X11.org’s preferences! <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/ PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>SULastCheckTime</key> <date>2014-02-09T02:45:56Z</date> <key>cache_fonts</key> <true/> <key>done_xinit_check</key> <true/> <key>no_auth</key> <false/> <key>nolisten_tcp</key> <true/> </dict> </plist>
  • 31. One Project Idea A centralized event notification system • You just can’t deal with: • Radios powering up and down at odd times • Network configuration changing rapidly • A node changing its identity almost entirely on the fly • Critical system caches needing invalidation … without a centralized way of being able to know about these sorts of events!
  • 32. • notify(3) APIs in OS X / iOS and corresponding notifyd daemon • Send it a SIGUSR1 on OS X and you will see a huge number of notification names and their subscribers in /var/run/notifyd_pid.status - it has become insanely useful! "com.apple.system.lowdiskspace.system" uid=0 gid=0 333 17 32 port ! "com.apple.system.timezone" uid=0 gid=0 333 slot 7 = 1 1018 1 memory 1011 10 port 1011 8 memory 1011 6 port ! "com.apple.system.powermanagement.SystemLoadAdvisory" uid=0 gid=0 333 slot 13 = 19 406 44 port 944 12 port 406 35 memory ! "com.apple.system.config.network_change" uid=0 gid=0 333 slot 39 = 129 190 17 memory 845 28 memory 845 26 memory ! "ids-device-nearby-0FC85E3A-7779-4EAA-AD02-70292707A33C" uid=0 gid=0 333 229 30 port 402 19 port 257 30 port 242 23 port Working Example
  • 33. One Project Idea Service startup and wrangling • /etc/rc.d is quite sophisticated for what it does, but the paint on /etc/rc is obvious • Too many things need to know explicitly about dependencies (when can I start? What has to start before me?) • Power wrangling and automation depend on being able to start and stop services easily and at will
  • 34. Working Example ! • I’m trying really hard not to suggest launchd here (so I won’t) • The idea of registering everything up-front with a broker and then letting IPC / timers / HW events start things from there (in cascade fashion) is still the right architecture • Even the linux die-hards have essentially grasped the necessity of systemd (even though they’re going to hate on it for awhile longer)
  • 35. One Project Idea Telemetry & Remote Debugging • We really need a centralized way of being able to collect data from appliances / mobile devices • The NSA don’t need our help (they already do this upstream) but FreeBSD downstream end- users DO • Debugging the software stack on mobile devices is hard. It’s time for remote debugging support
  • 36. One Project Idea Reference phone / tablet ports • Running on SBCs is excellent for bootstrapping, but there’s no “real world” hardware to support (displays, radios, accelerometers, etc) • Running on hardware you can actually use and carry around validates power / telemetry work • Real Hardware forces you to think about the entire software stack
  • 37. In summary • We need to become more lego-like (and toss those legos we don’t need out of the box) in our architecture • The hardware platforms we choose need to be genuinely relevant in terms of mass appeal • We need to be more willing to learn from those who have gone before us in these emerging markets (BSD has a bit of a “rep” there)
  • 38. FreeBSD 20th Anniversary Party FreeBSD:The future is ours if we want it!