omnios motivation and design ~ lisa 2012
Post on 20-Sep-2014
5 views
Embed Size (px)
DESCRIPTION
TRANSCRIPT

/
Motivation & Design
Building an Illumos-based OS
Friday, December 14, 12

Hi, I’m @postwait
• Theo Schlossnagle
• Founder of OmniTI
• Avid open source developer
• Illumos contributor
Friday, December 14, 12

Motivation
Galaxy Quest (1999)
Sir Alexander Dane You're just going to have to figure out what it wants.What is its motivation?
Jason Nesmith It's a rock monster.It doesn't have motivation.
Sir Alexander Dane See, that's your problem, Jason.You were never serious about the craft.
Friday, December 14, 12

Where the world is going...
Friday, December 14, 12

Where the world is today...
Friday, December 14, 12

Where the world is today...
Friday, December 14, 12

Where the world is today...
Friday, December 14, 12

Where the world is today...
Friday, December 14, 12

Some brief history
• We ran a lot of Solaris (10 GA⇾u9 + SXCE)
Friday, December 14, 12

Some brief history
• We ran a lot of Solaris (10 GA⇾u9 + SXCE)
• I learned that I like: DTrace, crossbow
Friday, December 14, 12

Some brief history
• We ran a lot of Solaris (10 GA⇾u9 + SXCE)
• I learned that I like: DTrace, crossbow
• I learned that I love: ABI stability, zones
Friday, December 14, 12

Some brief history
• We ran a lot of Solaris (10 GA⇾u9 + SXCE)
• I learned that I like: DTrace, crossbow
• I learned that I love: ABI stability, zones
• I learned that I need: ZFS, open source
Friday, December 14, 12

Some brief history
• We ran a lot of Solaris (10 GA⇾u9 + SXCE)
• I learned that I like: DTrace, crossbow
• I learned that I love: ABI stability, zones
• I learned that I need: ZFS, open source
• The future was bright
Friday, December 14, 12

The Oracle Solar(is) Ecplise: 2013/08/13
http://mail.opensolaris.org/pipermail/opensolaris-discuss/2010-August/059310.html
Friday, December 14, 12

Pouring a 40 for Sun... and moving on.
Friday, December 14, 12

UNIX lives on in many of us
Friday, December 14, 12

The motivation
• We have a lot of customers with“traditional deployments”(servers, not instances)
• We would likely have bought Solaris 11,if I could build it from source.
• We needed a path of least resistance for our Solaris 10 users... that delivered on the promises Sun made.
Friday, December 14, 12

Actual Motivation
It so happensthere is abusinessmodel.
Friday, December 14, 12

Goals: set ‘em
Friday, December 14, 12

Goals
ABI Stability, ZFS,Zones, Crossbow,
DTrace, Open Source
#1
Friday, December 14, 12

Goals
ABI Stability, ZFS,Zones, Crossbow,
DTrace, Open Source
#1
(+ KVM courtesy of Joyent)
Friday, December 14, 12

Goals
Traditionally installable (on disk)via network
#2
Friday, December 14, 12

Goals
Traditionally installable (on disk)via network
#2
kayak
ZFS-based
disk imaging
Friday, December 14, 12

Goals
Bring userlandrecent to prolong life
#3
Friday, December 14, 12

Goals
Bring userlandrecent to prolong life
#3
Sadly, Ill
umos needs
OpenSSL, libxml2 and zlib
Friday, December 14, 12

Goals
Bring userlandrecent to prolong life
#3
gcc 4.6.3(4.4 for kernel)
Sadly, Ill
umos needs
OpenSSL, libxml2 and zlib
(1.0.1)
(2
.9.0)
(1.2.7)
Friday, December 14, 12

Goals
Build all of OmniOSwith core OmniOS
A subjective, “thick” take on JEOS
#4
Friday, December 14, 12

Goals
Build all of OmniOSwith core OmniOS
A subjective, “thick” take on JEOS
#4
Only 111
pieces
of sof
tware
Friday, December 14, 12

Goals
Build all of OmniOSwith core OmniOS
A subjective, “thick” take on JEOS
#4
Only 111
pieces
of sof
tware
“Put that shit in a box and ship it.”
Friday, December 14, 12

Goals
Consistent multiinstruction-set-architecture
(ISA) support
#5
Friday, December 14, 12

Goals
Consistent multiinstruction-set-architecture
(ISA) support
#5
Ship both32-bit & 64-bit libsconsistently
Friday, December 14, 12

Goals
Establish arigorous
major release cycle(every 6 months)
#6
Friday, December 14, 12

Goals
Establish arigorous
major release cycle(every 6 months)
#62012-04 r151002....
2012-10 r151004
Friday, December 14, 12

Goals
Establish anon-disruptive
minor update cycle(every week)
#7
Friday, December 14, 12

Goals
Establish anon-disruptive
minor update cycle(every week)
#72012-04.2 r151002a2012-04.4 r151002b
.
.
.
.2012-10.2 r151002z
Friday, December 14, 12

Goals
Commercial support formission-criticality
and/orcompliance requirements
#8
Friday, December 14, 12

Goals
Commercial support formission-criticality
and/orcompliance requirements
#8
Friday, December 14, 12

