4 ms·
As someone who has administrated both, I’d rather manage 10 Postgres instances than one Jenkins box. No question. Edit: I should expound. Jenkins seems like it
by thatjsguy 8y ago
As someone who has administrated both, I’d rather manage 10 Postgres instances than one Jenkins box. No question.
Edit: I should expound. Jenkins seems like it has a lot of clunky moving parts. It all works, and I’d rather use it than anything else, but it’s kind of like IKEA furniture: you use it because you have to, not necessarily because you want to.
It’s also incredibly difficult to automate. I can configure Postgres with a config file or two and easily use Ansible to get the exact same instance every time. Jenkins has to be dragged into Automation Alley kicking and screaming. I partially blame this on the fact that Jenkins has nontrivial amounts of configuration that’s done via GUI. I approach a long-running Jenkins instance with the same fear and dread I approach a Windows box that hasn’t been restarted in six months. I.e. the box is now a snowflake and trying to make it reproducible and automated is going to be a bad time.
I could go on, but as a devops critter, Postgres wins every time.
- peterwwillis 8y agoJenkins is probably 100 times easier to deploy, configure, operate, and scale than Postgres+whatever, which is a horrifying statement, but still true. If what you have to do is schedule and run arbitrary jobs on any kind of machine, it's no contest. They aren't even related. Postgres is a relational database, and Jenkins is a single Java process that stores flat files on local disk, connects to remote nodes with SSH, and has a thousand plugins. It's like comparing a missile with an airplane. One gets where it needs to go faster and more efficiently, and the other one transports people.
- setquk 8y agoJenkins is one of those things that looks good until you trip over the numerous bugs in it. Such as the slightly terribly leaky implementation that hoses itself once a week, the severely million inodes it decides to gobble up which makes backups a chore etc. Sure it works but from an admin perspective it’s horrid.
- peterwwillis 8y agoIs this really more horrid than having to hire a DBA to maintain, operate and upgrade the cron replacement? I can write a script to identify and remediate bugs in apps. I can't so easily write a script to diagnose badly used database apps and get the developers to rewrite their queries to not blow up the database servers. It's much easier to set up, lock down, and maintain Jenkins than Postgres+whatever, imo. But I guess everything can go to hell depending on how it's used.
- coldtea 8y ago>Is this really more horrid than having to hire a DBA to maintain, operate and upgrade the cron replacement? Only you don't. I'm not sure why you seem afraid of Postgres, but millions of people use it, across tons of companies, and even for personal projects, and it's trivial to setup and run. Oh, and those lots of plugins and stuff you mention? You don't have to use them if you don't need them. They don't even enter the picture at all.
- peterwwillis 8y ago> I'm not sure why you seem afraid of Postgres Because I've managed database applications before? > and it's trivial to setup and run Jenkins is more trivial. It's one process. It doesn't depend on an external high-availability networked data service. Backup is 'cp -r SRC DEST', or a plugin if you're fancy. And, again, Postgres does not replace Jenkins, it's just the storage and querying. It adds a lot of complexity and service availability points of failure that Jenkins does not have.
- user5994461 8y agoLast I checked. The plugin to do backup didn't work. Copying the jenkins directory can be done but restoring it on another fresh install will not work. There are many files that needs to be deleted manually until the instance can start without error.
- setquk 8y ago
- Cieplak 8y agoHere’s a fairly objective metric for comparing the complexity of deploying Jenkins vs Postgres: https://github.com/geerlingguy/ansible-role-jenkins https://github.com/geerlingguy/ansible-role-jenkins https://github.com/geerlingguy/ansible-role-postgresql https://github.com/geerlingguy/ansible-role-postgresql Two ansible roles by the same author, supporting both Centos and Ubuntu. Not hugely different in complexity IMO. Installing Postgres on FreeBSD, though, is little more than pkg install postgresql10-server sysrc postgresql_enable=“YES” service postgresql initdb service postgresql start
- peterwwillis 8y agoI get that they install differently, but that's not the point. The point is that they do very different things, in different ways. Postgres is not a Jenkins replacement. Postgres is storage and querying. Its equivalent on Jenkins is XML files.
- ahoka 8y agoFor me operating means running with no single point of failure with monitoring and upgrading with very little or no outage. Running a postgres HA is hell and we are moving away from it to a cloud managed (postgres) database because it's one of the most complicated and error probe part of are infrastructure. Jenkins sucks because it needs gui interaction on install (or at least it did years ago).
- mmt 8y ago> Running a postgres HA is hell How does Jenkins HA compare? I've only ever used it in the internal/build scenario, never in production.