Live data from Hacker News

The sad state of sysadmin in the age of containers (2015)

vitavonni.de

261–270 of 324 posts

Re: The sad state of sysadmin in the age of containers (2015)

#261
Amen. I avoid any container-based or blindly 'curl |sudo' install (the latter only after manual inspection of such a script).

Apps which only offer containers are untrustworthy black boxes. And it indicates devs who are too ignorant and/or lazy to make even basic efforts at distribution-neutral or portable code.

Gentoo and Funtoo keep devs honest to some extent, as packages must be built, not just slurped down in whatever alien form the project decided to use.

Re: The sad state of sysadmin in the age of containers (2015)

#262
post #6

Terrible article IMO. Hadoop is an awful mess, but it has nothing to do with Docker, which is simplistic in comparison. "Ever tried to security update a container?" Yes, I have! In fact you can maintain patch compliance in a container pretty much the same way you'd maintain a VM or bare metal Linux installation!

I suspect Hadoop was just used as an example. For another, I would suggest Concourse (build/CI tool). When I tried it, it was docker images for the default install, vague instructions, and a dev forum which seemed rather hostile to anyone asking for support to build or configure outside of containers.

Might have changed since then, but a big turn off.

Re: The sad state of sysadmin in the age of containers (2015)

#263
post #202

Earlier quoted context omitted.

>how do you ensure that a build is reproducible if you have no control on which required dependencies are downloaded by a build system which requires root access? By having control over which required dependencies are downloaded. As Nix does. Why would you settle for not solving that problem? Sorry to hear you don't think my comment adds to the discussion, but I'd disagree

> By having control over which required dependencies are downloaded. Again, Nix adds nothing to the discussion. The problem stated by the OP was caused by the (broken) way that the custom build system of a specific package was designed to work, which failed to adhere to the standard practices enforced by Debian's packaging process. If the packagers of said software project followed Debian's practices then the problem…

It feels like you're being unnecessarily hostile, here. He didn't address your specific problem as stated, but he did add to the discussion.

I don't think it's fair to say that Nix is 'just another package manager'. It solves many of the stated problems with distro package managers (overlapping versions, user-specific packages, strict build environment rules), and provides many of the benefits of Docker and it's ilk (perfectly reproduceable environments for packages to run, including dependencies that don't fit well into traditional package managers, like JARs). Because it doesn't rely on the standard POSIX filesystem layout, it runs happily on any Linux or OSX system, alongside whatever package manager your system uses.

If people started using Nix recipies instead of Docker or janky bash scripts for deployment of Hadoop and other complex software, most of this article's complaints would disappear. And Nix is, if anything, better from a sysadmin point of view than apt-style packaging systems. It makes a fine distro package manager (see: NixOS).

Re: The sad state of sysadmin in the age of containers (2015)

#265
"Consider for example Hadoop. Nobody seems to know how to build Hadoop from scratch. It’s an incredible mess of dependencies, version requirements and build tools." And that's exactly what's wrong with a half of the software industry. Some people even take pride in thinking that having dependency hell is a good thing. A lot of build tools look like they are created by aliens to aliens with little thought of how the end user would use it. And if someone dares to say how crappy the whole thing is, they get dismissed for not being smart enough or simply lack dedication to spend unlimited hours trying to build some 500 line code.

Re: The sad state of sysadmin in the age of containers (2015)

#266
post #77

You've got to look at this in a context where platform package managers like apt are simultaneously 1) platform-specific 2) jealous, insisting that every language has to conform to their way of doing things and 3) fundamentally not very good, having very limited ability to do things like install packages for a single user or install multiple versions of the same package. Platform package managers like maven have been…

But platform managers like maven are 1) language-specific, 2) jealous, insisting that every OS and extra-linguistic dependency has to conform to their way of doing things, and 3) fundamentally, not very good, particularly with regard to multiple versions of the same package (technically, OSGi could do that...), repeatable builds, and the desire for do-what-I-mean behavior.

Platform managers have been successful because a) they have the same interface across operating systems, b) they're the only game in town if you want to work in that language, and c) everybody loves to re-write existing software in their favorite new language.

