31

If I use something like Ansible or Puppet, and I only have two servers, is that defeating the purpose of using these products? I thought that if I configured one server, I could use one of these to duplicate it on the other.

41

Nope, it's not defeating the purpose. I, in fact, use Ansible to set up single servers for hobby/side-project use quite frequently. It allows me to keep a version-controlled, repeatable, self-documenting configuration for the server.

  • My understanding is it is like the "old" days. You setup a machine, put all your stuff on it you need, and instead of imaging it, you use the CF software to do it on-the-fly. This means I'd have Docker or whatever installed and configured and then run Ansible. – johnny Nov 30 '16 at 20:46
  • 7
    @johnny Not quite. You determine what you need on the machines then build the plays/roles/recipes which get the machines into that state. One of your Ansible roles should be installing and configuring Docker. You don't actually configure the machines "by hand". Also, Ansible is way lower of a barrier for getting started. All you need is working ssh/python. – jscott Nov 30 '16 at 20:49
  • 5
    Honestly, the overhead of getting started with a CM system when you have just two servers is high, but I believe, worth it. And like jscott said, you make you let the CM system configure your system entirely, and don't install anything by hand if you can help it. – Mark Henderson Nov 30 '16 at 20:53
  • 1
    @MarkHenderson for puppet id agree. for ansible the overhead really is not that high, although if it's the first time you've ever used ansible then yea it could be. – Sirex Nov 30 '16 at 21:28
10

I have to disagree with the current consensus. In no way can it be reasonable to learn any CM system for a pool of 2 servers, unless you simply want an excuse to learn that CM system. The amount of time you spend learning, writing, testing, and applying the config, will definitely exceed the hand built time. If you knew one of those systems, it's a much more reasonable proposition.

  • 7
    "The amount of time you spend learning, writing, testing, and applying the config, will definitely exceed the hand built time." Initially? Yes. When a server breaks, gets compromised, needs to be handed over to someone else to maintain, etc.? Not so much. – ceejayoz Dec 1 '16 at 3:00
  • 9
    While I can't disagree with the time it takes to learn one, you probably have far more time to do that when you have two servers than when you need a CM right now to build 10 more. A CM isn't strictly for managing large pools of resources, it's for easily repeating processes in a consistent way. You're in a much better situation if you fsck something up if you can do a reinstall (or a new install in case of hardware replacement) and run one command to get it back to a known working state. My rule of thumb is if I have to do it more than once, no I don't. I'm doing it in puppet. – yoonix Dec 1 '16 at 3:11
  • 3
    Actually, I think you are not disagreeing - you are just (correctly) pointing out that there is a tradeoff involved - more time for initial setup, but easier management later. – sleske Dec 1 '16 at 8:44
  • 1
    I agree, in fact all too often I see "why don't you use Chef..." without any thought as to the explosion in infrastructure (and hence costs) that will result. The exception is for where the servers are provided by a third party or are imaged based upon an external maintenance level. – mckenzm Dec 2 '16 at 5:19
  • 2
    Think of it another way: if you build those two systems by hand, you would have to document everything you do for initial setup, every change to the system over it's life time so you or someone else in your absence is able to rebuild the system in case of emergency. This takes time, too. Learning basic puppet, chef or ansible isn't hard and does not take a huge amount of time. Keep in mind: you would not need advanced features of any cm for two servers. – Phillip -Zyan K Lee- Stockmann Dec 2 '16 at 17:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.