# How does Ansible work on a technical level?

**URL:** <https://forum.ansible.com/t/how-does-ansible-work-on-a-technical-level/38200>\
**Category:** Ansible Project\
**Created:** [July 7, 2023, 6:58am UTC](https://forum.ansible.com/t/how-does-ansible-work-on-a-technical-level/38200 "2023-07-07T06:58:01Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Joel\_Lambertz](https://avatars.discourse-cdn.com/v4/letter/j/9de053/32.png) [@Joel\_Lambertz](https://forum.ansible.com/u/Joel_Lambertz)\
**Post date:** [July 7, 2023, 6:58am UTC](https://forum.ansible.com/t/how-does-ansible-work-on-a-technical-level/38200/1 "2023-07-07T06:58:01Z")

</div>

For example when i run a playbook in ansible with modules, how does ansible interpret these modules on the target system? I hope you understand my Question and have a good day!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/ansible/original/1X/1882d9a01da5d8996a862359b0913cc568a39b84.svg) [@system](https://forum.ansible.com/u/system)\
**Post date:** [July 7, 2023, 4:27pm UTC](https://forum.ansible.com/t/how-does-ansible-work-on-a-technical-level/38200/2 "2023-07-07T16:27:55Z")

</div>

Simplified answer, modules are mostly just a scripts or binary  
executables, which Ansible copies to the remote and then executes them  
using the appropriate interpreter if needed.

The long answer has many details and many different branches to  
consider. Also, while Ansible itself only ships with Python and  
Powershell modules, and can bundle certain dependencies (module\_utils)  
that don't need to be present in the target system.In the end any  
language should work as well as binary files, but you won't have  
dependency packing features. The main requirement is that the module  
can take input as JSON and outputs JSON with some required fields,  
which should be doable in any/all programming languages.
