Anyone who has used a DSC pull server(s) knows that you have to associate machines with a GUID in order for the pull process to work. And although generating and configuring GUIDs is a relatively trivial task, the best method for maintaining the proper associations between these GUIDs and their host(s) pairing may be not so trivial. Also, when talking about GUID management it is almost impossible not to discuss configuration management, since all configurations are assigned a node GUID in a pull server setup.
In my short time playing around with DSC I’ve come to the conclusion that you probably don’t want to create a GUID for each endpoint you manage, rather you would proabably want to reduce the number of configurations you support by creating a GUID to represent a particular server function or role. By taking advantage of (and getting a little creative with) composite configurations, you can develop a single composite configuration that contains generic settings that are applicable to all servers and then develop others for specific server role/functions that can be layered on top of the generic one (e.g. Web Servers, SQL Servers, etc.). You can then create configurations that inherit these composite ones, assigning each of these a GUID.
I’d be curious to understand how others manage the GUID associations in their environments. Do you maintain them in a flat file stored on the network somewhere? Do you upload them to a database? Do you use custom Active Directory attributes?
I’d also be curious to understand how others manage their conigurations. Do you create a generic composite config for all servers, role specific composite configurations and then unique configurations that import these composite ones? If so, what is the process you use and how is it working for you and your customer demands?
Thanks in advance for sharing your thoughts.