It's crazy that we are over 15 years removed from when illumos officially started as a project, shortly after Oracle took over Sun and killed off OpenSolaris.
I was on the group call that made the announcement in 2010 and I'm impressed that illumos is still going strong.
Fun fact, it is the only open-source OS that is proper UNIX (SVR4), not Unix-like, like the BSDs or Linux.
I really enjoy working with illumos on my home server. I run SmartOS[1] and it's zone management is great and the webui they've been working on is pretty cool too.
I like Solaris(well, illumos/Tribblix etc) but when I install something I install a version that includes the LX (Linux) zones (container) functionality, so that I can quickly install anything prepackaged for Linux use. Sadly there are some things that take more work to get installed on Solaris.
It was the future OS most fails to understand. The ZFS/IPS integration was the first modern step aside of declarative distros. A thing 99% of people still fails to understand refusing the concept of storage system/package system/installer interdependence.
I submit that the problem was Solaris 9 just being massively overtaken by desktop Linux in every way - easier to install, faster, simpler to patch, better GUI, more software available. Solaris 10 was too little too late; it already had to compete with mature Linux offerings that had a greater mindshare, and the excellent features like Zones were too far ahead of their time (and lacked the centralized store of downloadable Zone-prepackaged apps that is really the reason for Docker's success).
Purity doesn't matter in practice - especially in a world where OS installations are increasingly ephemeral and ideally immutable.
I always hear DTrace is awesome, but have never used it. And seem to have gotten by just fine... what am I actually missing?
ZFS, on the other hand, was so good that it has outlived Solaris itself and is at the core of e.g. TrueNAS as a commercial product.
Dtrace essentially allows two things. The first is exploring a live system, similar to being in a debugger but without its overhead. The other is monitoring; it's possible to notice that something is wrong earlier and with less overhead than monitoring logs and testing services.
Both aren't strictly necessary/much used in practice for various reasons, but depending on what you're doing, it's very handy to have. In a way similar to ZFS vs Stratis: the first ready to go, well-made, convenient, while the second is an absurd mess made by people who don't understand operations and think they know better from their development machine.
On Solaris... In my opinion, the real problem is less about Slowlaris and more about having chosen to target the élite for so long instead of targeting students, who are the future technicians, managers, etc.
GNU/Linux succeeded IMVHO because it was aimed at this audience, which is much broader, with many who weren't interested, but it's also the group that shapes 100% of every future generation of decision-makers and technicians. When SUN realized this, first with SXDE/CE and then OpenIndiana, it was, yes, damn late.
Not at hand unfortunately, because IPS was introduced with OpenIndiana (the IllumOS base) which objectively didn't last long enough to have time for serious documentation.
The super-basic description is that the package manager, IPS (Image Package System), is somewhat integrated with storage, enough to allow creating new BEs (Boot Environments), which are ZFS clones of the current system. On disk, these only consume the differences compared to the original system, are bootable directly from GRUB, and can even be soft-booted if needed (restarting just the userland without a full reboot). It allows updating in a clone, so if something goes wrong, you can reboot into the old version (not so easy if databases are involved, but let's say it's generally doable).
The installer is similarly "integrated" but at least back then it was in a very rough, early state, a fork of some Debian GUI installer I don't remember the name (prodigy maybe?) that never went mainstream, called Cayman in OpenSolaris. The idea was to deploy a system as a ZFS volume in the pool with some scripting to "link the root volume to the bootloader."
The future could have led to packages like mini-ZFS filesystems mountable/composable/exposable in the ZPL to virtually build an FHS-compliant deployment but operate entirely at the zfs blocks level. An immutable system if desired, ZFS-diffable if desired, cloneable, rollbackable, updatable incrementally so hyper fast and with low overhead etc. The project unfortunately fell apart before getting there, but if it had, deploying a new host would have just been a `zfs send` of a set of volumes. Essentially what NixOS/NixOps/Disnix does, but ideally without the complexity of the /nix/store.
My understanding is that this is part of Oxide's secret sauce.
Is there much traction with this elsewhere? I worked at SunOS and Solaris shops in the past, and remember telling my boss that this new Linux thing was going places and she dismissed it as nonsense.
Oxide uses illumos under the covers That's in no small part due to the composition of the early team--but we have benefitted tremendously from features (ZFS, SMF, FMA, Zones, bhyve, etc.) and observability infrastructure (DTrace, mdb, libproc, etc.) folks on the team have worked on for decades.
About ten years ago I worked on adding support for illumos/opensolaris/openindiana to some stuff and even back then all things solaris seemed basically dead already (despite the open* projects just being a few years old then). Curious to see these come up from time to time, and even more curious to see them still releasing new versions. These always seemed simultaneously ahead and behind the times.
I still have my OpenSolaris CD from Sun https://files.catbox.moe/f94s9j.png
Looking back the 2000s almost feels like an alternate reality
I ran it for a while on my ultra 24 until I just installed linux on it. But it was interesting dipping my toe in the solaris world
Still have a couple original Ubuntu CDs floating around the house after 2 subsequent moves.
It's crazy that we are over 15 years removed from when illumos officially started as a project, shortly after Oracle took over Sun and killed off OpenSolaris.
I was on the group call that made the announcement in 2010 and I'm impressed that illumos is still going strong.
Fun fact, it is the only open-source OS that is proper UNIX (SVR4), not Unix-like, like the BSDs or Linux.
I really enjoy working with illumos on my home server. I run SmartOS[1] and it's zone management is great and the webui they've been working on is pretty cool too.
1. https://www.tritondatacenter.com/smartos
What does your setup look like? What kinds of workloads are you using it for?
I like Solaris(well, illumos/Tribblix etc) but when I install something I install a version that includes the LX (Linux) zones (container) functionality, so that I can quickly install anything prepackaged for Linux use. Sadly there are some things that take more work to get installed on Solaris.
Blast from the past! I think it was something like 15 years ago when I had an OpenIndiana vm running NexentaStor to control an HP MSA P2000 SAN.
I am not nostalgic for those days.
remember when macOS had time machine but opensolaris really had time machine?
It was the future OS most fails to understand. The ZFS/IPS integration was the first modern step aside of declarative distros. A thing 99% of people still fails to understand refusing the concept of storage system/package system/installer interdependence.
Zones, DTrace was the rest.
I submit that the problem was Solaris 9 just being massively overtaken by desktop Linux in every way - easier to install, faster, simpler to patch, better GUI, more software available. Solaris 10 was too little too late; it already had to compete with mature Linux offerings that had a greater mindshare, and the excellent features like Zones were too far ahead of their time (and lacked the centralized store of downloadable Zone-prepackaged apps that is really the reason for Docker's success).
Purity doesn't matter in practice - especially in a world where OS installations are increasingly ephemeral and ideally immutable.
I always hear DTrace is awesome, but have never used it. And seem to have gotten by just fine... what am I actually missing?
ZFS, on the other hand, was so good that it has outlived Solaris itself and is at the core of e.g. TrueNAS as a commercial product.
Dtrace essentially allows two things. The first is exploring a live system, similar to being in a debugger but without its overhead. The other is monitoring; it's possible to notice that something is wrong earlier and with less overhead than monitoring logs and testing services.
Both aren't strictly necessary/much used in practice for various reasons, but depending on what you're doing, it's very handy to have. In a way similar to ZFS vs Stratis: the first ready to go, well-made, convenient, while the second is an absurd mess made by people who don't understand operations and think they know better from their development machine.
On Solaris... In my opinion, the real problem is less about Slowlaris and more about having chosen to target the élite for so long instead of targeting students, who are the future technicians, managers, etc.
GNU/Linux succeeded IMVHO because it was aimed at this audience, which is much broader, with many who weren't interested, but it's also the group that shapes 100% of every future generation of decision-makers and technicians. When SUN realized this, first with SXDE/CE and then OpenIndiana, it was, yes, damn late.
Do you have any recommended references to understand that concept and how it plays out in Solaris?
I find myself in the middle of what I imagine are similar design challenges in software packaging, storage, integration, and deployment.
Not at hand unfortunately, because IPS was introduced with OpenIndiana (the IllumOS base) which objectively didn't last long enough to have time for serious documentation.
The super-basic description is that the package manager, IPS (Image Package System), is somewhat integrated with storage, enough to allow creating new BEs (Boot Environments), which are ZFS clones of the current system. On disk, these only consume the differences compared to the original system, are bootable directly from GRUB, and can even be soft-booted if needed (restarting just the userland without a full reboot). It allows updating in a clone, so if something goes wrong, you can reboot into the old version (not so easy if databases are involved, but let's say it's generally doable).
The installer is similarly "integrated" but at least back then it was in a very rough, early state, a fork of some Debian GUI installer I don't remember the name (prodigy maybe?) that never went mainstream, called Cayman in OpenSolaris. The idea was to deploy a system as a ZFS volume in the pool with some scripting to "link the root volume to the bootloader."
The future could have led to packages like mini-ZFS filesystems mountable/composable/exposable in the ZPL to virtually build an FHS-compliant deployment but operate entirely at the zfs blocks level. An immutable system if desired, ZFS-diffable if desired, cloneable, rollbackable, updatable incrementally so hyper fast and with low overhead etc. The project unfortunately fell apart before getting there, but if it had, deploying a new host would have just been a `zfs send` of a set of volumes. Essentially what NixOS/NixOps/Disnix does, but ideally without the complexity of the /nix/store.
My understanding is that this is part of Oxide's secret sauce.
Is there much traction with this elsewhere? I worked at SunOS and Solaris shops in the past, and remember telling my boss that this new Linux thing was going places and she dismissed it as nonsense.
Oxide uses illumos under the covers That's in no small part due to the composition of the early team--but we have benefitted tremendously from features (ZFS, SMF, FMA, Zones, bhyve, etc.) and observability infrastructure (DTrace, mdb, libproc, etc.) folks on the team have worked on for decades.
About ten years ago I worked on adding support for illumos/opensolaris/openindiana to some stuff and even back then all things solaris seemed basically dead already (despite the open* projects just being a few years old then). Curious to see these come up from time to time, and even more curious to see them still releasing new versions. These always seemed simultaneously ahead and behind the times.