Pagina che incorpora in ordine tutte le note della cartella Day 59-63 - Note complete. Sono le note complete: la fonte di studio. Il ripasso veloce è 00 Automation - Riassunto.

Day 59 — Intro, SDN e AI/ML

Day 59 (part 1) Intro to Network Automation

Core Logic

01:21 L’automazione di rete segna il passaggio dalla gestione manuale “hop-by-hop” (CLI) a un modello programmabile centralizzato. L’obiettivo è eliminare l’errore umano, garantire la conformità delle configurazioni (evitando il config drift) e ridurre le spese operative (OPEX).


🏗️ Anatomia dei Piani Logici

Per comprendere il Software-Defined Networking (SDN), è fondamentale scomporre le funzioni di rete in tre piani distinti:

PianoFunzione PrimariaDriver Operativo
Data PlaneInoltro dei pacchetti (Forwarding).Basato su ASIC e TCAM per velocità hardware.
Control PlaneDecision making (Routing, STP).Tradizionalmente distribuito su ogni nodo.
Management PlaneAccesso e monitoraggio (SSH, SNMP).Overhead di gestione e configurazione.

⚡ Data Plane: Efficienza del Monitoraggio ▶ 13:13

L’inoltro dei dati non deve gravare sulla CPU del dispositivo per evitare colli di bottiglia.

  • ASIC: Chip specializzati che gestiscono la logica di switching a velocità di linea.
  • TCAM: Memoria che permette lookup istantanei della tabella MAC e delle ACL.
  • CPU: Interviene solo per il traffico destinato al dispositivo stesso (Management/Control) o per pacchetti che richiedono elaborazione complessa.

🌐 Software-Defined Networking (SDN) ▶ 15:17

L’SDN centralizza il Control Plane in un software chiamato Controller. Gli apparati fisici diventano meri esecutori del Data Plane.

Interfacce di Sistema

  1. Southbound Interface (SBI) 17:49: Il protocollo con cui il controller istruisce gli switch (es. OpenFlow, NETCONF, OpFlex).
  2. Northbound Interface (NBI) 20:24: API (solitamente REST) che permettono alle applicazioni di dialogare con il controller per programmare la rete.

📉 Estrazione di Valore e Benefici

L’automazione non è solo SDN, ma include script (Python) e strumenti di gestione (Ansible):

  • Riduzione Errore: Eliminazione dei typo manuali.
  • Scalabilità: Modifiche su centinaia di dispositivi in una singola operazione.
  • Analisi Analitica: Il controller offre una visione globale della topologia, facilitando il troubleshooting rispetto al modello tradizionale distribuito.

📑 Formati Dati (Verso la Programmabilità)

A differenza della CLI (pensata per gli umani), l’automazione utilizza dati strutturati per la comunicazione tra macchine:

  • JSON / XML: Formati standard che rendono i dati facilmente leggibili dai programmi senza necessità di complessi parsing dell’output “show”.
Link all'originale


Day 59 (part 2) AI e ML

Core Logic

Analisi dei fondamentali di Artificial Intelligence (AI) e Machine Learning (ML) applicati al networking, con focus sui modelli di apprendimento e sulle funzionalità intelligenti del Cisco Catalyst Center.


🌐 Definizioni Fondamentali

Artificial Intelligence (AI)

L’uso di sistemi computazionali per simulare l’intelligenza umana, inclusi il riconoscimento di pattern, l’apprendimento autonomo e il problem solving. 01:52

Machine Learning (ML)

Un sottogruppo dell’AI che permette ai computer di apprendere dai dati e migliorare le performance nel tempo senza essere esplicitamente programmati per ogni specifica attività. 04:08


🛠️ Tipologie di Machine Learning

TipoFunzionamentoApplicazione TipicaTimestamp
SupervisedAllestito su Labeled Data (dati etichettati).Classificazione immagini, filtri spam.06:27
UnsupervisedAnalizza dati non etichettati per trovare cluster.Segmentazione clienti, pattern nascosti.10:28
ReinforcementBasato su un sistema di premi/penalità (trial & error).Auto a guida autonoma, Game AI.13:15
Deep LearningUtilizza Artificial Neural Networks multistrato.Riconoscimento vocale, LLM complessi.16:17

📊 Predictive AI vs Generative AI nel Networking

🔮 Predictive AI

