Les outils et technologies DevSecOps

Les outils et technologies DevSecOps

Publié le


Do not index
Do not index
Primary Keyword
Lié à Analyse sémantique (Articles liés) 1
Lié à Analyse sémantique (Articles liés)
Statut rédaction
Terminé
Lié à Analyse sémantique (Articles liés) 2

Introduction

Dans cet article, tu pourras retrouver l'ensemble des outils et technologies importantes à connaître dans l'univers du DevSecOps.

Plan : Outils de planification

Outils de planification
Outils de cadrage d’infrastructure
Outils pour dresser les risques

Code : Outils de développement

Outils d’édition de code
VSCode
Outils de gestion de code
La première étape d’une collaboration DevSeOps est d’aligner les équipes de développement et les ops sur un même outil de gestion de code source. Concrètement, cela permet de connaître les différentes modifications du code et les auteurs de celles-ci. Il s’agit d’un outil de versionning : toute modification de code entraîne la création d’une nouvelle version. Historiquement, les ops n’utilisent pas ce genre d’outils car il y a peu d’automatisation, tout est manuel et il n’y a donc pas de code. Or une fois qu’il y a du code, la bonne pratique est de le partager et de le faire relire par ses pairs. C’est là que les outils de gestion de code rentrent en scène.
Il y a deux types de gestions de code :
Les outils comme Git et Subversion, qui servent à créer un historique de ses fichiers : à tel moment, tel changement a été fait dans tes fichier. Subversion est un outil plus ancien et moins efficace que Git.
Les outils comme Github, Gitlab et Bitbucket qui servent à partager son code, et donc l’historique qui va avec. Ils sont basés sur Git et il est possible d’avoir l’historique du code et de travailler à plusieurs dessus. Si Github a le monopole historiquement, Gitlab devient de plus en plus populaire, notamment grâce à Gitlab CI qui est efficace.
Github
Gitlab
Bitbucket
Outils d’injection des secrets environnements local
Vault
Outils d’injection des secrets dans les applications
Vault
Secrets
Sealed secrets
Chiffrement des secrets dans Git pour pouvoir avoir un infra full as code mais avec des données sécurisé
AWS Secrets Manager
Akeyless Vault
Keywhiz
Knox
Doppler
Outils de partage de secret entre coéquipier
Vault
Lastpass
Secrets
Sealed secrets
Chiffrement des secrets dans Git pour pouvoir avoir un infra full as code mais avec des données sécurisé
AWS Secrets Manager
Akeyless Vault
Keywhiz
Knox
Doppler

Build : Outils pour build

Outils de compilation
make
GCC

Test : Outils pour tester son code

Outils d’analyse de code (SCA, SAST)
Outils de Continuous Integration (CI)
Gitlab CI
Github Action
Jenkins
Circle-CI
Bamboo
TeamCity
Concourse
Travis CI
Azure DevOps
Plusieurs types d’automatisation en Devops existent :
  • Mettre en place des configurations automatiques sur les serveurs
  • Automatiser les actions des serveurs
Outils tests unitaire
Outils tests d’intégration
Selenium
Outils tests de charge
Gatling
Locust
Apache JMeter
Outils tests de sécurité
Aqua Security : Analyse des images docker
Gitleaks : Détection des secrets dans le repo
GitGuardian : Détection des secrets dans le repo
Outils d’analyse de code (qualité, et sécurité)
Sonarqube
Analyse qualité du code
Linters
Snyk
SCA
SAST
Outils tests des dépendances

Release : Outils pour versionner son code

Outils de versioning
Outils stockage d’artifacts
S3
Artifactory
Registry dockers
Docker registry
Rancher
AWS ECR

Infrastructure : Technologies pour héberger son code

AWS
Azure
Google Cloud Platform (GCP)
OVH
Scaleway
Heroku
Vercel
Netlify

Deploy : Outils de déployer son code

