6

I want the ability to setup new servers for dev/testing/prod very easily. The reasons for being able to setup a new dev VM is obvious, but for prod my concern is adding a new production server/migrating to a new server.

I assume a traditional backup solution won't work as hardware may be different so the binaries/config might be different.

I want to get experience with puppet anyways, so I was thinking about creating a manifest that would setup my users, install Postgres, Nginx, PHP-FPM, etc, and configure them the way I specify. Then I could install puppet on a new server, copy down my manifest and apply it locally. This would make keeping my server configs in sync easier too.

Is there a better approach I'm not aware of, and does my approach have any pitfalls?

ewwhite
  • 194,921
  • 91
  • 434
  • 799
Brandon Wamboldt
  • 426
  • 5
  • 17

1 Answers1

6

You can use the Blueprint tool to reverse-engineer a running server.

It can generate a Puppet module, a Chef cookbook or even a set of shell scripts to reproduce a system's configuration.

ewwhite
  • 194,921
  • 91
  • 434
  • 799