Developing Puppet code The Puppet languageYou'll use Puppet's declarative language to describe the desired state of your system. ModulesModules manage a specific technology in your infrastructure and serve as the basic building blocks of Puppet desired state management. Designing system configs: roles and profilesYour typical goal with Puppet is to build complete system configurations, which manage all of the software, services, and configuration that you care about on a given system. The roles and profiles method can help keep complexity under control and make your code more reusable, reconfigurable, and refactorable. Puppet ForgePuppet Forge is a collection of modules and how-to guides developed by Puppet and its community. Puppet Development Kit (PDK)You can write your own Puppet code and modules using Puppet Development Kit (PDK), which is a framework to successfully build, test and validate your modules. Puppet VSCode extensionPuppet has an extension for Visual Studio Code (VSCode) — Microsoft’s cross-platform source-code editor. PowerShell DSC ResourcesDesired State Configuration (DSC) is a configuration framework in PowerShell that enables you to manage your infrastructure with configuration as code.