Ciò che segue è uno sguardo sulle procedure utilizzate da Akamai per migliorare la sicurezza del software durante il processo di sviluppo. Si tratta di un processo a cui si attengono tutti i team tecnici al fine di minimizzare i casi in cui possano essere introdotte instabilità durante il processo di creazione.

Sebbene Akamai adotti molteplici test di controllo qualità, l'intero Internet a volte presenta casi limite pertinenti esclusivamente a un'area geografica, ISP o cliente.

Anzitutto, alcune informazioni di base: I tecnici Akamai sviluppano software che viene installato su centinaia di migliaia di server che costituiscono le reti distribuite di Akamai. Il processo di sviluppo del software Akamai prevede un modello incentrato sulle operazioni simile a quello adottato da altri importanti provider di Software as a Service (SaaS) Si tratta di un modello adattivo, con un'enfasi sul lavoro di team, divisione di ruoli e gestione dei rischi. In aggiunta al software sviluppato in-house, Akamai fa inoltre uso estensivo di software scritto da altri, tra cui FLOSS e software proprietario prodotto da fornitori di upstream.

Tali componenti vengono modificati da Akamai per motivi quali la scalabilità, i miglioramenti nella risoluzione dei problemi, per segnalare la telemetria e i controlli di integrità per il monitoraggio dei sistemi o soltanto per utilizzare una parte specifica del software.

Il tecnico Akamai utilizza un sistema di controllo delle revisioni (RCS) che pone limitazioni all'entità di modifiche software consentite e fornisce la registrazione delle notifiche orarie di check-in degli invii di codice sorgente. Check-out e check-in del codice sorgente sono autenticati con crittografia a chiave pubblica per fornire sia il controllo degli accessi sia il non-repudiation.

Le modifiche sono soggette a roll-out a fasi, per assicurare il minimo impatto ai servizi Akamai. Akamai installa il software su connessioni sicure con protezioni per verificare che i componenti appartengano alla revisione corretta e non siano stati modificati in transito.

Una volta verificato che ciascuna fase è in esecuzione e stabile, viene presa la decisione di implementare il resto. Akamai chiama questo “mondo” fase. In ogni fase esiste un processo documentato su come eseguire il roll back dell'installazione. Questo perché il software non si astiene automaticamente dall'inviare traffico alle regioni appena installate, anche in presenza di un problema. In molti casi, se risulta necessario eseguire un roll back, i server interessati si auto sospendono.

Le installazioni software sono eseguite generalmente in “gruppi” quando si assume il rollout globale per minimizzare l'impatto sui servizi Akamai Se una regione ha 3 server, ad esempio, sarebbe installato solo un server alla volta. Per garantire la continuità, Akamai non installa subito intere regioni.

Questi controlli sono progettati per minimizzare i casi in cui una modifica del software causa impatti indesiderati alla rete durante le installazioni, consentendoci così di continuare a fornire il servizio ai nostri clienti.