Implementing and Operating Cisco Enterprise Network Core Technologies (ENCOR) v1.2AutomationMedium

A network operations team is implementing a new network automation solution that requires a declarative approach to configuration management. They need a tool that can define the desired state of network devices, automatically detect deviations, and remediate them without requiring explicit procedural steps for every action. Which automation tool is best suited for this declarative paradigm?

  1. APython with Paramiko
  2. BEmbedded Event Manager (EEM)
  3. CRESTCONF PUT requests with custom scripts
  4. DAnsible
Show answer & explanation

Correct answer: D. Ansible

Ansible is a popular automation tool that follows a declarative approach. Users define the desired state of their infrastructure in playbooks, and Ansible works to achieve and maintain that state, automatically handling the procedural steps and idempotency.

Why the other options are wrong

  • A. Python with Paramiko is procedural; the script explicitly defines every step to be taken.
  • B. EEM is an event-driven scripting tool on Cisco devices, primarily for reactive, procedural automation, not declarative state management.
  • C. While RESTCONF PUT can set a desired state, custom scripts built around it are typically procedural, explicitly defining the API calls and logic, not natively declarative like Ansible.

Declarative Automation

An automation paradigm where the desired end-state of a system is specified, and the automation tool determines and executes the necessary steps to achieve and maintain that state.

  • Focuses on 'what' to achieve, not 'how'.
  • Tools handle idempotency and state convergence.
  • Examples: Ansible, Puppet, Chef, SaltStack.

Memory trick: Declarative is like aiming for a 'target', procedural is like writing 'steps'.

More Automation questions