Developing modules
Modules are the workhorse of Ansible. They provide just enough abstraction so that playbooks can be stated simply and clearly. There are over 100 modules and plugins maintained by the core Ansible development team and they are distributed as part of the ansible-core
package, covering commands, files, package management, source control, system, utilities, and so on. In addition, there are nearly 6,000 other modules maintained by community contributors that expand functionality in many of these categories and many others, such as public cloud providers, databases, networking, and so on, through collections. The real magic happens inside the module's code, which takes in the arguments that are passed to it and works to establish the desired outcome.
Modules in Ansible are the pieces of code that get transported to the remote host to be executed. They can be written in any language that the remote host can execute; however, Ansible provides some very useful shortcuts...