Analizza i dati storici per prevedere eventi futuri. 20:48

  • Traffic Forecasting: Ottimizzazione della banda e prevenzione della congestione.
  • Security Threat Detection: Identificazione proattiva di anomalie e attacchi.
  • Predictive Maintenance: Sostituzione hardware prima del guasto critico.

🎨 Generative AI

Crea nuovi contenuti (testo, immagini, codice) basandosi su pattern appresi. 21:45

  • Generazione Configurazioni: Creazione automatica di script per dispositivi di rete.
  • Troubleshooting: Analisi dei log e suggerimenti di risoluzione.
  • Scripting: Automazione tramite script Python generati dall’AI. 28:32

Rischio Allucinazioni

I modelli LLM (come ChatGPT) possono generare configurazioni sintatticamente corrette ma tecnicamente errate. È imperativo verificare sempre l’output prima dell’implementazione in produzione. 25:18


🏛️ AI nel Cisco Catalyst Center (ex DNA Center)

L’infrastruttura Cisco utilizza l’AI per passare da una gestione reattiva a una proattiva. 29:01

🚀 Funzionalità Chiave:

  1. AI Network Analytics: Stabilisce una baseline del comportamento normale della rete per rilevare anomalie specifiche. 29:51
  • Machine Reasoning Engine (MRE): Esegue la Root-cause analysis automatizzata per risolvere problemi complessi più velocemente. 30:52
  1. AI Endpoint Analytics: Identifica e classifica i dispositivi connessi (IoT, PC, Mobile) per applicare policy di sicurezza e segmentazione. 32:02
  2. AI-Enhanced RRM: Ottimizza le frequenze Wi-Fi e la potenza di trasmissione degli Access Point per ridurre le interferenze. 32:51

📝 Esempio di Automazione AI (Python)

L’AI può generare script per automatizzare il Control Plane:

from netmiko import ConnectHandler
 
def enable_interface(device_ip, interface):
    # Esempio di script generato per abilitare una G0/0
    device = {
        'device_type': 'cisco_ios',
        'host': device_ip,
        'username': 'admin',
        'password': 'password123',
    }
    with ConnectHandler(**device) as net_connect:
        config_commands = [f'interface {interface}', 'no shutdown']
        output = net_connect.send_config_set(config_commands)
        print(output)

Summary per l'esame CCNA

  • Comprendere la differenza tra Supervised (etichettato) e Unsupervised (non etichettato).
  • Sapere che le Neural Networks sono alla base del Deep Learning.
  • Riconoscere MRE e AI Network Analytics come pilastri del Cisco Catalyst Center.
  • Ricordare che l’AI nelle reti serve a creare Baselines, ottimizzare il Wi-Fi (RRM) e accelerare la Root-cause analysis. 35:54

Networks CCNA Cisco AI MachineLearning Automation

Link all'originale

Day 60 — Formati dati

Day 60 JSON, XML, & YAML

Core Logic

La Data Serialization è il processo di conversione dei dati in un formato standardizzato per consentirne l’archiviazione o la trasmissione tra applicazioni diverse (es. Python e Java) e tra controller SDN e dispositivi di rete. È il linguaggio universale delle API e dell’automazione.


🏗️ Fondamenti della Serializzazione

La serializzazione permette di rappresentare variabili e strutture dati complesse sotto forma di testo leggibile 01:34. Senza uno standard, due applicazioni scritte in linguaggi diversi non potrebbero interpretare correttamente i dati scambiati 02:53.

Variabili come Container

In questo contesto, le variabili sono container che memorizzano valori (es. interface_name: GigabitEthernet1/1) 02:37.


🌐 JSON (JavaScript Object Notation)

È il formato più rilevante per l’esame CCNA (Topic 6.7) ed è ampiamente utilizzato nelle REST API 04:10.

Caratteristiche Chiave:

  • Standard: Definito in RFC 8259 04:41.
  • Indipendenza: Nonostante il nome, è indipendente dal linguaggio di programmazione.
  • Whitespace: Spazi e a capo sono insignificanti per il computer (ma utili per l’uomo) 05:19.

📑 Data Types in JSON

JSON supporta 6 tipi di dati fondamentali, divisi in primitivi e strutturati 05:33:

