Similar to how Linux distributions have package management tools and a repository of packages, Windows has long had built-in packages that come with the OS. Both desktop and server releases of Windows have installable components out of the box, with servers having more than desktops.
In Windows parlance, roles are similar to Chef's notion of roles—a collection of software packages and services that work together to provide a certain set of functionality such as web application services or DNS. Multiple services can be required to provide a particular role on a Windows server. However, because these roles are managed as part of Windows, the level of control that you have over them is somewhat limited through Chef. You can enable or disable them through the windows_feature
resource, but Windows (instead of Chef) determines what gets installed.
Features, on the other hand, are more like packages; they provide functionality that may not be critical to participating...