5 ms·
To anonymous coward, who downvoted me: if your large and "complex" application will be integrated into distro, so you will be able to apt/yum/dnf install it, wi
by lisivka 11y ago
To anonymous coward, who downvoted me: if your large and "complex" application will be integrated into distro, so you will be able to apt/yum/dnf install it, will you still need your custom installation scripts?
- jtreminio 11y ago`apt-get install nginx` only installs the package and some default configurations. You still need to manage the actual config files yourself. What will you use? Bash? Python? Perl? Why not something like Puppet that keeps track of changes it needs to apply and has many useful features on top of it? What happens if you write your installation scripts to use Ubuntu, but the order comes from high up to move to CentOS/RHEL? Did you write your scripts to be distro-agnostic? Because Puppet's `package` is.
- lisivka 11y agoActual configuration can be installed using `apt-get install ngingx-site-config-prod`.
- sergiosgc 11y agoNow, try adapting that approach to do Blue/Green deployments [1]. Imagine how that is done using configuration managers. Can you see the advantage now? [1] http://martinfowler.com/bliki/BlueGreenDeployment.html http://martinfowler.com/bliki/BlueGreenDeployment.html
- lisivka 11y agoI use it. Blue/Green deployments is one of main reasons to use package managers, because with package manager I can prove that two deployments are identical, including configuration files, which are also deployed using package manager. It was primary reason why we switched from configuration scripts to packages for provisioning and configuration.
- sergiosgc 11y agoExcept that you'll need to reconfigure parts of the stack post-installation. You consider that an upgrade of the configuration "package"? You're reinventing the wheel. Doable, not efficient.
- lisivka 11y agoWhy I need to reconfigure parts of the stack in first place? I am devops, so these things are automated. In general, plan your changes ahead of time, test and automate them at staging servers, prove correctness of changes, and then deploy to production. Never do anything by hands (or by configuration tools) at production servers.
- lisivka 11y agoBTW: So nginx developers are using Puppet to install nginx? Because Puppet package is platform agnostic and we have nginx at every platform. (Joke).
- jtreminio 11y agoI would hope that they have some sort of automation set up to test their code on multiple distros, yes.
- lisivka 11y agoYou are misunderstands relationships between authors, packagers and users. Authors pays by code, packagers pays by maintenance, users pays by testing and with bug reports and patches. Testing of nginx at all distros and in all usage cases is not responsibility of nginx team. If you disagree, then demand your money back.
- scurvy 11y agoEven if you write RPM/DEB's to install all of your config files, you'll need something to trigger installation after you've updated your packages. How are you going to do that? SSH to every server? That doesn't scale very well. This is where other tools come into play.
- lisivka 11y agoOne-time service and reboot of host or start service manually from kick-start script.
- brazzledazzle 11y agoReading this thread makes me feel like I'm looking at a conversation between sysadmins from now and one from the past. I'm not saying this to be dismissive though. It's possible there may be merit to what they're describing, maybe the emperor really isn't wearing any clothes. It just takes me back and feels weird to read.
- lisivka 11y agoIf you are old enough, you should remember times when we need to enter network configuration manually, using network configuration TOOL: netmask, IP address, router IP, DNS servers, domain. Then DHCP SERVICE is invented: DHCP client asks DHCP server for that information and applies it automagically: it just works, for any device, now and in future, without human. Ops tells me that they are using configuration TOOLs. I tells them that I am DevOps, so I use SERVICEs and SCRIPTs (clients) instead. They work automagically, without need for me to reconfigure servers manually. Am I from the past?
- brazzledazzle 11y agoWould you be opposed to publishing your architecture on github with minimal examples? The examples would need to be enough for someone to test out and verify for themselves. I think that would help people understand and contrast this against other solutions.