TipoDescrizioneEsempioTimestamp
StringTesto racchiuso in doppi apici """Up", "10.1.1.1"05:55
NumberValore numerico (senza apici)1000, 1.506:18
BooleanValore logico (case sensitive: minuscolo)true, false06:39
NullAssenza intenzionale di un valorenull07:28
ObjectLista non ordinata di coppie key-value {}{"key": "value"}08:06
ArrayLista ordinata di valori racchiusa in []["G0/1", "G0/2"]12:47

Errore Comune

Una stringa che contiene un numero (es. "5") è diversa da un tipo Number (es. 5). In JSON, i doppi apici definiscono sempre una String 06:27.


🏗️ Strutture Dati Complesse

  • Key-Value Pairs: La chiave deve essere sempre una stringa, separata dal valore da due punti : 08:19.
  • Nested Objects: Un oggetto può contenere un altro oggetto come valore, permettendo gerarchie complesse 11:55.
  • Array di Oggetti: Spesso usato per elencare configurazioni simili, come le interfacce di un router 14:04.

📊 Confronto tra Formati (XML vs YAML)

🏷️ XML (Extensible Markup Language)

Nato come linguaggio di markup (simile a HTML), oggi usato per la serializzazione 15:10.

  • Utilizza i tag per definire chiavi e valori: <key>value</key> 15:51.
  • È considerato meno leggibile dall’uomo rispetto a JSON 15:31.

📝 YAML (YAML Ain’t Markup Language)

Il formato più “human-friendly”, molto usato in tool di automazione come Ansible 17:26.

  • Significatività del Whitespace: A differenza di JSON/XML, l’indentazione è fondamentale per definire la struttura 18:05.
  • Inizia tipicamente con tre trattini --- 18:15.
  • Liste indicate con un trattino - 18:18.

⚖️ Tabella Comparativa Finale

FeatureJSONXMLYAML
LeggibilitàAltaMediaEccellente
Sintassi{ }, [ ], :<tag> </tag>Indentazione, -
Utilizzo PrincipaleREST APIsREST / LegacyAnsible / Config
WhitespaceIrrilevanteIrrilevanteSignificativo

Quiz Review

  • In JSON, l’ultima coppia key-value di un oggetto non deve avere la virgola finale 13:31.
  • In YAML, la corretta indentazione definisce l’appartenenza di un dato a un oggetto superiore 18:09.

Networks CCNA Automation JSON XML YAML

Link all'originale

Day 61 — REST API

Day 61 (part 1) - REST APIs & Network Automation

Core Logic

Le REST APIs rappresentano lo standard de facto per la programmabilità delle reti moderne. In un’architettura SDN (Software-Defined Networking), esse costituiscono la Northbound Interface (NBI), permettendo ad applicazioni esterne di comunicare con il Controller tramite il protocollo HTTP per automatizzare la gestione dei dispositivi.


🏗️ Architettura e SDN

Le API (Application Programming Interface) agiscono come un’interfaccia software che permette a due applicazioni di scambiare dati 02:01.

  • Northbound Interface (NBI): Tipicamente utilizza REST APIs per connettere il Controller SDN ad applicazioni di gestione o script 02:32.
  • Southbound Interface (SBI): Utilizza protocolli come NETCONF, RESTCONF o SNMP per configurare i dispositivi fisici 02:50.

⚡ Operazioni CRUD e Verbi HTTP

La logica di gestione delle risorse in REST si basa sul modello CRUD, che mappa direttamente sui verbi del protocollo HTTP 03:08.

Operazione CRUDDescrizioneVerbo HTTP
CreateCrea una nuova risorsa/variabilePOST
ReadRecupera informazioni su una risorsaGET
UpdateModifica una risorsa esistentePUT / PATCH
DeleteRimuove una risorsaDELETE

Differenza tra PUT e PATCH

Sebbene entrambi effettuino un Update, PUT solitamente sostituisce l’intera risorsa, mentre PATCH modifica solo i campi specificati 05:08.


🛠️ Anatomia di una Richiesta REST

Ogni chiamata API tramite HTTP deve contenere elementi specifici per essere interpretata correttamente dal server 05:35:

  1. URI (Uniform Resource Identifier): Indica la risorsa specifica.
    • Esempio: https://sandboxdnac.cisco.com/dna/intent/api/v1/network-device 06:11.
  2. Intestazioni (Headers): Metadati come Accept: application/json per specificare il formato dati desiderato 07:16.
  3. Payload (Data): I dati effettivi, solitamente in formato JSON o XML.

🚥 Codici di Risposta HTTP

Il server risponde con codici di stato che indicano l’esito dell’operazione 08:34:

  • 2xx (Success): Operazione completata correttamente (es. 200 OK, 201 Created).
  • 3xx (Redirection): Risorsa spostata 09:22.
  • 4xx (Client Error): Errore nella richiesta (es. 403 Forbidden, 404 Not Found) 09:41.
  • 5xx (Server Error): Il server ha fallito l’elaborazione (es. 500 Internal Server Error) 10:41.

📑 Vincoli dell’Architettura RESTful

Per essere definita RESTful, un’API deve rispettare sei vincoli fondamentali 13:28:

  1. Client-Server: Separazione netta tra l’interfaccia utente e la gestione dei dati.
  2. Stateless (Senza Stato): Ogni richiesta deve contenere tutte le informazioni necessarie; il server non memorizza il contesto delle sessioni passate 14:45.
  3. Cacheable: Le risposte devono dichiarare se possono essere memorizzate per migliorare le performance 16:15.
  4. Layered System: Il client non deve sapere se è connesso direttamente al server finale o a un intermediario.
  5. Uniform Interface: Utilizzo di identificatori di risorse e messaggi auto-descrittivi.
  6. Code on Demand (Opzionale): Invio di codice eseguibile dal server al client.

Stateless != TCP

Anche se REST usa spesso HTTP su TCP (che è stateful), l’applicazione REST stessa è stateless. Il server non tiene traccia di “dove sei rimasto” tra una chiamata e l’altra 15:45.


💻 Demo Pratica: Cisco DevNet & Postman

Nel video viene mostrato come utilizzare Postman per interrogare un controller Cisco DNA Center tramite sandbox gratuite 17:51.

  • Passaggio 1: Generazione dell’Auth Token tramite POST e credenziali di base 20:33.
  • Passaggio 2: Utilizzo del token nell’header X-Auth-Token per ottenere l’inventario dei dispositivi con una GET 22:15.
  • Analisi JSON: Analisi dei dati ritornati (Hostname, Platform ID, Uptime) 23:17.

network-automation ccna rest-api sdn obsidian-notes

Link all'originale


Day 61 (part 2) REST API Authentication

Core Logic

L’autenticazione nelle REST API è il processo di validazione dell’identità di un utente o sistema per garantire l’accesso legittimo alle risorse. Oltre alla sicurezza, è fondamentale per l’analytics e il billing (es. tracciamento dei token in ChatGPT). 01:42.


🏗️ Fondamenti dell’Autenticazione API

Senza autenticazione, chiunque potrebbe inviare API requests, accedendo a dati sensibili o modificando l’applicazione. 02:16.

Tracking e Billing

Molte API utilizzano l’autenticazione per scopi commerciali, addebitando costi in base all’utilizzo (es. modelli OpenAI basati su token). 03:08.


🔐 Metodi di Autenticazione (Authentication Schemes)

1. Basic Authentication

È il metodo più semplice. Invia credenziali direttamente nell’HTTP Header. 05:41.

  • Formato: username:password.
  • Codifica: Le credenziali sono codificate in Base64. 07:33.

Rischio Sicurezza

La codifica Base64 NON è cifratura. È facilmente decodificabile. È imperativo utilizzare HTTPS (TLS) per proteggere il traffico. 07:53.

2. Bearer Authentication

Utilizza un Token (chiamato Bearer Token) invece delle credenziali classiche. 10:04.

  • Processo: Il client ottiene il token da un Authorization Server. 10:11.
  • Scadenza: I token solitamente scadono dopo un tempo prefissato per limitare i danni in caso di furto. 11:46.

3. API Key Authentication

Utilizza una chiave statica univoca assegnata al client. 13:13.

  • Posizionamento: Può essere inviata nell’header, nell’URL o nei cookie.
  • Limitazioni: Le chiavi inserite negli URL sono meno sicure perché loggate da web server e browser. 13:48.

4. OAuth 2.0

Un framework avanzato per l’Access Delegation. Permette ad app terze di accedere a risorse limitate per conto dell’utente senza condividerne la password. 16:11.

I 4 Attori di OAuth 2.0: 17:44

  1. Resource Owner: L’utente (tu).
  2. Client App: L’applicazione che richiede l’accesso (es. un’app di calendario).
  3. Auth Server: Il server che emette il token (es. Google Auth).
  4. Resource Server: Il server che ospita i dati (es. Google Calendar).

📊 Confronto Metodi di Autenticazione

MetodoMeccanismoSicurezzaUso Comune
BasicUsername/Password in Base64Bassa (richiede TLS)Ambienti legacy/semplici
BearerToken generato da serverAltaWeb App moderne
API KeyStringa univoca staticaMediaCloud Services / Tracking
OAuth 2.0Framework di delega (Token)MassimaIntegrazioni terze parti

⚡ Concetti Avanzati OAuth 2.0

Token Refresh

Per evitare che l’utente debba rieseguire il login ogni volta che un Access Token scade, OAuth 2.0 utilizza i Refresh Tokens per ottenere nuove chiavi automaticamente. 20:13.

Flusso Operativo OAuth 2.0

  1. Il Client richiede autorizzazione.
  2. Il Resource Owner concede il permesso.
  3. Il Client scambia il permesso con un Access Token.
  4. Il Client usa il Token per richiedere la risorsa. 18:32.

Nota generata per lo studio della certificazione CCNA basata sul materiale di Jeremy’s IT Lab.

Link all'originale

Day 62 — SDN, SD-Access, DNA Center

Day 62 Software-Defined Networking (SD-Access & DNA Center)

Core Logic

Il Software-Defined Networking (SDN) evolve la gestione di rete separando il Control Plane dal Data Plane. Cisco implementa questa visione nel Campus LAN tramite SD-Access, utilizzando il controller DNA Center per trasformare i requisiti di business (Intent) in configurazioni di rete automatizzate attraverso un’architettura a Fabric.


🏗️ Architettura e Layer SDN

L’approccio SDN centralizza l’intelligenza della rete in un software chiamato Controller 01:31.

L’architettura si divide in tre layer fondamentali 03:08:

  1. Application Layer: Script e applicazioni che definiscono i comportamenti desiderati.
  2. Control Layer: Il Controller SDN (es. DNA Center) che elabora le istruzioni.
  3. Infrastructure Layer: I dispositivi fisici che inoltrano il traffico (Data Plane) *

🔗 Interfacce API

  • Northbound API (NBI): Permette la comunicazione tra applicazioni e controller 02:39.
  • Southbound API (SBI): Permette al controller di programmare i dispositivi fisici (es. NETCONF, RESTCONF) 02:34.

💎 Cisco SD-Access (SDA)

SD-Access è la soluzione Cisco per automatizzare le LAN aziendali 04:19. Si basa sul concetto di Fabric 05:21.

🪜 Underlay vs Overlay

ConcettoDescrizioneProtocolli/Note
UnderlayRete fisica di switch e router che garantisce connettività IP 06:02.Spesso usa IS-IS. Design L3 Routed Access (no STP) 09:12.
OverlayRete virtuale creata sopra l’Underlay tramite tunnel 06:30.Utilizza tunnel VXLAN per il Data Plane 06:34.
FabricLa combinazione logica di Underlay e Overlay 06:42.Rappresenta l’intera entità di rete SDA.

🎭 Ruoli degli Switch nella Fabric ▶ 07:53

  • Edge Node: Collega gli host finali (simile all’Access Layer tradizionale).
  • Border Node: Collega la Fabric a reti esterne (es. Internet o WAN).
  • Control Node: Gestisce il database di mapping tra endpoint e la loro posizione.

🌐 Protocolli Chiave in SD-Access

Il Control Plane e il Data Plane di SDA

In SD-Access, i protocolli tradizionali sono sostituiti o potenziati per supportare la mobilità e l’automazione.

  • LISP (Locator/ID Separation Protocol): Gestisce il Control Plane. Mappa gli EID (Endpoint Identifiers) ai RLOC (Routing Locators) 08:12.
  • VXLAN (Virtual Extensible LAN): Gestisce il Data Plane. Incapsula i frame Layer 2 in pacchetti Layer 3 per creare i tunnel dell’Overlay 11:26.
  • Cisco TrustSec (CTS): Applica le policy di sicurezza basate su gruppi (SGT) invece che su indirizzi IP 11:13.

🎮 Cisco DNA Center (DNAC)

Il DNA Center è il “cervello” dell’architettura SD-Access 10:57.

🚀 Intent-Based Networking (IBN)

DNAC permette l’Intent-Based Networking: l’amministratore definisce cosa la rete deve fare (Intent) e il controller gestisce il come (configurazione tecnica) 13:38.

Deployment Tipi

  • Greenfield: Nuovo network costruito da zero ottimizzato per SDA 15:00.
  • Brownfield: Aggiunta di SDA su un’infrastruttura esistente 14:26.

📊 Gestione Tradizionale vs DNA Center ▶ 11:15

CaratteristicaGestione TradizionaleCisco DNA Center
ConfigurazioneDispositivo per dispositivo (CLI/SSH)Centralizzata tramite GUI o API
PolicyBasate su IP/ACL manuali (complesse)Basate sull’Intent e Gruppi Utente
DeploymentTempi lunghi, rischio errore umanoAutomatizzato (Zero Touch Provisioning)
VisibilitàFrammentata (SNMP/Syslog)Assurance (analisi predittiva della salute)

📝 Troubleshooting & Monitoring

Cisco DNAC include una sezione di Assurance 18:03 che fornisce un punteggio di “salute” per ogni dispositivo e client, permettendo di identificare rapidamente colli di bottiglia o problemi di compliance software 17:30.


Nota generata per il ripasso CCNA - Basata su Jeremy’s IT Lab Day 62.

Link all'originale

Day 63 — Config management e IaC

Day 63 (part 1) Ansible, Puppet, & Chef

Core Logic

I tool di Configuration Management automatizzano il provisioning, il monitoraggio e la conformità delle configurazioni di rete su larga scala, eliminando i rischi legati alla gestione manuale “hop-by-hop” e prevenendo il fenomeno del configuration drift.


📉 Il Problema: Configuration Drift

Il Configuration Drift 01:46 si verifica quando le modifiche manuali eseguite nel tempo (per troubleshooting o test) causano una deviazione del dispositivo dallo standard aziendale.

  • Senza automazione, tenere traccia di queste variazioni è quasi impossibile in reti con centinaia di nodi 02:57.

🛠️ Configuration Provisioning: Modello a Template

Per scalare la gestione, i tool di automazione utilizzano due componenti essenziali 05:08:

  1. Templates: File di configurazione standard con placeholder.
  2. Variables: File separati contenenti i dati specifici (es. IP, hostname) che vengono iniettati nel template per generare la configurazione finale 05:23.

🤖 Tool di Automazione a Confronto

🅰️ Ansible

È attualmente il tool più popolare per i Network Engineers grazie alla sua semplicità 08:04.

  • Architettura: Agentless 08:18 (non richiede software installato sui nodi gestiti).
  • Protocollo: Utilizza SSH per connettersi ai dispositivi 08:27.
  • Modello: Push 08:44 (il Control Node spinge le modifiche verso i client).
  • Componenti chiave 09:10:
    • Playbooks: “Blueprint” delle task scritti in YAML.
    • Inventory: Elenco dei dispositivi gestiti.
    • Templates: Basati su formato Jinja2.

🎭 Puppet

Tool maturo, spesso preferito in ambienti server misti 10:55.

  • Architettura: Tipicamente Agent-based 11:00 (esiste un’opzione agentless tramite proxy).
  • Modello: Pull 11:30 (i nodi chiedono la configurazione al Puppet Master).
  • Comunicazione: HTTPS su porta TCP 8140 11:39.
  • Terminologia: Utilizza file chiamati Manifests 11:56 scritti in un linguaggio proprietario.

👨‍🍳 Chef

Meno comune in ambito puramente networking, molto potente per l’infrastruttura IT globale 13:03.

  • Architettura: Agent-based 13:07.
  • Modello: Pull 13:22.
  • Comunicazione: HTTPS su porta TCP 10002 13:25.
  • Terminologia “Culinarie” 13:44:
    • Resources: Gli “ingredienti” della configurazione.
    • Recipes: Logica delle azioni da compiere.
    • Cookbooks: Gruppi di recipe correlate.
    • Run-list: L’ordine sequenziale in cui eseguire le recipe.

📊 Tabella Comparativa Finale

Memorizzare questa tabella per l'esame CCNA 15:08.

CaratteristicaAnsiblePuppetChef
LinguaggioPythonRubyRuby
ModelloPushPullPull
SetupAgentlessAgent-basedAgent-based
ProtocolloSSHHTTPS (8140)HTTPS (10002)
File PrincipaliPlaybook (YAML)ManifestRecipe / Cookbook

⚠️ Avvertenze per l’Esame

Supporto Cisco

Non tutti i dispositivi Cisco supportano gli agent di Puppet o Chef. Questo è uno dei motivi principali per cui Ansible (essendo agentless via SSH) è lo standard de facto nel networking 11:08.

Link all'originale


Day 63 (part 2) Terraform Basics & Infrastructure as Code (IaC)

Core Logic

Terraform è uno strumento di Infrastructure as Code (IaC) open-source, agentless e declarative, focalizzato principalmente sul provisioning di risorse (cloud e on-prem) piuttosto che sulla sola gestione della configurazione. A differenza di Ansible, promuove un’infrastruttura immutabile.


🌐 Infrastructure as Code (IaC)

L’IaC è la pratica di gestire e sottoporre a provisioning l’infrastruttura (server, rete, risorse cloud) tramite file di configurazione leggibili dalla macchina (code) invece di processi manuali via CLI o GUI 02:27.

Tool IaC per il CCNA

Cisco include nel programma d’esame i seguenti tool: Ansible, Terraform, Puppet e Chef 00:32.


⚡ Differenze Chiave: Provisioning vs Management

Sebbene esistano sovrapposizioni, i tool IaC si dividono in due categorie principali basate sul loro obiettivo primario:

CaratteristicaConfiguration Management (Ansible, Puppet, Chef)Infrastructure Provisioning (Terraform)
FocusGestione di sistemi esistenti 04:03.Creazione di infrastruttura da zero 04:28.
AzioniInstallazione software, configurazione parametri.Creazione di VM, switch virtuali, VPC, storage 05:09.
WorkflowSpesso usato dopo il provisioning.Spesso usato come primo step dell’automazione.

🏗️ Architettura e Approccio

🔄 Mutable vs Immutable Infrastructure

  • Mutable (Ansible): Le modifiche vengono applicate direttamente sulle risorse esistenti (update in place). Può portare al fenomeno del Configuration Drift 05:46.
  • Immutable (Terraform): Le risorse non vengono modificate. Per ogni cambiamento, Terraform distrugge la vecchia risorsa e ne crea una nuova con la configurazione aggiornata, eliminando il rischio di drift 06:28.

📑 Procedural vs Declarative

  • Procedural (Imperative): L’ingegnere deve definire come arrivare al risultato tramite step espliciti (es. “esegui questo comando, poi quest’altro”) 07:30.
  • Declarative: L’ingegnere definisce lo stato finale desiderato (es. “voglio 3 router con questa IP”). Il tool calcola autonomamente i passaggi necessari 08:05.

Classificazione dei Tool

  • Procedural: Ansible (prevalentemente), Chef.
  • Declarative: Terraform, Puppet 09:31.

🛠️ Componenti e Workflow di Terraform

Componenti Core ▶ 11:12

  1. Terraform Core: L’eseguibile principale (scritto in Go) che elabora le configurazioni.
  2. Configuration Files: File che definiscono l’infrastruttura, scritti in HCL (HashiCorp Configuration Language), un linguaggio Domain-Specific (DSL) 13:22.
  3. State File: Un file critico che traccia lo stato attuale dell’infrastruttura distribuita 11:46.
  4. Providers: Plugin che permettono a Terraform di interagire con piattaforme specifiche (AWS, Azure, Cisco Catalyst Center, ACI, IOS XE) 10:29.

Il Workflow Standard ▶ 12:39

Sequenza Operativa

  1. Write: Definizione dello stato desiderato nei file .tf.
  2. Plan: Terraform confronta lo stato attuale con i file e mostra un’anteprima delle modifiche.
  3. Apply: Esecuzione effettiva delle modifiche per raggiungere lo stato desiderato.

📝 Sintesi per l’Esame

  • Linguaggio: HCL (declarative).
  • Modello: Push (agentless) 11:00.
  • Infrastruttura: Immutabile.
  • Utilizzo Cisco: Integrazione con ACI, Catalyst Center e dispositivi IOS XE via API 10:41.

network-engineering ccna automation terraform iac

Link all'originale