Que vous soyez DevOps, SRE (Site Reliability Engineering) ou ITOps (une combinaison des deux), la continuité des services est une responsabilité partagée. Pour que tout continue à fonctionner dans votre entreprise et que vos SLA et SLO soient respectés, vous devez garantir la fiabilité et la résilience de plusieurs applications - vos systèmes d'entreprise, les données transactionnelles et de configuration, les monolithes et les microservices, probablement par le biais d'un mix entre plateformes et technologies.
Et si le déploiement des applications a toujours été la phase la plus critique du cycle de vie des logiciels, DevOps et le passage au cloud ne font qu'accroître la complexité du processus de déploiement. Un transfert défectueux vers un environnement SaaS peut avoir un impact simultané sur tous les utilisateurs de ce service - et avec un taux élevé de changement d'application, la stabilité de votre système est constamment à risque.
Pourquoi CI/CD n'est pas suffisant ?
Dans les environnements hybrides d'aujourd'hui, l'automatisation du CI/CD n'est qu'une partie de la réponse. Il est plus important de garantir la résilience de vos applications que d'échouer moins souvent. Les contraintes de temps signifient que le "report" n'est pas toujours une option, et les déploiements fréquents nécessitent un mécanisme automatisé de retour en arrière (rollback) qui remplace n-1 de vos logiciels et données dans tous les systèmes cibles.
Ajoutons à cela que la plupart des mises en œuvre DevOps sont personnalisées avec des outils spécifiques et adaptées à une seule tâche - propre à une seule équipe, et à une seule application. Désormais, les outils de gestion des versions doivent fonctionner par "macro-release", en construisant automatiquement un pipeline pour chaque CI/CD - en fonction des données (et non d'une équipe spécifique).
La sécurité est l'affaire de tous
Il va sans dire que la sécurité est une préoccupation primordiale et qu'il faut y prêter attention tout au long du cycle DevSecOps. Alors que les outils SAST (Static Application Security Testing) analysent le code source statique pour « shift left » la sécurité, toute vulnérabilité open source doit être détectée dans les fichiers binaires avant toute importation dans le référentiel d'artefacts.
Les outils de Release Management doivent donc être complétés par des Policy engines pour avoir accès aux renseignements les plus récents sur les composants open source.
DROPS Orchestration des mises en production d'applications – tout en un
En réponse à tous ces défis, DROPS est une solution d'Orchestration des déploiements d'Applications (ARO) simple à utiliser - une seule console pour sécuriser, déployer, suivre et rétablir les applications dans tout votre écosystème. DROPS gère les logiciels, les données, les mises à jour de la structure des bases de données et les données ou paramètres de configuration. Un seul outil pour déployer en toute sécurité sur les systèmes open, IBM i ou mainframe System z, les conteneurs Docker, les clusters Kubernetes, et toutes les plateformes cloud comme AWS, Azure et GCP.
DROPS travaille au niveau des applications et des groupes d'applications, en séquençant les déploiements individuels dans l'ordre des dépendances pour garantir la cohérence et l'intégrité du système global.
Briser les barrières entre DevOps et SRE
Si DevOps et SRE cherchent tous deux à supprimer les silos traditionnels au sein de l'organisation informatique et à améliorer la collaboration entre les équipes de développement, de production et de sécurité, on peut néanmoins considérer que leurs objectifs sont quelque peu contradictoires.
DevOps met l'accent sur la rapidité du développement et du déploiement, tandis que les SRE se concentrent sur l'amélioration de la disponibilité et de la fiabilité des systèmes. Ce n'est qu'en automatisant la résilience au sein du processus de déploiement que les deux objectifs peuvent être atteints simultanément.
Grâce à son retour en arrière intégré unique - indépendant de tout outil externe - DROPS fait tomber les barrières entre DevOps et SRE, réconciliant les objectifs doubles (et plutôt contradictoires) de déploiement continu et de continuité de service.