I’m curious what the DSC “tipping point” is… I’m currently rebuilding / updating our Microsoft Server infrastructure, and am very interested in DSC. A few years ago I began working with Powershell very frequently, and DSC aligns much better with the way I think, and the way I want our infrastructure to look. I would much rather type “code” than click my way through wizards. I’m used to working with networking gear (mostly Cisco) and being able to “show running-config” and get the whole story is a major advantage.
I was going through the motions of learning how to “DSC-ify” my infrastructure. I picked up The DSC Book, and was struck by the statement under “Cattle, Not Pets” that “DSC is meant for scale. If you’re managing five servers, DSC is going to be irritating. DSC is useful when you need to manage a hundred servers”. Right now, I only have a five or ten servers, but that could grow to fifteen or twenty by the time we’re done with this update cycle. I’m sure we will need more as we continue to grow.
Clearly I don’t have the hundreds or thousands of servers mentioned in the book, and doubt I’ll ever manage hundreds at my current company. However, I would much rather make the DSC conversion now than have to redo this work later.
Finally, the question. In your expert opinion, am I actually going to be irritated with DSC if I do this now? Am I going to kick myself later for not jumping in now? Should I continue using Powershell and RSAT and keep my finger on the pulse of DSC in case it becomes necessary in the future?
I wish I had a crystal ball, but I haven’t found the module for that yet.
Wow, what a good question.
I would say this: Begin as you mean to proceed.
When I was at Bell Atlantic Network Integration – my first big-LAN job – I oversaw a migration from NetWare 3.x to Windows NT 4. We started by standing up a PDC, which also became our main file server, replacing an equivalent NetWare box. We then started in on our numerous cc:mail mail servers, consolidating them into a single Exchange Server (v5.5, IIRC). At no point was “systems management” a concern; we had three or four servers and we sat right outside the data center room.
Fast forward a bit and we had over a dozen Windows servers, running everything from SQL Server (on a DEC Alpha cluster, no less) to Exchange, an early version of Sharepoint, and more, even including a RightFax server and a file server connected to a CD tower. Systems management was a problem at that point, because we had too many servers for our tiny team to keep track of. We’d also started taking on client management via System Preferences, which was sucking a lot of time (2,000-ish clients, I think, running Win98). By then, backing ourselves into systems management was difficult and risky. It meant “touching” production servers, which was always deadly. And it meant changing all of our tools and processes, which created a lot of room for error.
Switching over was painful.
And I guess that’s my point. If you’ll only ever have 5 servers, DSC is going to seem like abject overkill. But if you might someday have 20, you’re going to be glad you invested in all the heavy lifting when you only had 5, because standing up those additional 15 will be easier, faster, and less dangerous. You’re just going to have to remember that you’re engaging in a lot of up-front, speculative investment, so that when DSC gets frustrating you remember what the goal is.
Begin as you mean to proceed.