It must be said that Ansible takes the "kitchen sink" approach to functionality and tries to provide, out of the box, every piece of functionality you might ever need. There are over 2,000 modules available for use within Ansible at the time of writing—1,200 more than when the last edition of this book was published! In addition to these, there is a rich plugin and filter architecture with numerous callback plugins, lookup plugins, filter plugins, and dynamic inventory plugins included.
In spite of this, there will always be cases where Ansible doesn't quite perform the tasks required, especially in large and complex environments, or ones where bespoke in-house systems have been developed. Luckily, the design of Ansible, coupled with its open source nature, makes it easy for anyone to extend it by developing their own features. It is also...