You are on page 1of 4

An alternative to the CLI to configure network devices is through application

programming interfaces (APIs). APIs use data formats to exchange information.

Data Formats
There are two common data formats that APIs often use:

Extensible Markup Language (XML)

JavaScript Object Notation (JSON)

YAML (YAML Ain’t Markup Language)

 Extensible Markup Language (XML)


 (XML) is a tag-based language and if you know HTML, this will look familiar.
 Each item you add has to start with < and end with >. Here is a simple
example:

 JavaScript Object Notation (JSON)


 (JSON) is newer than XML and has a simple syntax. JSON stores information
in key-value pairs and uses objects for its format. It’s easier to read and
has less overhead than XML.
XML JSON

<router> "devices": {

<name>CSR1000V</name> "router": [

<vendor>Cisco</vendor> {

<type>virtual</type> "name": "CSR1000V",

</router> "vendor": "Cisco",

<router> "type": "virtual"

<name>1921</name> },

<vendor>Cisco</vendor> {

<type>hardware</type> "name": "1921",

</router> "vendor": "Cisco",

</devices> "type": "hardware"

   ]

}
JSON YAML

{ devices:

"devices": { router:

"router": [ - name: CSR1000V

{ vendor: Cisco

"name": "CSR1000V", type: virtual

"vendor": "Cisco", - name: 1921

"type": "virtual" vendor: Cisco

}, type: hardware

"name": "1921",

"vendor": "Cisco",

"type": "hardware"

   ]

}
Agent based tools require the installation of an agent on the system you want to
manage. i.e Chef ,Puppet

Agentless tools don’t require an agent or software on the system you want to
manage i.e Ansible

What is Ansible? ( agentless)


Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate
more advanced IT tasks such as continuous deployments or zero downtime rolling updates.
Ansible’s goals are foremost those of simplicity and maximum ease of use.

- Uses SSH for remote device communication


- Uses YAML for fundamental configuration elements

What is Chef? ( agent based tools)


Chef enables you to manage and scale cloud infrastructure with no downtime or interruptions.
Freely move applications and configurations from one cloud to another. Chef is integrated with
all major cloud providers 

- Uses TCP port 1002 for configuration push jobs


- Use Ruby for fundamental configuration elements

What is Puppet Labs? (agent based tools)


Puppet is an automated administrative engine for your Linux, Unix, and Windows systems and
performs administrative tasks (such as adding users, installing packages, and updating server
configurations) based on a centralized specification.

- Fundamental configuration elements are stored in a manifest


- Uses TCP 8140 for communcation

You might also like