La sfida dell'Infrastructure-as-Code (IaC) è che può essere trasversale alle discipline, richiedendo competenze in materia di sicurezza, abilità di programmazione degli sviluppatori e capacità di distribuzione delle operazioni IT.
"Il codice non si scrive da solo: è ancora necessaria un'enorme quantità di competenze in termini di operazioni e sicurezza", ha dichiarato Venkat Thiruvengadam, CEO e fondatore di DuploCloud. "L'idea che gli sviluppatori utilizzino semplicemente l'infrastruttura come codice e costruiscano il software, credo che stia iniziando a incontrare delle difficoltà, perché pur sapendo programmare, gli sviluppatori non conoscono le operazioni perché non sono persone che si occupano di IT [operazioni], né conoscono la sicurezza perché non sono persone che si occupano di sicurezza".
Gli strumenti Infrastructure-as-Code stanno crescendo di popolarità perché automatizzano e semplificano le complessità della distribuzione in ambienti ibridi o multicloud e ora nell'edge computing, ha affermato Jay Lyman, analista di 451 Research, che fa parte di S&P Global Market Intelligence.
"Questa è una parte importante del motivo per cui vediamo una trazione per Infrastructure-as-Code e GitOps per fornire una certa coerenza tra i diversi ambienti, tra dev test e produzione", ha detto Lyman. "L'Infrastructure-as-Code, se distribuito correttamente, può aiutare a ridurre una parte della sua complessità; si può ridurre la configurazione e la dispersione dell'ambiente".
Il mercato delle soluzioni IaC è relativamente maturo, ha dichiarato Douglas Reynolds, ingegnere software presso la divisione CERT del Software Engineering Institute della Carnegie Mellon University, che ha studiato il mercato.
"I cambiamenti saranno più che altro verso gli orchestratori che gestiscono gli strumenti", ha dichiarato Reynolds a The New Stack. "Se si sceglie Ansible, molte volte si tratta di un'esecuzione ad hoc, oppure c'è una macchina che lo esegue. Chef può essere eseguito accedendo al sistema ed eseguendo manualmente il codice. [...] Quindi penso che i maggiori cambiamenti arriveranno con gli orchestratori, che fondamentalmente forniscono un'interfaccia utente su questi strumenti".
Thiruvengadam vede un mercato maturo per l'interruzione. Le competenze interdisciplinari richieste dall'IaC - qualcuno con esperienza di sicurezza, operazioni e programmazione - rappresentano una nicchia, ha dichiarato Thiruvengadam a The New Stack. DuploCloud, con sede a San Jose, in California, si rivolge a questa esigenza con una soluzione low-code/no-code.
"L'idea generale di Duplo Cloud è che si possa usare infrastrutture-as-code, ma che si debbano scrivere molte meno righe di codice", ha detto Thiruvengadam. "Molte persone che non hanno tutte e tre le competenze possono comunque operare con la stessa scala ed efficienza, utilizzando questa tecnologia: questo è fondamentalmente il vantaggio principale".
A differenza di alcune soluzioni, che si basano su moduli o librerie già pronti, Thiruvengadam ha affermato che DuploCloud utilizza un'interfaccia low-code per mettere insieme le regole per il suo motore basato sulle regole, che poi le esegue per produrre l'output.
La soluzione self-hosted single-tenant viene distribuita all'interno dell'account cloud del cliente. Attualmente supporta l'implementazione su Amazon Web Services, Microsoft Azure e Google Cloud, ma può essere eseguita anche on-premise.
Il software viene eseguito in una macchina virtuale e ottiene le autorizzazioni per chiamare il cloud provider tramite API, utilizzando le autorizzazioni concesse alla macchina virtuale. Ad esempio, come si legge nella documentazione, in AWS si può utilizzare il profilo dell'istanza, mentre in Azure si può utilizzare l'identità gestita.
DuploCloud ha sottolineato che la soluzione che interagisce con il cloud provider monitora continuamente la configurazione, gli errori di sistema e i controlli di sicurezza e conformità. Il risultato è che la soluzione mantiene una copia ad alta fedeltà delle configurazioni, riducendo gli errori, garantendo il rispetto degli standard di conformità e migliorando la sicurezza, ha dichiarato Thiruvengadam. La soluzione mantiene anche una cronologia delle modifiche, ha aggiunto.
DuploCloud non genera codice Terraform, ma fornisce un kit di sviluppo software per Terraform chiamato DuploCloud Terraform Provider. Questo "consente all'utente di configurare l'infrastruttura cloud utilizzando i costrutti di DuploCloud, anziché utilizzare direttamente i costrutti dei provider cloud di livello inferiore", si legge nella documentazione. "Questo permette all'utente di ottenere i vantaggi dell'IaC riducendo significativamente la quantità di codice da scrivere". Il provider DuploCloud Terraform chiama le API DuploCloud.
Si tratta di un livello di astrazione che, come riconosce Thiruvengadam, toglie un po' di controllo agli strumenti di vecchia generazione, come Puppet e Chef. Ma lo ha paragonato alla perdita di controllo subita dai programmatori C e C++ dopo l'arrivo di Java e di altri linguaggi di programmazione di livello superiore: La gente si preoccupava dell'allocazione della memoria, ma nel 99% dei casi d'uso veniva gestita dall'orchestratore Java senza alcun intervento manuale.
"Ci è voluto un po' di tempo prima che la gente lo accettasse e ora nessuno parla di allocazione di memoria quando scrive programmi", ha detto. "Quindi si tratta solo di abituarsi e di accettarlo".
Di Loraine Lawson