Outils de Continous Deployment CD
Gitlab CI
Github Action
Jenkins
Circle-CI
Outils d’infrastructure as code
Ansible : gestion de la configuration des serveurs esclaves
Terraform : provisioning d’infrastructure
Puppet : gestion de la configuration des serveurs esclaves
Chef
Helm
Salt : gestion de la configuration des serveurs esclaves
Outils containers
Docker
Rtk
Buildah
Kubernetes

Monitor : Outils de monitoring

Outils gestion des logs
ELK (Elasticsearch, Logstash et Kibana)
New Relic
Remonté des erreurs
Sentry
Remonté des métriques
Prometheus
Dashboard de visualisation
Grafana
Kibana
Kube Lens
Outils gestion des accès
Outils de pen test
Outils d’observabilité
Outils d’alerting
Alertmanager

Operate : Outils de supervision

Outils de ticketing

Quelques infographies d'outils intéressantes

notion image
notion image
notion image
notion image

Pour aller plus loin

⚙️
Tableau : Les outils et technologies DevSecOps
Expérience : 4 ans minimum
Outils de sécurité et de conformité :
  • AWS IAM, Azure AD, GCP IAM : pour la gestion des identités et des accès
  • Security Information and Event Management (SIEM) : comme Splunk, QRadar
  1. Outils de gestion des incidents et de la résolution des problèmes :
      • PagerDuty : pour la gestion des alertes et des incidents
      • VictorOps, OpsGenie : pour la gestion des alertes et des astreintes
      • Incident Management Platforms : comme JIRA Service Desk, ServiceNow
  1. Outils de monitoring et de supervision :
      • Prometheus : pour le monitoring et l'alerting
      • Grafana : pour la visualisation des métriques
      • ELK Stack (Elasticsearch, Logstash, Kibana) : pour l'analyse des logs
      • Datadog, New Relic, Dynatrace : pour le monitoring des performances et de la santé des systèmes
  1. Outils d'orchestration et d'automatisation :
      • Kubernetes : pour l'orchestration des conteneurs
      • Docker : pour la conteneurisation des applications
      • Terraform : pour la gestion de l'infrastructure comme du code
      • Ansible, Puppet, Chef : pour la configuration et le déploiement automatique
  1. Outils de déploiement et d'intégration continue (CI/CD) :
      • Jenkins, GitLab CI/CD, CircleCI : pour l'intégration continue et le déploiement automatique
      • Spinnaker : pour le déploiement continu et la livraison des applications
  1. Outils de gestion des versions et du code source :
      • Git : pour la gestion de versions du code source
      • GitHub, GitLab, Bitbucket : pour l'hébergement de dépôts Git
  1. Outils de sécurité et de conformité :
      • Vault : pour la gestion des secrets et des clés
      • AWS IAM, Azure AD, GCP IAM : pour la gestion des identités et des accès
      • Security Information and Event Management (SIEM) : comme Splunk, QRadar
  1. Outils de test et de validation :
      • Selenium : pour les tests d'interface utilisateur
      • JUnit, pytest : pour les tests unitaires
      • SonarQube : pour l'analyse statique du code et la détection de problèmes de qualité
  1. Outils de collaboration et de documentation :
      • Confluence, Wiki : pour la documentation et le partage de connaissances
      • Slack, Microsoft Teams : pour la communication en équipe
  1. Outils de gestion des bases de données :
      • MySQL, PostgreSQL : pour les bases de données relationnelles
      • MongoDB, Cassandra : pour les bases de données NoSQL
      • Redis, Memcached : pour le caching et le stockage en mémoire
  1. Outils de gestion des performances et de l'optimisation :
      • Apache JMeter, Gatling : pour le test de charge et de performance
      • APM (Application Performance Monitoring) : comme AppDynamics, Dynatrace
  1. Outils de planification et de gestion des changements :
      • JIRA, Asana : pour la gestion de projet et le suivi des tâches
      • Change Management Platforms : comme ServiceNow, BMC Remedy

S'inscrire à la newsletter DevSecOps Keltio

Pour recevoir tous les mois des articles d'expertise du domaine

S'inscrire

Écrit par

Kévin Didelot
Kévin Didelot

Kévin est notre super expert DevSecOps et le fondateur de Keltio 👨🏻‍💻