It’s good to make sure we understand the world in which DSC evolves, so I thought of writing this post below. Unfortunately, the future is not something we can predict, so this is just a personal opinion, which I hope you’ll find useful.
Some like to classify different configuration management models, but I prefer to show them as an evolution of similar principles, that happened with the evolution of technology and principles.
|Changes and abstractions are GUI-Driven
|Code, Deployment Scripts, Imperative, Transformations assume a starting state
|Declarative Intent, Change Pipeline, Idempotency, drift management, Operation Validation
|Artefact everything, Immutability, microservices
It might not be a popular opinion, but I don’t think Configuration Management as we know it—Managing configuration drift—will be prevalent in the future. It is not relevant for ephemeral infrastructure, or serverless. However many principles, such as artifact managements that are managed in release pipelines, are transferable to other management models, and are valuable lessons for the future.
That said, not all workload are cloud-native ready, and while the companies transform or give way to competition, many administrators and systems engineer will benefit from improving their practices when it comes to managing VM. Let’s be honest here, although we strongly recommend companies to really invest in their transformation to stay competitive, we know it will take a while—and a duration no-one can predict—for all industry to change decades of practices and habits.
The DSC ecosystem is a great option when you manage a great chunk of Windows systems (not exclusively), whether on-prem or in a cloud environment, and even more when you’re transitioning to a cloud model or having a hybrid approach.
The solution you use, however, may differ greatly depending on your team’s preference, skills, need, and business constraints.
If you need to take away anything from this article is that the clock is ticking, and both at a personal and company level you need to work towards the future.
Being bogged down in old ways because one tool may not be doing things you need on paper is foolish, we all know that in practice any solution will not do things we initially thought it would. Just start now, adapt, and learn!