Re: The sad state of sysadmin in the age of containers (2015)

#267
post #144
post #19

I recently had a similar discussion with people using npm for building a CSS framework library. I tried to explain the concept of getting a pre-downloaded tarball and using "make" (or similar) to produce target artifacts from source files in a deterministic, repeatable and reliable manner, without relying on any third-party servers being available and without pulling in dependencies that might have changed. It seems…

> without relying on any third-party servers being available and without pulling in dependencies that might have changed. There are two different issues here: 1. Not pulling in changed dependencies. This is what "lock files" are for: To limit builds to known version of every dependency. npm was terrible about this for a long time. Most other language package managers are better. 2. Not relying on third party servers…

npm has only gotten worse about lockfiles over time, not better. I wonder out loud some times if they know what the word 'lock' means.

If yarn would fix a particular bug that blocks our workflow I'd be burning political capital at work to get us off of npm as fast as humanly possible.

As to proxies, we have something misconfigured with ours, such that occasionally it gets latest of half of the React or Babel ecosystem and latest-1 of the other half, resulting in dependencies that can't be resolved for a few hours when they increment a minor version somewhere.

Re: The sad state of sysadmin in the age of containers (2015)

#268
post #144

Earlier quoted context omitted.

> without relying on any third-party servers being available and without pulling in dependencies that might have changed. There are two different issues here: 1. Not pulling in changed dependencies. This is what "lock files" are for: To limit builds to known version of every dependency. npm was terrible about this for a long time. Most other language package managers are better. 2. Not relying on third party servers…

> npm was terrible about this for a long time. That's putting it lightly. To me "terrible" would mean they just didn't support it, "batshit insane" means they supported lock files but ignored them every time you ran npm install. My favorite comment from this stackoverflow post: https://stackoverflow.com/questions/45022048/why-does-npm-in... "Why would you expect something called package lock to lock the packages? Pac…

I think one of the scenes with Humpty Dumpty could be an appropriate allusion as well.

Re: The sad state of sysadmin in the age of containers (2015)

#269
post #162

Earlier quoted context omitted.

It is way bigger then security, and hits upon quality of life and reliability. Without a deterministic build I don't know what I check in actually works across environment, or if the deployment artifact works.

Without a deterministic build I don't know what I check in actually works across environment, or if the deployment artifact works. Actually that's mostly a given in JS land. Many bright minds worked hard for it to be this level of idiot-proof.

I recently discovered that in node 10.10 (IIRC), you need oracledb I may be a better idiot.

Re: The sad state of sysadmin in the age of containers (2015)

#270
post #263

Earlier quoted context omitted.

> By having control over which required dependencies are downloaded. Again, Nix adds nothing to the discussion. The problem stated by the OP was caused by the (broken) way that the custom build system of a specific package was designed to work, which failed to adhere to the standard practices enforced by Debian's packaging process. If the packagers of said software project followed Debian's practices then the problem…

It feels like you're being unnecessarily hostile, here. He didn't address your specific problem as stated, but he did add to the discussion. I don't think it's fair to say that Nix is 'just another package manager'. It solves many of the stated problems with distro package managers (overlapping versions, user-specific packages, strict build environment rules), and provides many of the benefits of Docker and it's ilk…

> It feels like you're being unnecessarily hostile, here. He didn't address your specific problem as stated, but he did add to the discussion.

You're right, sorry for the tone. The thing is, it sounded an awful lot like a blatant attempt at derailing the discussion by shoehorning span to promote a build tool. Nix does not solve anything, particularly as it was being proposed as a solution to a problem that plain old Debian packages do not have. So if Nix solves nothing and Nix adds nothing to the discussion then why waste everyone's time by adding noise by selling a tool that does and solves nothing wrt plain old Debian packaging?

> If people started using Nix recipies instead of Docker or janky bash scripts for deployment of Hadoop and other complex software, most of this article's complaints would disappear.

...or simply build a plain old Debian package?

Is it that hard to simply follow the happy path of packaging for Debian?

Why is suddenly Nix the only option on the table, specially as it brings absolutely nothing to it wrt what plain old Debian packages already provide for decades now?

Post reply on HN