This is an example of a simple banner

Training: Ansible – Advanced

Ref. ANSIBLE-02
Duration:
3
 days
Exam:
Not certifying
Level:
Advanced

Ansible Training - Advanced

The Advanced Ansible training is designed for IT professionals seeking to fully leverage Ansible’s automation capabilities. After mastering the basics, it’s time to deepen your skills. This course enables you to manage complex infrastructures efficiently. You will learn to create dynamic inventories tailored to your cloud environments. Jinja2 filters will hold no secrets for you. Securing your configurations becomes an absolute priority.

Master automation at an expert level

This ansible training also covers the development of custom modules in Python. You will discover how to integrate your playbooks into CI/CD pipelines. Performance optimization constitutes a major focus of the program. Each module offers practical exercises that are immediately applicable. You will work on real use cases drawn from concrete professional situations.

Participant Profiles

  • System and network administrators
  • DevOps and SRE engineers
  • Infrastructure architects
  • Developers involved in automation
  • Digital transformation consultants
  • Technical team leaders

Objectives

  • Create and manage multi-cloud dynamic inventories
  • Master complex loops and advanced control structures
  • Apply Jinja2 filters to transform data
  • Secure configurations with Ansible Vault and secret managers
  • Develop custom modules and plugins in Python
  • Integrate Ansible into CI/CD pipelines
  • Optimize playbook and infrastructure performance
  • Test configurations with Molecule and automate validation

Prerequisites

  • Have completed the Ansible – Fundamentals course
  • Know the basic concepts of Linux system administration
  • Understand the principles of infrastructure as code

Course Content

Module 1: Dynamic inventories and advanced management

  • Built-in dynamic inventories (AWS, Azure, VMware, etc.)
  • Creating custom inventories (API, databases, scripts)
  • Multi-environment optimization (dev/staging/prod) and variable management

Module 2: Complex loops and control structures

  • Mastering advanced loops (loop, with_*, until, async/poll)
  • Nested conditionals and task delegation (delegate_to, local_action)
  • Controlled execution (error handling, block/rescue/always, throttle)

Module 3: Jinja2 filters and data transformations

  • Transformation filters (e.g., map, select, regex, json_query)
  • Infrastructure filters (e.g., cloud/network data manipulation)
  • Creating custom filters and Jinja2 extensions

Module 4: Security and secrets management

  • Advanced Ansible Vault: hierarchical encryption, secret rotation
  • Integration with secret managers (HashiCorp Vault, AWS Secrets Manager)
  • Best practices (RBAC, privilege minimization, auditing)

Module 5: Developing custom modules and plugins

  • Anatomy of an Ansible module (structure, arguments, return values)
  • Developing a simple module in Python (practical example)
  • Custom plugins (e.g., lookup, action, cache)

Module 6: Testing, CI/CD and best practices

  • Testing with Molecule: scenarios, drivers (Docker, podman), idempotence verification
  • Integration into CI/CD pipelines (GitLab CI, GitHub Actions, Jenkins)
  • Architectural best practices (reusable roles, documentation, tagging)

Module 7: Performance optimization

  • Performance configuration (forks, strategy, batch_size)
  • Playbook optimizations (caching, include vs import, parallelism)
  • Profiling and debugging (ansible-lint, ansible-navigator tools, advanced logging)

Documentation

  • Digital course materials included

Lab / Exercises

  • This course includes hands-on exercises designed to reinforce your knowledge and apply your skills in real-world professional scenarios.

Complementary Courses

Eligible Funding

ITTA is a partner of a continuing education fund dedicated to temporary workers. This fund can subsidize your training, provided that you are subject to the “Service Provision” collective labor agreement (CCT) and meet certain conditions, including having worked at least 88 hours in the past 12 months.

Additional Information

The evolution of automation practices in modern organizations

The IT automation landscape has changed radically in recent years. On-premise infrastructures are gradually giving way to hybrid architectures. This transition imposes new requirements in terms of configuration management. Teams must juggle multiple cloud providers simultaneously. AWS, Azure and Google Cloud Platform often coexist within the same organization. This complexity requires tools capable of adapting dynamically.

Ansible responds perfectly to these challenges thanks to its natural flexibility. Unlike proprietary solutions, it remains platform agnostic. Its agentless architecture greatly facilitates large-scale deployments. Organizations can thus standardize their automation processes. This standardization significantly reduces operational costs and error risks.

