I am currently working on a project to implement configuration management in our environment. We have over 300 staff and public access machines (we are a public library system). I am in a quandary as to how to organize the configurations. I have gone through several of the tutorials on learn.chef.io, read many web pages, and watched several YouTube videos. I would like to follow best practices, but I can’t seem to figure out what those best practices would be in my situation.
We have the following hierarchy of systems:
- Staff PCs (win7)
- Front-line staff PCs
- Back-end staff PCs
- Admin staff PCs
- IT PCs (win7, win10, macOS)
- Patron PCs
- Internet PCs (win7)
- Catalog PCs (debian)
- Reservation machines (win7)
There is some overlap, so having base cookbooks and wrapper cookbooks seems like a logical choice here. I would also like to have dev, testing, and production environments in this infrastructure.
I guess, I really just need help planning out how this all should go together. Does it seem like avoiding Chef roles would be a good idea in my situation? Should I create cookbooks for each type of machine (front-line staff PC, catalog PC, etc…)? Is berkshelf the best way to go about creating these cookbooks, or are Policyfiles the new goodness?
Any help would be greatly appreciated. I can see a lot of good potential here, and I am learning a lot going through the tutorials and such, but I seem to be stuck in how to proceed at this point.
Thanks in advance,