Parliamone
// metodo.stack

Strumenti & Stack

Non scegliamo tecnologie per simpatia. Ogni strumento nel nostro stack ha guadagnato il suo posto risolvendo problemi reali in produzione.

Quando si sviluppa un sistema software, ogni componente (il linguaggio di programmazione, il database, l'infrastruttura cloud, gli strumenti di deploy) deve essere scelto, configurato e fatto funzionare insieme agli altri. L'insieme di queste tecnologie si chiama stack. Non è una lista della spesa: è un'architettura di scelte che determinano quanto un sistema sarà affidabile, manutenibile e scalabile nel tempo. Uno stack ben costruito passa inosservato. Uno stack mal costruito diventa il problema principale dell'azienda nel momento meno opportuno.

Il nostro stack non è un dogma. Cambia in funzione del contesto del cliente, dei vincoli tecnici e delle competenze del team che dovrà mantenere il sistema. Quello che segue è l'insieme di tecnologie che utilizziamo più frequentemente, con le ragioni per cui le preferiamo. Quando il progetto lo richiede, usciamo da questo perimetro senza esitazione.

Questa pagina non è un badge wall. Non elenchiamo ogni libreria che abbiamo toccato, ogni servizio cloud che abbiamo configurato, ogni linguaggio in cui sappiamo orientarci: sarebbe una lista lunga e sostanzialmente inutile. Preferiamo dichiarare l'insieme ridotto di strumenti che usiamo come default, quelli che conosciamo abbastanza a fondo da prevedere come si comportano sotto carico, in produzione, dopo due anni di evoluzione. Per ogni voce c'è una ragione di metodo, non di moda. Quando manca una ragione solida, la voce non entra nello stack.

Il principio operativo è quello della boring technology: a parità di funzione, scegliamo lo strumento più maturo, con la comunità più ampia, con il maggior numero di problemi già documentati e risolti. PostgreSQL invece dell'ultima novità NoSQL, Django invece del framework lanciato sei mesi fa, Python invece di un linguaggio emergente che promette il dieci per cento di performance in più. Un'azienda ha un budget limitato di novità che può sostenere senza pagarne il costo in stabilità: lo investiamo solo dove serve davvero, tipicamente sul dominio specifico del cliente, mai sull'infrastruttura di base. Le tecnologie nuove entrano nello stack quando risolvono un problema concreto che le mature non risolvono, non per il piacere di averle in CV.

Va detta anche una cosa importante: non vincoliamo i clienti al nostro stack. Se un'azienda ha già investito in un ecosistema diverso, lavorando con tecnologie che il suo team conosce e mantiene, il nostro compito è inserirci in quel contesto, non sostituirlo. Una migrazione tecnologica si propone solo quando i benefici giustificano il costo di transizione, e nella maggior parte dei casi non lo giustificano. Lo stack che segue è il nostro punto di partenza quando si parte da zero, non un requisito di ingaggio.

Data

Pipeline, analisi, business intelligence: tutto ciò che trasforma dati grezzi in decisioni informate.

  • Python Linguaggio principale per data engineering e analisi. Ecosistema maturo e adozione universale.
  • PostgreSQL Database relazionale di riferimento. Affidabile, performante, con supporto nativo per JSON e time series.
  • dbt Trasformazioni dati versionabili e testabili. Porta le best practice dello sviluppo nel mondo dei dati.
  • Apache Airflow Orchestrazione dei flussi dati con monitoraggio e retry granulari.
  • Metabase Business intelligence accessibile anche ai non tecnici, senza dipendere dal team di sviluppo per ogni report.

Cloud

Infrastruttura, deploy, scalabilità: l'ambiente in cui tutto gira.

  • AWS Cloud provider principale per profondità di servizi, documentazione e comunità.
  • Terraform Infrastructure as Code. L'infrastruttura versionata e riproducibile come qualsiasi altro codice.
  • Docker Containerizzazione standard. Ambienti uniformi tra sviluppo e produzione, deploy e rollback semplificati.
  • GitHub Actions CI/CD integrata nel flusso di sviluppo, senza infrastruttura dedicata.

Dev

Sviluppo software, architettura applicativa, strumenti di lavoro quotidiano.

  • Django Framework web di riferimento per applicazioni business-critical dove conta l'affidabilità.
  • FastAPI API moderne e performanti per servizi puri con requisiti di latenza elevati.
  • TypeScript Frontend e Node.js. Il typing statico previene categorie di bug che in JavaScript emergono solo in produzione.
  • Git Non è negoziabile. Ogni progetto ha una storia tracciabile dal primo commit.

AI & Machine Learning

Modelli, agenti intelligenti, automazione: applicata a problemi reali, non come fine a sé stessa.

  • LLM integration Integrazione di modelli linguistici (Claude, OpenAI, Mistral) in applicazioni esistenti, scelti per costo, latenza e qualità dell'output.
  • LangChain / LlamaIndex Orchestrazione di pipeline AI complesse: RAG, agenti, sistemi multi-step.
  • ML classico Per forecasting, segmentazione e classificazione dove serve un modello interpretabile e manutenibile.
  • Vector databases Ricerca semantica e retrieval aumentato, quando il caso d'uso lo richiede.

Security

Sicurezza non come strato aggiuntivo, ma come requisito integrato in ogni fase.

  • OWASP Top 10 Riferimento costante per lo sviluppo sicuro. Ogni applicazione verificata contro le vulnerabilità più comuni.
  • Vault Gestione centralizzata di segreti, chiavi API e certificati. Niente nel codice, niente nei file di configurazione.
  • Cloudflare Protezione perimetrale, DNS, CDN. Difesa silenziosa da DDoS, bot e attacchi comuni.
  • Audit periodici Revisioni regolari di codice, configurazioni e accessi per identificare derive prima che diventino vulnerabilità.

Quello che (deliberatamente) non c'è

L'assenza è una scelta tecnica come la presenza. Non proponiamo blockchain per problemi che non sono di blockchain, perché un database condiviso con controllo degli accessi risolve quasi tutti i casi reali a un costo operativo molto minore. Non costruiamo sistemi di produzione su piattaforme no-code o low-code: vanno bene per prototipi e flussi interni semplici, diventano una trappola quando il caso d'uso evolve oltre quello che la piattaforma prevede. Restiamo cauti sulle ondate di strumenti AI che promettono autonomia operativa senza maturità di osservabilità, valutazione e controllo: li sperimentiamo, ma li portiamo in produzione solo quando esiste un modo serio per misurarne il comportamento. Lo stack si difende anche per sottrazione, non solo per addizione.

Hai un problema tecnologico da risolvere?

Raccontaci la situazione. Rispondiamo entro 24 ore nei giorni lavorativi.

Tweaks

Light mode
Atmospheric (glass)
Client logos
Terminal hero