The critical challenges of data transformation

Data manipulation constitutes a major challenge in automation. Information comes from heterogeneous sources in various formats. REST APIs return JSON that must be analyzed and transformed. Databases provide complex relational structures. Legacy systems sometimes still generate XML or CSV. Knowing how to process this data becomes a fundamental skill.

The Jinja2 template engine offers exceptional capabilities for these transformations. Its filters allow for efficient extraction, modification and restructuring of information. Regular expressions facilitate the parsing of logs and text files. JSONPath queries interrogate nested structures with precision. This mastery transforms raw data into immediately usable operational configurations.

Building scalable automation architectures

Scalability represents an essential success criterion for any automation project. A solution that works for ten servers often fails with a thousand machines. Bottlenecks then appear unexpectedly. Execution time increases exponentially rather than linearly. System resources become saturated for no apparent reason.

Several strategies allow for optimizing Ansible deployment performance. Controlled parallelism accelerates execution across vast server fleets. Fact caching avoids repetitive and costly queries. The choice between include and import directly impacts processing speed. Execution strategies determine the order and method of deployment. These optimizations can divide execution times by three or four.

Secret governance in automated environments

Infrastructure secrets proliferate with the increase in automated services. Each application requires credentials to access its resources. SSL certificates must be regularly renewed and correctly distributed. API tokens accumulate over successive integrations. This proliferation creates considerable security risks if not properly managed.

A robust secret management strategy therefore becomes essential. Centralized solutions like HashiCorp Vault offer a single, secure repository. They enable automatic credential rotation according to defined policies. The audit trail guarantees complete traceability of all access. Native integration with Ansible greatly simplifies their daily use. These practices align with the requirements of the strictest security certifications.

The growing importance of testing in infrastructure as code

Treating infrastructure as code implies adopting the same methodological rigor. Developers systematically test their applications before production. This discipline must also apply to infrastructure configurations. An untested playbook can cause major service interruptions. Rollbacks become complex and stressful in crisis situations.

Testing frameworks like Molecule revolutionize the validation of Ansible configurations. They create ephemeral environments to execute your playbooks in isolation. Assertions verify that the final state corresponds exactly to expectations. Idempotence is automatically controlled with each test execution. This preventive approach detects problems before they affect production. Team confidence in their deployments is considerably strengthened.

FAQ

How do you choose between static and dynamic inventory?
Static inventories are suitable for stable, small-scale environments. Dynamic inventories become essential in elastic cloud environments. They directly query provider APIs to obtain the current list. Combining both types often offers the best compromise.

What is the best strategy for organizing my Ansible roles?
Modular organization promotes code reusability and maintainability. Each role must have a clearly defined and documented responsibility. Dependencies between roles should remain minimal to avoid coupling. The directory structure should follow Ansible community conventions.

How do you effectively debug a failing playbook?
Verbose mode increases the detail level of logs. The debug directive displays variable values at specific points. The assert module validates expected conditions throughout execution. The ansible-navigator tool offers an interactive interface to explore results.

Can Ansible be used to manage network configurations?
Ansible natively supports many professional network devices. Cisco, Juniper, Arista and F5 have dedicated and maintained collections. Network modules generally use SSH or specific REST APIs. The same idempotence principles apply to network configurations.

Prix de l'inscription
CHF 2'250.-
Inclus dans ce cours
  • Training provided by an industry expert
  • Digital documentation and materials
  • Achievement badge
Mois actuel

lun22Déc(Déc 22)09:00mer24(Déc 24)17:00VirtuelVirtual Etiquettes de sessionANSIBLE-02

lun22Déc(Déc 22)09:00mer24(Déc 24)17:00Genève, Route des Jeunes 35, 1227 Genève Etiquettes de sessionANSIBLE-02

Contact

ITTA
Route des jeunes 35
1227 Carouge, Suisse

Opening hours

Monday to Friday
8:30 AM to 6:00 PM
Tel. 058 307 73 00

Contact-us

ITTA
Route des jeunes 35
1227 Carouge, Suisse

Make a request

Contact

ITTA
Route des jeunes 35
1227 Carouge, Suisse

Opening hours

Monday to Friday, from 8:30 am to 06:00 pm.

Contact us

Your request