0Pricing
DevOps Bootcamp · Lezione

Progettare il progetto: ruoli e inventory

Organizzi l'intero repository di deployment

Progettare il progetto: ruoli e inventory è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.

L'obiettivo finale

È il momento di distribuire una vera applicazione su più livelli con un rolling deploy e zero downtime. Primo passaggio: progettare la struttura del progetto. 🚀

Ragionare per ruoli

Suddivida il sistema in roles: uno per ogni ambito, ad esempio common, web, app, db e loadbalancer. Ognuno è riutilizzabile e testabile autonomamente.

La struttura di primo livello

Un repository ordinato mantiene inventory, group_vars, roles e il playbook di ingresso site.yml nella directory principale, così chiunque può trovare rapidamente ciò che cerca.

deploy/
  site.yml
  inventory/
  group_vars/
  host_vars/
  roles/

site.yml unisce tutto

Il playbook principale site.yml importa i play dei singoli livelli nell'ordine corretto. È il comando unico che distribuisce l'intero stack.

- import_playbook: plays/loadbalancer.yml
- import_playbook: plays/db.yml
- import_playbook: plays/app.yml
- import_playbook: plays/web.yml

Associare i livelli ai gruppi

Il vostro inventory definisce un gruppo per ogni livello: lb, db, app e web. Ogni play è destinato esattamente agli host di sua competenza.

[lb]
lb1

[web]
web1
web2

[app]
app1
app2

[db]
db1

group_vars per ogni livello

Conservi le impostazioni dei livelli in group_vars: porte web, versione dell'applicazione, credenziali del DB. Gli host le ereditano automaticamente, senza duplicare la configurazione.

group_vars/web.yml:
  nginx_port: 80
  upstream: app:8080

host_vars per le eccezioni

Quando un host è diverso dagli altri, inserisca le sostituzioni in host_vars. Il database principale, ad esempio, può avere impostazioni di replica assenti sugli altri host.

host_vars/db1.yml:
  postgresql_role: primary

Bloccare la versione dell'applicazione

Renda la versione della release una variabile, non una stringa hardcoded. Un unico punto di modifica consente di avanzare o tornare indietro in pochi secondi.

group_vars/all.yml:
  app_version: "2.4.1"

Separare gli ambienti

Mantenga cartelle inventory separate per ogni ambiente, così staging e produzione non condividono mai gli host. Gli stessi ruoli, destinazioni diverse.

inventory/
  staging/hosts
  production/hosts

Bloccare le dipendenze

Elenchi i ruoli esterni di Galaxy in requirements.yml, così ogni membro del team e ogni esecuzione CI installa esattamente lo stesso codice di automazione.

roles:
  - name: geerlingguy.nginx
    version: 3.1.4

Una buona architettura ripaga

Una struttura ben progettata trasforma un deploy complesso in pochi comandi prevedibili. Organizzarsi ora riduce gli interventi d'emergenza in seguito. 🧱

Verifica rapida

Vediamo dove collocare correttamente un elemento di configurazione.

Riepilogo

Avete progettato il repository: roles per ogni livello, gruppi dell'inventory, group_vars e host_vars, oltre a un site.yml che esegue l'intero deploy. ✅

Domande Frequenti

La lezione «Progettare il progetto: ruoli e inventory» è gratuita?

Sì — il testo completo di «Progettare il progetto: ruoli e inventory» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.

Cosa imparerò in «Progettare il progetto: ruoli e inventory»?

Organizzi l'intero repository di deployment Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare DevOps Bootcamp?

Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Progettare il progetto: ruoli e inventory»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?

Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Progettare il progetto: ruoli e inventory
  2. Effettuare il provisioning, rafforzare e inizializzare gli host
  3. Deploy progressivo dietro il load balancer
  4. Smoke test, rollback e notifiche
← Torna a DevOps Bootcamp