EX447 Exam Guide: What the Retired Ansible Best Practices Exam Covered
EX447 was Red Hat’s performance-based exam for advanced automation with Ansible Engine and Ansible Tower, aimed at experienced Linux administrators, DevOps engineers, cloud administrators, and related IT professionals. Red Hat now labels both EX447 and its associated certification retired, so a new candidate should not treat this as a schedulable live exam. This guide explains what the exam validated, which skills remain useful, how to study its historical objectives, and when to stop preparing for EX447 and choose a current Red Hat path instead.
Is EX447 still available?
No. Red Hat currently labels EX447 and the associated Red Hat Certified Specialist in Advanced Automation: Ansible Best Practices credential as retired, and states that the credential is no longer available. Confirm the current status directly with Red Hat before paying for training, attempting to schedule an exam, or relying on an old study plan.
For a candidate searching for an EX447 exam date, the practical decision is therefore straightforward: do not build a new certification plan around EX447 unless Red Hat gives you a specific, current alternative or clarification. The historical objectives can still organize Ansible practice, but they should be treated as a skills checklist rather than a promise of an available examination.
Red Hat’s current Ansible training and certification catalogue is the appropriate place to investigate replacement learning and certification options. Product names, exam codes, prerequisites, delivery arrangements, and availability can change, so use the live catalogue rather than archived course pages or third-party listings as the final authority.
What this means for existing certificate holders
If you already hold a Red Hat credential and need to establish whether it is current, Red Hat’s certification FAQ says to verify it by entering the certificate number at www.redhat.com/wapps/training/certification/verify.html. That verification process is more reliable than an old profile, résumé entry, or archived EX447 page.
What did EX447 validate?
EX447 was a hands-on test of managing multiple systems with Red Hat Ansible Engine and Red Hat Ansible Tower. Its focus was not simply recalling YAML syntax. The objectives required a candidate to build, adapt, and control automation in ways that resemble operational administration, including data handling, delegation, privilege control, version control, and controller management.
Red Hat describes its certification exams as performance-based: candidates perform real-world tasks rather than answer only multiple-choice questions. That distinction should shape any retrospective preparation. Reading a module reference or recognizing a correct snippet would not, by itself, demonstrate the ability to produce a working automation solution under practical constraints.
The associated certification validated skills in administering Ansible task execution and managing the automation controller, formerly known as Ansible Tower. Red Hat also described coverage of inventories, credentials, advanced inventories, projects, and job workflows, with the controller API included among the covered capabilities.
Who was the exam aimed at?
Red Hat identified experienced Linux system administrators, DevOps engineers, cloud administrators, and other IT professionals as the EX447 audience. The prerequisite guidance listed DO447 Advanced Automation: Ansible Best Practices, or comparable experience, as a preparation route. It also listed RH294 Red Hat System Administration III: Linux Automation, or comparable Red Hat Enterprise Linux and Ansible experience.
These recommendations indicate the expected starting point: a learner should already be comfortable administering Linux and writing ordinary Ansible automation before concentrating on advanced design patterns. If basic inventory construction, variables, privilege escalation, or playbook troubleshooting still require step-by-step instructions, advanced-objective practice is likely to be inefficient.
Which technical skills should you study?
Organize study around the actual objective families rather than collecting isolated commands. EX447 objectives included advanced variable and inventory design, external data retrieval, delegated execution, privilege and task selection, data transformation, and Git-based workflow. The historical certification also covered controller-side objects and job execution.
A useful diagnostic is to ask whether you can explain the data path and execution context for every task: where a value originates, which host runs the task, which user has the required privilege, where facts are stored, which inventory source is used, and how the resulting automation is versioned and launched. That reasoning is more durable than memorizing a particular interface layout.
Variables, inventories, and connection details
EX447 objectives included structuring host and group variables with multiple files and using special variables to override inventory connection details. Practice should therefore move beyond one inventory file with all values embedded in it.
Build a small lab with several hosts and groups. Separate common group data from host-specific data, then introduce a deliberate connection override for one host. Test precedence and effective values rather than assuming the location of a variable tells you which value Ansible will use. Record the result and the command or inspection method that established it.
A common mistake is treating a tidy directory structure as proof that variable precedence is understood. It is not. Change one value at a time, run the playbook, and confirm which value reaches the task. Also distinguish a variable used by the application from a special variable that changes how Ansible connects to the managed host.
Lookups, queries, templates, and filters
The objectives included using lookup and query functions to obtain external data for playbooks and deployed template files. They also included transforming data with Ansible filters and plugins. These skills belong together because reliable automation often involves collecting data, reshaping it, and rendering a result.
Create exercises in which a playbook reads controlled external input, converts that input into the structure required by a task, and deploys a template whose output can be inspected. Use deliberately awkward data: missing fields, multiple records, and values that need type or format conversion. Then add assertions or validation so a bad input fails clearly instead of producing a misleading configuration file.
Do not study lookup and query syntax as interchangeable magic words. Focus on the returned data shape, whether the operation runs in the expected context, and how the value is consumed by a template or module. For filters, write down the input and expected output before running the task. This makes a failed transformation easier to isolate.
Delegation, facts, privilege, and task selection
EX447 objectives included delegating tasks to other hosts and controlling where delegated facts were assigned. They also included controlling privilege execution and selecting tasks. These are execution-control problems: the important question is not only what a task does, but where and under which authority it does it.
Design a lab workflow that gathers information from one host, performs a coordination action on another, and leaves facts associated with the intended host. Inspect the resulting variables instead of trusting the playbook’s visual layout. Add privilege escalation only where needed, and test a task that should run with elevated authority separately from a task that should not.
For task selection, practice tags and other supported selection mechanisms in a way that preserves required ordering and prerequisites. A frequent failure mode is selecting a narrow task set that omits setup work, handlers, or dependent changes. Treat selective execution as a controlled operational feature, not merely a shortcut for running less code.
Git and controller operations
EX447 objectives included using Git to clone repositories, modify files, and commit changes to repositories. The associated certification covered managing inventories, credentials, advanced inventories, projects, and job workflows, as well as launching jobs with the automation controller API.
Practice the complete chain in a controlled repository: retrieve a project, make a focused change, inspect the diff, commit it, and use the updated project in a controller workflow. Then map each controller object to its purpose. An inventory answers where targets come from; credentials define access; a project connects controller execution to versioned content; and a workflow coordinates jobs and dependencies.
For API practice, concentrate on the request’s intent and required object relationships rather than copying an endpoint from an old screenshot. Confirm what resource is being addressed, what authentication context is required in the lab, and how you can recognize a successful job launch. Because EX447 is retired and controller products have changed over time, verify current API behavior against current product documentation if your goal is present-day operational work.
How should you prepare if you are studying the historical objectives?
Use a working lab and a failure log, not a question bank. A strong sequence is to establish Linux and Ansible fundamentals, isolate each advanced objective, combine related objectives into operational workflows, and finish with timed troubleshooting sessions. The aim is independent task completion and diagnosis, not recognition of memorized answers.
Red Hat’s DO447 course was the named preparation route, while comparable experience was also accepted in the historical prerequisite guidance. That does not mean a course is mandatory for learning the skills, nor does it make an old course automatically suitable for current software. Compare its version assumptions with the environment you intend to use before committing to it.
Start with a capability audit
Before choosing materials, perform a short baseline exercise without copying a solution. Build an inventory with host and group variables, deploy a template, use privilege escalation, and troubleshoot one intentional failure. Then note exactly where you needed help.
Classify each gap as one of three types: syntax, execution model, or system administration. Syntax gaps usually respond to focused reference reading and small repetitions. Execution-model gaps require experiments involving delegation, facts, precedence, and controller objects. Linux gaps should be repaired before advanced Ansible work because an automation failure may actually be a service, permission, path, or connectivity problem on the managed host.
This audit also prevents over-preparation. If you can already explain a topic and prove it in a lab, move to an integrated task instead of rereading the same chapter. If you cannot explain why a result occurred, keep the topic in the active study queue.
Build a lab that exposes mistakes
A useful lab needs multiple managed systems, separate groups, a version-controlled project, and enough access control to test privilege behavior. It should allow you to change inventory data, run a playbook, inspect the result, and restore the environment. The exact platform and software versions should follow the current documentation for the technology you are practicing.
Keep the lab intentionally small. A few clearly named hosts are more valuable than an opaque environment that makes every failure difficult to trace. Create a known-good baseline, then introduce one fault at a time: an incorrect variable, unavailable credential, wrong delegated host, malformed template input, or missing privilege.
Capture the command, error, effective configuration, and correction in a study log. Include the reason the correction worked. Over time, the log becomes a troubleshooting index organized by symptoms and execution concepts rather than a collection of copied answers.
Use an evidence loop for every exercise
For each task, define the expected state before execution, run the automation, verify the managed system and Ansible output, and explain any difference. This four-step loop develops the habit performance-based assessments demand: make a change, prove its effect, and recover when the first attempt is wrong.
When a playbook fails, resist changing several lines at once. Reproduce the issue, isolate the smallest failing task, inspect inputs and execution context, and then retest. For controller work, verify the project revision, inventory, credential, and workflow relationship independently. A job that launches is not necessarily a job that applied the intended state.
At the end of a session, remove the temporary workaround and repeat the task from a clean baseline. This distinguishes genuine understanding from a lab that succeeds only because earlier experiments left behind files, users, facts, or controller settings.
A practical study roadmap
A staged roadmap keeps the historical EX447 objectives manageable. First establish the baseline, then study data and execution behavior, then add version control and controller workflows, and finally run integrated drills. Because EX447 is retired, use the roadmap to build transferable Ansible capability or to evaluate readiness for a current replacement—not to assume that completing it creates an exam booking opportunity.
Stage one: confirm the decision and baseline
Begin by checking Red Hat’s current certification catalogue and the EX447 page. If your goal is a credential, identify a current route before investing heavily in EX447-specific material. If your goal is skill development, write a lab scope covering inventories, variables, templates, delegation, privilege, Git, and controller operations.
Next, complete the capability audit. Do not start with advanced filters or API calls if you cannot reliably diagnose a failed connection or explain how a play targets hosts. Establish a repeatable baseline playbook and document the commands you use to inspect inventory and execution results.
Stage two: master data and execution context
Work through variables and multiple inventory files first, because later exercises depend on knowing which values are active. Add connection overrides and verify their effects. Then practice lookups, queries, template rendering, and filters with controlled input.
Move to delegation, delegated facts, privilege execution, and task selection only after you can describe the value flow in your playbooks. For each exercise, write a short execution map: controller or managed host, selected user, input source, output destination, and fact owner. This simple record reveals misunderstandings early.
Stage three: connect Git to controller workflows
Put the lab project in Git and make every meaningful change visible in a diff. Practice cloning, editing, and committing, as those operations were explicit historical objectives. Avoid committing secrets merely to make a controller exercise convenient; use the access mechanism appropriate to the current environment and document what the project is expected to receive at runtime.
Then configure the controller-side relationships in a lab that supports them. Trace a change from repository revision to project, inventory, credential, job template or workflow, and resulting managed-system state. Practice diagnosing a stale project revision or incorrect inventory selection, since these errors can look like playbook defects when the controller is actually running different inputs.
Stage four: integrated troubleshooting
Finish with scenarios that combine several objectives. For example, use structured inventory data, retrieve an external value, transform it, delegate a coordination task, render a template, and launch the work through a controller workflow. Keep the scenario observable so you can prove each intermediate result.
Repeat the scenario after introducing one fault at a time. Set a stopping rule: you are ready to move on when you can identify the failing layer, make a minimal correction, verify the result, and explain the correction without referring to a prepared solution. This is a better readiness signal than completing many repetitive exercises.
Which preparation mistakes should you avoid?
The largest mistake is preparing as though EX447 were an active exam. Red Hat’s current status must come before study scheduling. The next common mistake is treating an old objective list as a current product specification. Use it to identify concepts, but verify present-day Ansible Automation Platform terminology, interfaces, and APIs in current Red Hat documentation.
Another mistake is optimizing for memorization. Exam dumps, leaked questions, or answer memorization cannot demonstrate the practical ability that Red Hat associates with performance-based testing, and they are not a sound substitute for building and troubleshooting automation. Work from legitimate course material, product documentation, and self-created lab tasks instead.
Avoid building a single-host lab that never exercises inventory structure, delegation, or connection behavior. Avoid placing every variable in one file. Avoid testing only successful runs. A study environment that cannot produce a controlled failure will not teach you how to distinguish an Ansible problem from a Linux, credential, repository, or controller problem.
Finally, do not infer readiness from speed alone. A quick run with an unexplained result is weaker evidence than a slower run whose inputs, execution context, and final state you can verify. Record the reasoning that makes the result trustworthy.
How to handle outdated terminology
Historical EX447 material uses Red Hat Ansible Engine and Red Hat Ansible Tower, while Red Hat’s current materials use newer Ansible Automation Platform terminology. Preserve the underlying concepts—automation execution, inventories, credentials, projects, workflows, and controller interaction—but check current product documentation before applying old commands or interface instructions.
When a tutorial shows a particular screen, endpoint, or configuration file, ask what concept it represents and whether the current product implements that concept in the same way. This approach protects your preparation from obsolete navigation while retaining the useful operational model.
What were the certification and credential relationships?
Passing EX447 historically earned the Red Hat Certified Specialist in Advanced Automation: Ansible Best Practices credential, which counted toward the Red Hat Certified Architect credential. Red Hat now marks that specialist credential retired and no longer available, so this historical relationship should not be used as a current credential-planning assumption.
Red Hat’s certification FAQ also states that a current RHCE remains an eligibility requirement for taking any Red Hat Certificate of Expertise Exam and therefore remains a requirement for upper-level credentials such as RHCA, Red Hat Certified Security Specialist, and Red Hat Certified Datacenter Specialist. That general rule is useful historical context, but it does not restore availability for retired EX447.
Do RHCSA and RHCE replace EX447?
No. The credentials serve different purposes, and the supplied Red Hat material does not establish that either credential is a direct replacement for EX447. Red Hat explains that, under its RHEL 6 and later certification path, earning RHCE requires RHCSA plus a separate RHCE exam on the same RHEL version. Investigate current certification requirements independently instead of assuming equivalence.
What delivery and identification details are documented?
The documented delivery fact that matters most is the assessment format: Red Hat identifies its certification exams as performance-based or hands-on practical tests. The supplied EX447 material does not provide a current, usable booking format for this retired exam, so do not infer a live delivery method, schedule, duration, language, price, or retake policy from archived listings.
Red Hat’s certification FAQ says government-issued photo identification is required in most areas. Candidates in regions where government-issued photo IDs are not available should contact their local Red Hat office or authorized Red Hat training partner for guidance on acceptable identification. That is general Red Hat guidance, not evidence that EX447 can currently be scheduled.
The same FAQ describes Individual Exam Sessions as a remote-proctored alternative to open-enrollment classroom exams, but the supplied facts do not establish that EX447 remains offered through that route. Treat it as background on Red Hat’s delivery model, not as a booking instruction for EX447.
What should you verify before booking any current exam?
For a current Red Hat exam, verify the exam code, active status, prerequisites, delivery options, identification rules, location or remote requirements, and applicable policies on the official page for that exam. Confirm these details immediately before scheduling because historical EX447 pages and third-party catalogue entries may describe a past offering.
Your next action depends on your goal
If you need a current credential, stop looking for an EX447 appointment and use Red Hat’s current Ansible training and certification catalogue to identify an active path. If you need advanced automation skills, use the historical objectives as a lab checklist while updating terminology and product behavior from current documentation. If you are validating an existing credential, use Red Hat’s certificate verification process.
A sensible first action is to write down the outcome you actually need: a verifiable certification, stronger Ansible engineering ability, controller administration practice, or preparation for a different current exam. That choice determines whether your next step is catalogue research, a baseline lab, or certificate verification.
For skill development, start with one small repository-backed lab and prove each result. Build from variables and inventories to data transformation, delegation, privilege, Git, and controller workflows. For certification planning, do not purchase an EX447-specific course or exam-related material until Red Hat confirms an active route. This avoids spending effort on a credential Red Hat says is no longer available.
Official pages to consult
Use Red Hat’s current Ansible training and certification page for active programme information, the EX447 exam page for the historical objective and prerequisite context, the Red Hat article describing DO447 and EX447, the certification FAQ for general certification policies, and the specialist credential page for its current retired status.
Conclusion
EX447 remains useful as a description of advanced Ansible practices, but it is not a current scheduling target: Red Hat labels the exam and associated specialist credential retired. Study its historical domains only when they serve a broader skills objective, and replace obsolete product instructions with current documentation. Before taking any next step, decide whether you need a current credential, a transferable automation lab, or verification of an existing certificate, then use the official Red Hat source that matches that decision.
Related exams
- EX318 exam — Red Hat Certified Specialist in Virtualization exam(RH318)
- EX407 exam — Red Hat Certified Specialist in Ansible Automation exam