Un sistema distribuito, noto anche come calcolo distribuito, è un sistema con più componenti situati su macchine diverse che comunicano e coordinano le azioni per apparire all'utente finale come un unico sistema coerente. Le macchine che fanno parte di un sistema distribuito possono essere computer, server fisici, macchine virtuali, container o qualsiasi altro nodo in grado di connettersi alla rete, di disporre di memoria locale e di comunicare attraverso il passaggio di messaggi.