On trouvera ci-après un aperçu des procédures utilisées par Akamai pour améliorer la sécurité des logiciels au cours du processus de développement. Ce processus est suivi par toutes les équipes d'ingénierie pour minimiser les instabilités potentielles que vous pourriez constater au cours du processus de compilation.

Bien qu'Akamai procède à de nombreux tests d'assurance qualité, la totalité des ressources Internet peut entraîner des situations inattendues propres à une zone géographique, à un fournisseur d'accès Internet ou à un client.

Tout d'abord, quelques données : Les ingénieurs Akamai développent des logiciels qui seront ensuite installés sur des centaines de milliers de serveurs, dont les réseaux distribués d'Akamai. Le processus de développement logiciel d'Akamai utilise un modèle opérationnel semblable à celui employé par d'autres grands fournisseurs SaaS (Software as a Service). Il s'agit d'un modèle évolutif qui accorde une attention particulière au travail d'équipe, à la répartition des rôles et à la gestion des risques. Outre le développement logiciel en interne, Akamai utilise largement les composants logiciels écrits par d'autres, y compris les logiciels FLOSS (Free/Libre et Open Source Software), ainsi que les logiciels propriétaires provenant des fournisseurs en amont.

Ces composants sont modifiés par Akamai à des fins d'évolutivité ou d'amélioration des procédures de dépannage, pour transmettre aux systèmes de surveillance des contrôles liés aux dispositifs de télémétrie ou à l'état général, ou encore pour n'utiliser qu'un composant logiciel spécifique.

Le service d'ingénierie d'Akamai utilise un système de contrôle des versions (RCS) qui limite la quantité de modifications logicielles autorisées et impose une date limite d'enregistrement pour la soumission de code source. Les vérifications du code source, en entrée et en sortie, sont authentifiées avec un système de cryptographie asymétrique (à clé publique) à des fins de contrôle d'accès et de non-répudiation.

Les changements sont mis en œuvre de façon progressive et sont organisés par « phases » afin de garantir un impact minimal sur les services Akamai. Akamai installe le logiciel via des connexions sécurisées dotées de dispositifs de protection qui permettent de vérifier que les composants ont été correctement révisés et n'ont pas fait l'objet de modifications entre temps.

Ce n'est qu'après la vérification de l'état de fonctionnement et de stabilité de chaque phase que le déploiement des autres composants est initié. Akamai appelle cela la phase « mondiale ». Pour chacune des phases, un processus documenté permet de revenir en arrière dans la procédure d'installation. En effet, le logiciel ne pourrait pas bloquer automatiquement l'acheminement du trafic vers les régions nouvellement équipées, même en cas de problème. En règle générale, en cas d'opération de rappel ou de restauration, l'exécution des serveurs concernés est automatiquement suspendue.

Lors du déploiement global, l'installation logicielle s'effectue généralement par « groupes » afin de minimiser l'impact sur les services Akamai. Si une région dispose de trois serveurs, par exemple, un seul serveur sera installé à la fois. Par souci de continuité, Akamai ne procède pas à l'équipement de régions entières en une seule opération.

Ces dispositions permettent de minimiser les répercussions inattendues sur le réseau qui pourraient être provoquées par une modification logicielle au cours des procédures d'installation, ce qui permet de garantir la continuité des services aux clients.