SUSE makes the right technology choices. And we can do the math!
SUSE is a technology leader. And the cool thing about it is that we
don’t have to make the point ourselves. Our competitors are doing it for
us over and over again:
We announced at SUSECon 2013 that we are planning to release a distributed storage product based on Ceph. The announcement of one of our competitors to buy Inktank and embrace Ceph after stating just a few days before that Gluster was superior confirms this message once again.
Or take our early decision to base our own Cloud infrastructure offering, SUSE Cloud, on OpenStack. It allowed us to be the first in the market to provide an OpenStack-based Cloud solution that is backed by enterprise-level support. It was the right decision, as our competitors agree.
A year later David Byte talked about file system leadership: Remember that we were the first to see the potential of XFS as an enterprise file system? If yes, you must be a veteran in the industry. Because XFS file system support was added with SUSE Linux Enterprise Server 8, over a decade ago! Only now Red Hat is following, making XFS the default file system for RHEL 7.
Now for a technology decision in my domain: Systems Management.
This is kind of old news, but as I’m really seeing a pattern here, I figured that I should share it with you and give a bit more background:
A few months ago I ran into this post from Aleš Kozumplík, inviting Fedora 20 users to give DNF at try. DNF is a fork of the Yum package manager that uses libsolv, a library developed and maintained by Michael Schroeder from SUSE a couple of years ago. It is the secret sauce behind making our own zypper package management command the fastest on the planet. And of course it’s also used behind the scenes by the YaST software management module.
In case you aren’t an expert in package managers: They make it easy to install new software on Linux. For example, if you want to use emacs instead of vi, and emacs is not installed on your system, you can add it with a simple “zypper install emacs”. The zypper command will look thinks up in the package repositories, take care of any libraries or other dependencies that emacs may have on your system and install them as well.
Behind the scenes a dependency resolution algorithm is used to find out what the optimal solution is. Because sometimes there is more than one way of solving the problem, like different package versions to choose from.
Michael Schroeder’s libsolv is using a so-called SAT solver. See the Wikipedia article on the math behind it. For those of us who hated mathematics in school, the management summary is that SAT solvers solve “satisfyability problems”, like the ones we have in package managers when resolving the dependencies between software packages, both fast and accurately.
Should DNF fully replace Yum at some point, both major RPM-based distributions would finally be using the same underlying dependency resolution stack. The next step could be implementing libsolv directly in the RPM command. But that’s still a long way off.
So much for now. This is Joachim Werner blogging live from SUSE in Nuremberg, where we have engineers who know their math!