Consideriamo il Cloud Native computing come un approccio allo sviluppo software che utilizza il cloud computing per sviluppare ed eseguire applicazioni scalabili in ambienti moderni e dinamici, come i cloud pubblici, privati e ibridi.
Tecnologie come container, microservizi, funzioni serverless e infrastrutture immutabili distribuite tramite codice dichiarativo sono elementi comuni del nostro stile architettonico.
Anti-Fragile
Dal nostro punto di vista, la scelta di metodologie anti-fragile rappresenta una scelta razionale quando si parla di cloud computing. Richiede un atteggiamento completamente nuovo nei confronti dei malfunzionamenti. Infatti, i sistemi fault tolerant spesso portano a lunghi cicli di delivery e a un alto grado di complessità che aumentano la probabilità di guasti e creano sistemi fragili.
Chaos Engineering
I guasti sono inevitabili, a prescindere da quanto il software viene testato prima di distribuirlo. Per questo motivo sosteniamo la Chaos Engineering, la pratica di immettere guasti in un sistema prima che si verifichino naturalmente. Adottando questo approccio, ci assicuriamo che i sistemi in costante evoluzione raggiungano la resilienza necessaria, permettendoci di scoprire e correggere scenari di errore imprevisti prima che abbiano un impatto sugli utenti.
GitOps
Adottiamo il GitOps come approccio fondamentale alla gestione delle infrastruttura code-based e delle procedure operative. Si tratta di un'evoluzione di Infrastructure as Code (IaC) e di una best practice DevOps che sfrutta Git come chiave di lettura e meccanismo di controllo per la creazione, l'aggiornamento e la cancellazione dell'architettura di sistema. In altre parole, ci basiamo sulle istanze Git pull per automatizzare la convalida e la distribuzione delle modifiche all'infrastruttura di sistema. Ogni volta che le istanze pull vengono approvate e aggiunte, l'infrastruttura live viene automaticamente riconfigurata e sincronizzata per riflettere lo stato della repository. Questo flusso continuo di sincronizzazione delle modifiche attraverso le richieste di pull è il cuore della nostra filosofia GitOps.