Infrastructure as code (IaC) è il processo di gestione e provisioning dei data center dei computer attraverso file di definizione leggibili dalla macchina, oppure mediante configurazione hardware fisica o strumenti di configurazione interattiva. L'infrastruttura IT intesa in questo senso comprende sia apparecchiature fisiche come server bare-metal sia macchine virtuali e risorse di configurazione associate. Le definizioni possono essere in un sistema di controllo della versione. Può utilizzare sia script che definizioni dichiarati, oppure processi manuali, ma il termine è più spesso usato per promuovere approcci dichiarativi.
Infrastruttura come approcci di codice sono promossi per il cloud computing, che a volte è commercializzato come infrastruttura come servizio (IaaS). IaC supporta IaaS, ma non dovrebbe essere confuso con esso.
IaC è cresciuto come risposta alla difficoltà posta da due componenti della tecnologia dirompente: l'utility computing e i framework web di seconda generazione. Ciò ha causato problemi di ridimensionamento diffusi per molte imprese che in precedenza erano testimoniate dalle grandi aziende. Nel 2006, in particolare, sono state portate alla ribalta nuove sfide che hanno scosso l'industria della tecnologia; il lancio di Elastic Compute Cloud di Amazon Web Services e la versione 1.0 di Ruby on Rails pochi mesi prima. Con l'emergere di nuovi strumenti per gestire questo settore in continua crescita, è nata l'idea di Infrastructure as Code. L'idea di modellare l'infrastruttura con il codice e di avere la capacità di progettare, implementare e distribuire l'infrastruttura delle applicazioni con le best practice del software note ha attratto gli sviluppatori di software e gli amministratori dell'infrastruttura IT. La capacità di trattarlo come un codice e utilizzare gli stessi strumenti di qualsiasi altro progetto software consentirebbe agli sviluppatori di distribuire rapidamente le applicazioni.