Verifica la scalabilità

Quando i clienti hanno spostato le pipeline di versione in YAML dalla gestione classica delle versioni, la prima sfida che abbiamo riscontrato è stata la gestione dei controlli su larga scala. Due dei controlli usati più di frequente sono le funzioni di Azure e i controlli dell'API REST. L'esperienza predefinita in Azure Pipelines comporta la creazione di chiamate sincrone da Azure Pipelines in funzioni di Azure o nel server REST. Oltre a questo, queste chiamate vengono ritentate frequentemente fino al completamento del controllo. Questa progettazione è semplice e funziona bene per carichi di lavoro di piccole dimensioni. Tuttavia, non viene ridimensionata quando sono presenti un numero elevato di controlli, quando la funzione o il server REST richiede più tempo per rispondere o quando sono presenti un numero elevato di tentativi.

L'implementazione dei controlli asincroni verrà semplificata, nota anche come modello di callback, e verrà modificata l'esperienza nel prodotto in modo da consigliarlo sul modello sincrono. Usando il modello di callback, la funzione di Azure o il server REST può decidere di non riuscire o passare il controllo in qualsiasi momento prima che venga raggiunto un timeout, eliminando così la necessità di tentativi del tutto. Questo modello consente anche alla funzione di Azure o al server REST di impiegare il tempo necessario per valutare il controllo senza usare le risorse di calcolo in Azure Pipelines.