Migliorare l’efficienza degli sviluppatori attraverso l’automazione delle politiche di successo di DoorDash

In un recente passo avanti verso il rafforzamento dell'efficienza degli sviluppatori, DoorDash ha sfruttato la potenza di Open Policy Agent (OPA) con effetti significativi. Il team infrastrutturale di DoorDash ha osservato notevoli vantaggi da questa iniziativa, tra cui revisioni accelerate delle modifiche alle politiche infrastrutturali, etichettatura più completa delle risorse e una significativa riduzione degli incidenti derivanti da violazioni delle politiche

Imparare dagli incidenti passati: il viaggio di DoorDash verso l'automazione delle politiche

Alcuni anni fa, DoorDash ha subito un incidente che ha causato un improvviso calo del volume degli ordini. Sebbene il team dell'infrastruttura sia riuscito a correggere la situazione nel giro di un'ora, la causa principale dell'incidente è stata un incidente apparentemente innocuo: la rimozione accidentale di risorse AWS critiche sepolte all'interno di un codice Terraform contenente circa 90 altre risorse. Questa consapevolezza ha spinto DoorDash a intraprendere il percorso di automazione delle politiche per proteggersi da tali sviste cruciali in futuro.

La spina dorsale: sfruttare OPA e Atlantis

Al centro del successo di DoorDash c'è Atlantis, un orchestratore open source progettato per i piani Terraform. Questo orchestratore si occupa del ciclo di vita del piano Terraform. Il processo si svolge con gli utenti che avviano richieste pull dell'infrastruttura su GitHub, attivando successivamente un evento webhook che viene inviato a un lavoratore Atlantis. Questo lavoratore recupera quindi le policy OPA da un bucket S3 designato.

Garantire la conformità: il ruolo delle regole politiche

La creazione di regole politiche utilizzando le query Rego si è rivelata determinante per DoorDash. Queste regole politiche fungono da investigatori, individuando le deviazioni dallo stato previsto del sistema. Qui entra in scena lo strumento del concorso, che utilizza rigorosamente le politiche OPA per valutare i dati rispetto alle asserzioni politiche.

Mettere insieme i pezzi: esecuzione e revisione

Una volta che lo strumento del concorso avrà completato la sua valutazione rispetto al piano Terraform, Atlantis interverrà per allineare il piano alle politiche definite dall'OPA. Il culmine di questo processo vede i risultati, insieme ai complessi dettagli del piano Terraform, aggiunti come commenti direttamente alle corrispondenti richieste pull GitHub.

Semplificazione del flusso di lavoro con l'approvazione pull

Spostando ulteriormente l'agenda sull'efficienza, DoorDash integra Pull Approve nell'equazione. Questa integrazione GitHub gestisce magistralmente gli aspetti critici del ciclo di vita dello sviluppo: revisione del codice, assegnazione e conformità alle policy. Con le approvazioni necessarie in modo sicuro, Atlantis prende le redini, eseguendo modifiche alle risorse AWS secondo il piano Terraform.

Politiche: guardiani di affidabilità, velocità, efficienza e sicurezza

Illustrando la versatilità di questo sforzo di automazione, Lin Du, Senior Software Engineer presso DoorDash, fa luce sulla diversità delle politiche adottate. Queste politiche possono essere classificate in quattro tipi distinti: affidabilità, velocità, efficienza e sicurezza.

Nell'ambito dell'affidabilità, una considerazione fondamentale è proteggere le risorse critiche dall'eliminazione involontaria. Du chiarisce questo punto con un esempio di politica che identifica queste risorse indispensabili. L’attuazione della politica impone inoltre una fase di verifica, richiedendo una revisione amministrativa prima che possa procedere qualsiasi modifica a queste risorse.

Per aumentare la velocità, Du attraversa uno scenario in cui le policy aiutano a controllare i moduli Terraform all'interno di una determinata richiesta pull rispetto a un elenco già approvato. Se il team dovesse utilizzare un modulo non elencato, la policy lo spinge a prendere in considerazione alternative pre-approvate, garantendo un riutilizzo del codice fluido ed efficiente.

Aprire la strada al futuro: vantaggi in abbondanza

I risultati dell'automazione delle politiche di DoorDash sono a dir poco trasformativi. Il tempo investito dal team dell'infrastruttura nella revisione delle richieste pull è notevolmente diminuito, aprendo la strada a miglioramenti olistici del prodotto. Ancora più importante, la ritrovata capacità del team di individuare tempestivamente le discrepanze politiche è servita da scudo preventivo contro gli incidenti derivanti da violazioni delle politiche. A testimonianza del loro successo, il team ha ottenuto un notevole aumento nella copertura e nella standardizzazione dell'etichettatura delle risorse, passando da un modesto 20% a un impressionante 97,9%. Questo risultato non ha solo ottimizzato i costi, ma ha anche semplificato le dinamiche del team.

Il viaggio di DoorDash nell'automazione delle policy esemplifica come l'utilizzo di strumenti come Open Policy Agent, Atlantis e Pull Approve possa produrre risultati trasformativi. L'azienda si è spinta verso un futuro di maggiore efficienza degli sviluppatori, riduzione degli incidenti e ottimizzazione dei costi attraverso una meticolosa elaborazione, allineamento e applicazione delle politiche. Mentre il settore continua ad evolversi, la storia di successo di DoorDash rappresenta un'ispirazione, illuminando un percorso che altri possono seguire nella ricerca di flussi di lavoro semplificati e produttività elevata.

Inizia a scrivere il termine ricerca qua sopra e premi invio per iniziare la ricerca. Premi ESC per annullare.

Torna in alto