Kayak Installs Simple Stupid
• Kayak (http://omnios.omniti.com/browse.php/core/kayak)
• builds an altroot install
• zfs sends it (to a file, then over HTTP)
• makes a miniroot (served over TFTP)
• written in shell (sysadmins rejoice)
• tiny python web server (not required)
Friday, December 14, 12

Release Cycles
r151002a
Friday, December 14, 12

Release Cycles
r151002a r151003
Friday, December 14, 12

Release Cycles
r151002a r151003
irregularspasmodic
change
Friday, December 14, 12

Release Cycles
r151002a r151003
irregularspasmodic
change
r151002c
Friday, December 14, 12

Release Cycles
r151002a r151003
irregularspasmodic
change
r151002c
r151002d
Friday, December 14, 12

Release Cycles
r151002a r151003
irregularspasmodic
change
r151002c
r151002d 1 wee
k
Friday, December 14, 12

Release Cycles
r151002a r151003
irregularspasmodic
change
r151002z
r151002c
r151002d 1 wee
k
Friday, December 14, 12

Release Cycles
r151002a r151003
irregularspasmodic
change
freeze
r151002z
r151002c
r151002d 1 wee
k
Friday, December 14, 12

Release Cycles
r151002a r151003
irregularspasmodic
change
freeze
r151002z
r151002c
r151002d
r151004a
1 wee
k
Friday, December 14, 12

Release Cycles
r151002a r151003
irregularspasmodic
change
freeze
r151002z
r151002c
r151002d
r151004a
26 weeks
1 wee
k
Friday, December 14, 12

Release Cycles
r151002a r151003 r151005
irregularspasmodic
change
freeze
r151002z
r151002c
r151002d
r151004a
26 weeks
1 wee
k
Friday, December 14, 12

Release Cycles
r151002a r151003 r151005
irregularspasmodic
change
freeze
r151002z
r151002c
r151002d
r151004a
26 weeks
1 wee
k irregularspasmodic
change
Friday, December 14, 12

Release Cycles
r151002a r151003 r151005
irregularspasmodic
change
freeze
r151004b
r151002z
r151002c
r151002d
r151004a
26 weeks
1 wee
k irregularspasmodic
change
Friday, December 14, 12

Release Cycles
r151002a r151003 r151005
irregularspasmodic
change
freeze
r151004b
r151004c
r151002z
r151002c
r151002d
r151004a
26 weeks
1 wee
k irregularspasmodic
change
Friday, December 14, 12

Release Cycles
r151002a r151003 r151005
irregularspasmodic
change
freeze
r151004b
r151004c
r151004e
r151002z
r151002c
r151002d
r151004a
26 weeks
1 wee
k irregularspasmodic
change
Friday, December 14, 12

Release Cycles
r151002a r151003 r151005
irregularspasmodic
change
freeze
r151004b
r151004c
r151004e
r151004z r151002z
r151002c
r151002d
r151004a
26 weeks
1 wee
k irregularspasmodic
change
Friday, December 14, 12

Release Cycles
r151002a r151003 r151005
irregularspasmodic
change
freeze
r151004b
r151004c
r151004e
r151004z r151002z
r151002c
r151002d
r151004a
26 weeks
1 wee
k irregularspasmodic
change
freeze
Friday, December 14, 12

Release Cycles
r151002a r151003 r151005
irregularspasmodic
change
freeze
r151004b
r151004c
r151004e
r151004z r151002z
r151002c
r151002d
r151004a
26 weeks
1 wee
k irregularspasmodic
change
freeze
Friday, December 14, 12

Available on EC2
Friday, December 14, 12

Operating System Holy War Outcomes
Friday, December 14, 12

Operating System Holy War Outcomes
Editor: vi (naturally)
Friday, December 14, 12

Operating System Holy War Outcomes
Editor: vi (naturally)
Filesystem: ZFS (obviously)
Friday, December 14, 12

Operating System Holy War Outcomes
Editor: vi (naturally)
Filesystem: ZFS (obviously)
Packaging: IPS (WTF?!)
Friday, December 14, 12

IPS Controversy
✓IPS sucks (yes, like the rest)
✓IPS made new problems to solve
✓IPS is uncommon
Friday, December 14, 12

IPS Justification
• IPS builds are part of Illumos
• ipkg zone is something we use
• I’m disaffected:"It's packaging other people's softwarethat makes system administrators violent people"- http://www.youtube.com/watch?v=ieCTIPG43no
• Avoid “solutions:”I’m looking at you facets
• Minimal use of incorporations
Friday, December 14, 12

IPS niceties
• IPS is a network resource
• pkgsend is tool, not a framework
• All HTTP micro assets (cacheable)
• Handles all the BE magic
• Without the “features” it just works
Friday, December 14, 12

What we learned.
• We built packages for Solaris 10...and for Linux ...and for FreeBSD
• Because we’re a snowflake...just like very one else.
• Rule: “keep your shit to yourself.”
Friday, December 14, 12

Minimal: not useful
• OmniOS only ships “core”
• no web server. no database.no proxy cache. no PHP. no Ruby.no bind.
• we ship perl, use your own.
• we ship python, use your own.
Friday, December 14, 12

Minimal: awesome-sauce
We use OmniOS...
like a layered cake
Publisher URL
ms.omniti.com http://pkg.omniti.com/omniti-ms/
perl.omniti.com http://pkg.omniti.com/omniti-perl/
Friday, December 14, 12

Distro Construction Kit
OmniOS as a base for buildingmore comprehensiveIllumos distributions
Friday, December 14, 12

Adieu
• Thanks
• Go get it as Vagrant box, ISO, USB, or AMIhttp://omnios.omniti.com/wiki.php/Installation
http://www.flickr.com/photos/theaucitron/5810163712http://www.flickr.com/photos/jefflippold/7237388878/http://www.flickr.com/photos/angietorres/4564135455/http://www.flickr.com/photos/adavey/2102499200/http://www.flickr.com/photos/[email protected]/6551534889/http://www.flickr.com/photos/[email protected]/8085629858/http://www.flickr.com/photos/marc-flores/6629287755/
Friday, December 14, 12