Glossaire du langage Cloud, Infra, Sécu, DevSecOps
Voici les différents termes avec leurs définitions que tu risques d’entendre en travaillant sur des sujets 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
A optimiser SEO
Lié à Analyse sémantique (Articles liés) 2
Les bases du lexiqueLexique GénéralLes différents métiersLexique du Cloud EngineerLexique du DéveloppeurArchitectureSécuritéQualité de service (QoS)FinOps
Hello, la team non DevOps tu trouveras ci-joint le glossaire Cloud, Infra, Sécu, DevSecOps.
Les bases du lexique
Lexique Général
Build / Run
Pipeline CI/CD
En génie logiciel, CI/CD est la combinaison des pratiques d'intégration continue et de livraison continue ou de déploiement continu. La CI/CD comble le fossé entre les activités et les équipes de développement et d'exploitation (ops) en imposant l'automatisation de la création, des tests et du déploiement des applications.
En gros, ça permet de tester et de déployer plus rapidement le code sur la prod
GitOps
L'approche GitOps repose sur l'utilisation de référentiels Git comme unique source de vérité pour distribuer l'infrastructure en tant que code.
Le code envoyé vérifie le processus d'intégration continue, tandis que le processus de distribution continue
vérifie et applique les exigences relatives à certains aspects, comme la sécurité, l'infrastructure en tant que code (IaC)
, ou toute autre limite fixée pour le framework d'application. Toutes les modifications apportées au code font l'objet d'un suivi, ce qui facilite les mises à jour et le contrôle de versions en cas de restauration.
FinOps
discipline de gestion du Cloud public qui permet aux organisations d'obtenir une valeur commerciale maximale du Cloud en permettant aux équipes technologiques, financières et commerciales de collaborer sur des décisions de dépenses basées sur des données.
Gestionnaire de code (git)
l s'agit d'un outil de développement qui aide une équipe de développeurs à gérer les changements apportés au code source au fil du temps
Monitoring
Le monitoring est une activité de surveillance et de mesure d'une activité informatique. On l'emploie pour permettre la supervision. Les raisons peuvent être variées : mesure de performance, en termes de temps de réponse par exemple ; mesure de disponibilité, indépendamment des performances
Supervision
La supervision est une technique industrielle de suivi et de pilotage informatique de procédés de fabrication automatisés. La supervision concerne l’acquisition de données et de paramètres de commande des processus généralement confiés à des automates.
Alerting
En informatique, le terme alerting ou alertage est historiquement utilisé pour prévenir les administrateurs d'un système en cas de défaillance : c'est la même logique qui est appliquée au champ de la veille, à l'exception près que le paramétrage d'une alerte dépasse l'identification de problèmes pour couvrir également ...
Ticketing
Un système de ticketing est un outil permettant de monitorer et documenter les échanges entre les clients et l'équipe support. centraliser les contacts entrants, qu'ils proviennent du site, des réseaux sociaux, des forums.
En gros, on créé un ticket pour que l’équipe technique soit au courant d’un sujet (bug, feedback, demande de features, support technique…) avec l’utilisateur. Il faudra attendre son tour, d’où le nom “ticketing”
Infogérance
Gestion de tâches informatiques confiées par une entreprise à un prestataire extérieur.
Les différents métiers
Développeur (Dev)
Personne qui écrit des logiciels
Opérateur (Ops)
DevOps / DevSecOps
Désigne à la fois le développement, la sécurité et l'exploitation. Il s'agit d'une approche de la culture, de l'automatisation et de la conception des plateformes qui intègre la sécurité en tant que responsabilité partagée tout au long du cycle de vie informatique.
DataOps
Site Reliability Engineering (SRE)
Le SRE (L'ingénierie de la fiabilité des sites) est une discipline qui intègre des aspects de l'ingénierie logicielle et les applique aux problèmes d'infrastructure et d'exploitation. Les principaux objectifs sont de créer des systèmes logiciels évolutifs et extrêmement fiables. Selon Ben Treynor, fondateur de la Site Reliability Team de Google, le SRE est « ce qui se passe quand un ingénieur logiciel est chargé de ce qu'on appelle des opérations ».
Un SRE consacrera jusqu'à 50 % de son temps à des tâches liées aux « opérations » telles que les problèmes, les astreintes et les interventions manuelles. Comme on s'attend à ce que le système logiciel supervisé par un SRE soit hautement automatique et autoréparable, le SRE devrait consacrer l'autre moitié de son temps aux tâches de développement comme les nouvelles fonctionnalités, l'évolution ou l'automatisation. Le candidat idéal pour devenir ingénieur en fiabilité de site est soit un ingénieur en logiciel avec une bonne formation en administration, soit un administrateur système hautement qualifié avec des connaissances en codage et en automatisation.
Sécurity Engineer
Architecte d’entreprise
L’architecte d'entreprise est un professionnel de l'informatique qui veille à ce que la stratégie informatique d'une entreprise soit alignée sur ses objectifs. Il analyse les caractéristiques de l'entreprise, définit l'ensemble de ses besoins métier ainsi que son environnement externe.
Architecte cloud
La mission de l'architecte cloud consiste en la définition de l'architecture technique de l'infrastructure hébergée dans le Cloud. Il veille à la sécurité des données hébergées.
Les architectes de cloud computing sont des experts techniques qui conçoivent, construisent et gèrent des solutions de cloud computing. Un architecte de cloud computing est la personne responsable de la conception et de la construction de la solution de cloud computing. Sa principale responsabilité est de concevoir une architecture en cloud qui conviendra le mieux à votre entreprise ou organisation tout en tenant compte de vos besoins et du budget du projet.
L’architecte du cloud travaille également avec d’autres équipes au sein d’une organisation pour mettre en place le reste de l’infrastructure sur cette base.
Architecte technique
L'Architecte technique veille aux infrastructures systèmes
Lors de la mise en place d'un nouveau projet, il participe à l'étude d'impact sur l'architecture existante ou prévisionnelle et formule des recommandations afin de garantir la cohérence de l'ensemble.
Lexique du Cloud Engineer
Lexique Cloud
Cloud
Le cloud computing, correspond à l’accès à des services informatiques via Internet à partir d’un fournisseur. Les principaux services proposés en cloud computing sont le SaaS, le PaaS, le IaaS ou le MBaaS, et les différents cloud provider publics sont Amazon Web Services, Microsoft Azure, Google Cloud Plateform, OVH, Scaleway.
On-premise / On-site
On-premise / On-site
En français, « On-Premises » signifie littéralement « dans les locaux » ou « sur site ». Cette définition d’On-Premises fait référence à l’utilisation du serveur et de l’environnement informatique de l’entreprise. Dans ce modèle d’utilisation, le client, ou licencié, achète ou loue un logiciel basé sur serveur qui sera installé sur son propre serveur ou sur un serveur loué. Comme le licencié exploite le logiciel dans son propre centre de calcul sur son matériel ou sur du matériel loué, on parle également de logiciel « in-house ».
Contrairement au cloud computing, les clients bénéficient avec le modèle On-Premises d’un contrôle total sur les données et assument de ce fait personnellement tous les risques associés. Le modèle On-Premises exclut toute utilisation du matériel du fournisseur et se démarque donc considérablement des modèles de cloud computing.
Cependant, les licenciés assument non seulement la responsabilité mais aussi l’intégralité des coûts résultant de l’utilisation du logiciel. Ces coûts incluent généralement les frais de maintenance ainsi que les dépenses engendrées pour l’exploitation du logiciel et du matériel. Dans le cas d’un logiciel open source, le développement continu et la résolution des erreurs sont souvent assumés par une petite communauté. L’inconvénient est que dans un tel cas, il n’existe aucune garantie. En cas de besoin, l’assistance nécessaire ou les mises à jour pour le logiciel peuvent être obtenues auprès du fournisseur correspondant.
Les licenciés reçoivent souvent le logiciel via une application de bureau ou une interface utilisateur basée sur le Web. Les entreprises gérant des données sensibles optent bien souvent pour l’application basée sur le bureau afin d’exclure d’éventuelles failles de sécurité ainsi que tout accès de personnes non autorisées au système.
Infrastructure as a service (Iaas)
L'IaaS, ou Infrastructure-as-a-Service, est la solution la plus proche d'une infrastructure sur site. Les services d'infrastructure, tels que le stockage et la virtualisation, sont fournis par un tiers lorsque vous en avez besoin par l'intermédiaire d'un cloud sur Internet. Ces services sont facturés selon votre utilisation.
En tant qu'utilisateur, vous êtes responsable du système d'exploitation ainsi que des données, applications, solutions de middleware et environnements d'exécution. Le fournisseur, quant à lui, gère le réseau, les serveurs, les fonctions de virtualisation ainsi que le stockage, et vous y donne accès en fonction de vos besoins.
Vous n'avez pas à assurer la maintenance ni la mise à jour de votre propre datacenter sur site, car le fournisseur le fait pour vous. Vous pouvez toutefois accéder à l'infrastructure et la contrôler via une interface de programmation d'application (API) ou un tableau de bord.
L'IaaS permet notamment de créer et de supprimer rapidement et de manière flexible des environnements de développement et de test. Vous pouvez utiliser uniquement l'infrastructure dont vous avez besoin pour créer votre environnement de développement et la faire évoluer aussi longtemps que nécessaire, puis la supprimer lorsque vous avez terminé et ne payer que ce que vous avez utilisé.
Les principaux inconvénients de l'IaaS sont les suivants : potentiels problèmes de sécurité chez le fournisseur, incertitude quant à la fiabilité du service et systèmes multi-clients où le fournisseur partage les ressources de l'infrastructure entre plusieurs clients. Il est possible d'éviter ces inconvénients en choisissant un fournisseur historique fiable et de confiance, qui bénéficie d'une réputation solide.
Plateform as a service (Paas)
Le modèle PaaS, ou Platform-as-a-Service, s'éloigne un peu plus de la gestion d'infrastructure entièrement sur site. Le fournisseur héberge le matériel et les logiciels sur sa propre infrastructure et met à disposition de l'utilisateur une plateforme via Internet, sous la forme d'une solution intégrée, d'une pile de solutions ou d'un service. D'abord destiné aux développeurs et aux programmeurs, le PaaS permet à l'utilisateur de développer, d'exécuter et de gérer ses propres applications, sans avoir à créer ni entretenir l'infrastructure ou la plateforme généralement associée au processus.
Vous écrivez le code, créez et gérez vos applications, le tout, sans avoir à vous préoccuper des mises à jour logicielles ou de la maintenance du matériel. L'environnement de développement et de déploiement vous est fourni.
Le PaaS permet aux développeurs de créer un framework qui leur sert de base pour développer et personnaliser leurs applications basées sur le Web. Les développeurs peuvent utiliser les composants logiciels intégrés pour créer leurs applications, et ainsi limiter la quantité de code qu'ils doivent écrire eux-mêmes.
Quelques exemples de solutions PaaS : AWS Elastic Beanstalk, Heroku et Red Hat OpenShift.
Software as a service (Saas)
Le SaaS (Software-as-a-Service), ou services d'applications cloud, est la forme la plus globale des services de cloud computing. Il fournit une application complète gérée par un fournisseur par l'intermédiaire d'un navigateur web.
Les mises à jour logicielles, l'application des correctifs et les autres tâches de maintenance logicielle sont gérées par le fournisseur pour le compte de l'utilisateur, qui peut se connecter à l'application à l'aide d'un tableau de bord ou d'une API. Aucun logiciel n'est installé sur les machines de l'entreprise et l'accès au programme pour les groupes est plus fluide et plus fiable.
Le SaaS constitue une option intéressante pour les petites entreprises qui n'ont pas les ressources humaines ou la bande passante suffisantes pour gérer l'installation et les mises à jour de logiciels, ainsi que pour les applications qui ne nécessitent pas une personnalisation trop importante ou qui ne sont utilisées qu'occasionnellement.
Bien qu'il vous fasse gagner du temps et limite les opérations de maintenance, le modèle SaaS réduit le niveau de contrôle et peut nuire à la sécurité et aux performances. Il convient donc de choisir soigneusement votre fournisseur.
Quelques exemples de solutions SaaS : Dropbox, Salesforce, Google Apps
Les solutions Software-as-a-Service vous proposent des services de gestion logicielle via des fournisseurs tiers. Via l’Infrastructure-as-a-Service en revanche, le fournisseur fournit et entretient uniquement les composants clés tels que les serveurs ou le stockage.
PaaS est l’acronyme de Platform-as-a-Service. Cette plateforme accessible via Internet offre aux développeurs un cadre et des outils pour développer des applications et des logiciels adaptés aux besoins de chaque entreprise.
Le PaaS peut être considéré comme une version réduite de l’IaaS. À l’instar de l’IaaS, les clients ont accès aux serveurs et aux centres de donnés qui sont entretenus et gérés par le fournisseur tiers. Toutefois, le PaaS est généralement utilisé pour le développement d’applications SaaS personnalisées.
SaaS est l’acronyme de Software-as-a-Service. Ces services d’applications sur le cloud représentent la forme la plus courante de cloud computing. Ils sont prêts à l’emploi et sont généralement exécutés directement sur le navigateur du client, ce qui signifie qu’il n’y a pas besoin d’installations ou de téléchargements comme pour les solutions sur site.
Les solutions SaaS sont hébergées sur des serveurs externes et sont pleinement gérées, mises à jour et entretenues par un fournisseur tiers. Cela engendre moins de responsabilité mais également moins de contrôle pour l’utilisateur final.
IaaS vs. PaaS vs. SaaS
Technologie de containérisation
Docker
Le logiciel « Docker » est une technologie de conteneurisation qui permet la création et l'utilisation de conteneurs Linux®. La communauté Open Source Docker travaille à l'amélioration de cette technologie disponible gratuitement pour tout le monde.
Docker swarm
Swarm ou Docker-Swarm est un outil conçu pour enrichir Docker Engine, qui est un moteur d'exécution, et permettre à Docker d'offrir un “mode Swarm”. Ce mode donne la possibilité de créer des clusters de machines exécutants des conteneurs Docker, qui fonctionnent ensemble comme une seule machine.
Kubernetes / K8S
Kubernetes, k8s (pour k, 8 caractères, s) ou encore « kube », est une plateforme Open Source qui automatise l'exploitation des conteneurs Linux. Elle permet d'éliminer de nombreux processus manuels associés au déploiement et à la mise à l'échelle des applications conteneurisées.
Openshift
Est un service de plate-forme en tant que service de la société RedHat qui permet de déployer des projets dans des containers. Pour ce faire, OpenShift utilise les technologies Docker et Kubernetes. Le logiciel OKD est libre, qui est son projet amont.
Solutions de CI / CD
Gitlab-CI
GitLab CI est l’un des outils DevOps les plus importants. Développé par GitLab, il est utilisé pour faciliter et accélérer le processus de distribution des applications, en exploitant des méthodologies dites d’intégration continue (Continuous Integration CI / Continuous Development CD / Continuous Deployment CD).
Ces méthodes permettent d’intégrer, tester et déployer du nouveau code sur un dépôtGIT partagé. Cela en moins de temps et d’efforts, pour aider les équipes de développement à se coordonner de façon plus efficace et réduire la complexité du projet.
La puissance des méthodes CI/CD réside dans leur exploitation intensive de l’automatisation dans toutes les étapes de développement (builds, tests, deployments …), et ce en minimisant le plus possible les interactions manuelles des développeurs.
Github Actions
GitHub Actions est une plateforme d'intégration continue et livraison continue (CI/CD) qui vous permet d'automatiser votre pipeline de génération, de test et de déploiement.
Jenkins
Jenkins est un outil d’intégration continue open source (sous licence MIT) développé en Java. A chaque modification de code d'une application dans le gestionnaire de configuration, Jenkins se charge automatiquement de la recompiler, et de la tester. Pour cette seconde étape, Jenkins intègre le framework de test open source JUnit. En cas d'erreur détectée, Jenkins alerte le développeur afin qu'il résolve le problème. Un process évidemment des plus avantageux dans le cadre d'un projet de développement.
Travis
Travis CI est un logiciel d’intégration continue open source disponible sous licence MIT.
Travis CI permet non seulement de tester des applications ou logiciels en développement, mais aussi d’effectuer automatiquement leur déploiement. Travis CI est un outil gratuit pour les projets open source.
Azure DevOps
Cloud provider
AWS
Amazon Web Services est une division du groupe américain de commerce électronique Amazon, spécialisée dans les services de cloud computing à la demande pour les entreprises et particuliers. En 2020, AWS a généré 45 milliards de dollars des 386 milliards de dollars du chiffre d'affaires monde d'Amazon, soit 11.5%
Certifications :
- Cloud practitioner
- Solution architect
Services cloud d’AWS :
- EKS
- ECS
- S3
Microsoft Azure
Microsoft Azure est la plate-forme applicative en nuage de Microsoft. Son nom évoque le « cloud computing », ou informatique en nuage. Service : AKS
GCP
Google Cloud Platform (GCP) est une plateforme de cloud computing fournie par Google, proposant un hébergement sur la même infrastructure que celle que Google utilise en interne pour des produits tels que son moteur de recherche.
Scaleway
Scaleway, précédemment Online SAS, est un hébergeur Internet français, fondé par Xavier Niel en 1999 et filiale à 94,8 % du groupe Iliad.
OVHCloud
OVHcloud, anciennement OVH, est une entreprise française. Elle pratique initialement de l'hébergement de serveur, et est un fournisseur d'accès à Internet, puis opérateur de télécommunications pour les entreprises. Elle se développe, à la fin des années 2010, dans le cloud computing.
S3ens
Numspot
Outscale
Digital Ocean
Automatisation (IaaC)
Infrastructure as code (IaC)
L'IaC (Infrastructure-as-Code) consiste à gérer et à approvisionner une infrastructure à l'aide de lignes de code plutôt que par des processus manuels.
L'IaC implique la création de fichiers de configuration qui contiennent les caractéristiques de l'infrastructure, ce qui facilite les modifications et la distribution des configurations. L'IaC permet également de s'assurer que le même environnement est fourni à chaque fois. En codifiant et en documentant les caractéristiques de configuration, l'IaC facilite la gestion des configurations et permet d'éviter les changements de configuration ad hoc non documentés.
Le contrôle des versions est une partie importante de l'IaC : les fichiers de configuration doivent être gérés par un système de contrôle de source comme n'importe quel autre fichier de code source de logiciel. Le déploiement de type IaC permet également de scinder l'infrastructure en modules qui peuvent ensuite être combinés de différentes façons, de manière automatisée.
Par l'automatisation du provisionnement de l'infrastructure selon l'approche IaC, les développeurs n'ont plus besoin d'approvisionner ni de gérer manuellement les serveurs, les systèmes d'exploitation, le stockage et les autres composants de l'infrastructure chaque fois qu'ils développent ou déploient une application
Terraform
Terraform est un environnement logiciel d'« infrastructure as code » publié en open-source par la société HashiCorp. Cet outil permet d'automatiser la construction des ressources d'une infrastructure de centre de données comme un réseau, des machines virtuelles, un groupe de sécurité ou une base de données.
Ansible
Ansible est une plate-forme logicielle libre pour la configuration et la gestion des ordinateurs. Elle combine le déploiement de logiciels multi-nœuds, l'exécution des tâches ad-hoc, et la gestion de configuration.
Cloudformation
AWS CloudFormation est un service fourni par Amazon Web Services qui permet aux utilisateurs de modéliser et de gérer les ressources de l'infrastructure de manière automatisée et sécurisée.
Packer
HashiCorp est une société de logiciels basée à San Francisco, en Californie, dont le modèle économique est basé sur le principe du freemium. HashiCorp fournit des outils open-source et des outils commerciaux.
Bash
Bash (acronyme de Bourne-Again shell) est un interpréteur en ligne de commande de type script. C'est le shell Unix du projet GNU. Fondé sur le Bourne shell, Bash lui apporte de nombreuses améliorations, provenant notamment du Korn shell et du C shell.
Lexique du Développeur
Lexique général
Développeur
Personne qui écrit des logiciels
Frontend
Tout ce qui est visible, utilisé par l’utilisateur.
Backend
Tout ce qui n’est pas visible par l’utilisateur mais qui permet de faire fonctionner l’application.
Fullstack
Un développeur Full Stack comme un professionnel « capable de gérer le design, l’architecture, l’expérience utilisateur et la programmatique ». En d’autre terme, il fait le frontend et le backend
Base de données / Database (BDD / DB)
Une base de données est un ensemble d'informations qui est organisé de manière à être facilement accessible, géré et mis à jour. Elle est utilisée par les organisations comme méthode de stockage, de gestion et de récupération de l’informations.
Les données sont organisées en lignes, colonnes et tableaux et sont indexées pour faciliter la recherche d'informations. Les données sont mises à jour, complétées ou encore supprimées au fur et à mesure que de nouvelles informations sont ajoutées. Elles contiennent généralement des agrégations d'enregistrements ou de fichiers de données, tels que les transactions de vente, les catalogues et inventaires de produits et les profils de clients.
Généralement, l’administrateur de la base de données régule les accès des utilisateurs afin de contrôler leurs actions et d’analyser les usages. Pour garantir la cohérence des données et l'intégralité des transactions, toutes les transactions réalisées sur une base de données doivent répondre aux exigences de la conformité ACID :
- Le principe d’Atomicité garantit la bonne exécution de la transaction. Les transactions de base de données, comme les atomes, peuvent être décomposées en plus petites parties. Si une partie d'une transaction échoue, toute la transaction sera annulée.
- La propriété de Cohérence signifie que seules les données qui suivent des règles prédéfinies peuvent être écrites dans la base de données.
- L’isolement fait référence à la capacité de traiter simultanément plusieurs transactions de manière indépendante.
- La durabilité requiert de rendre les défaillances invisibles pour l'utilisateur final. Les données sont sauvegardées une fois la transaction terminée, même en cas de panne de courant ou de défaillance du système.
Quelques exemples de bases de données : SQL, NoSQL, MongoDB, MariaDB, Cloud SPanner, PostgreSQL, Bare Metal, Big Querry, Cloud Bigtable
Langages de programmation
Un langage de programmation est un langage informatique, permettant à un être humain d'écrire un code source qui sera analysé par une machine, généralement un
ordinateur. Le code source subit ensuite une transformation ou une évaluation dans une forme exploitable par la machine, ce qui permet d'obtenir un programme. Les langages permettent souvent de faire abstraction des mécanismes de bas niveau de la machine, de sorte que le code source représentant une solution puisse être écrit et compris par un être humain.
L'activité de rédaction du code source d'un programme est nommée programmation. Elle consiste en la mise en œuvre de techniques d'écriture et de résolution d'algorithmes informatiques, lesquelles sont fondées sur les mathématiques.
Minimum Valuable Project (MVP)
En français, le MVP peut être traduit comme étant le « plus petit produit viable ». Il s'agit de déterminer l'ensemble minimal de fonctionnalités nécessaires dans un produit pour atteindre les objectifs d'affaires et obtenir un succès.
Proof of Concept (POC)
C’est une méthode qui permet d'évaluer la faisabilité d'un projet. Il fait partie du cadrage du projet et est notamment très utilisé dans les méthodes Agile.
Framework
Un framework (ou infrastructure logicielle
en français ) désigne en programmation informatique un ensemble d'outils et de composants logiciels à la base d'un logiciel ou d'une application. C'est le framework, encore appelé structure logicielle, canevas ou socle d'applications en français, qui établit les fondations d'un logiciel ou son squelette applicatif. Tous les développeurs qui l'utilisent peuvent l'enrichir pour en améliorer l'utilisation.
User eXperience (UX) design / User Interface (UI) design
L’UX design se réfère à l’étude des attentes et besoins de l’utilisateur pour la création d’un site web et/ou d’une application mobile. Il s’agit donc de prendre en compte le ressenti d’un utilisateur quand il navigue sur votre support digital. L’objectif de l’UX design est d’améliorer le parcours de l’internaute pour le rendre plus agréable et instinctif.
L’UI design sert quant à lui à améliorer l’interaction d’un utilisateur avec un produit. L’UI intervient dans toutes les étapes du développement de votre site et/ou application mobile sauf celle de la recherche. L’objectif ? Favoriser l’engagement, et donc trouver les outils pour y parvenir.
À la différence de l’UX (qui englobe l’UI), l’UI se centre davantage sur le visuel afin d’attirer le regard de l’utilisateur et de l’inciter à rester sur la page. Attention toutefois à ce que votre site reste efficace ! L’internaute doit comprendre immédiatement de quoi il s’agit. L’UI facilitera ainsi la navigation.
Différents langages de programmation
Python
Est un langage de programmation interprété, multi-paradigme et multiplateformes. Il favorise la programmation impérative structurée, fonctionnelle et orientée objet.
Django
Django est un cadre de développement web open source en Python. Il a pour but de rendre le développement web 2.0 simple et rapide. Pour cette raison, le projet a pour slogan « Le framework pour les perfectionnistes avec des deadlines ».
Flutter
Est un kit de développement logiciel d'interface utilisateur open-source créé par Google. Il est utilisé pour développer des applications pour Android, iOS, Linux, Mac, Windows, Google Fuchsia et le web à partir d'une seule base de code.
AngularJS
Est un framework Javascript (bibliothèque de fonctions pré-écrites en JavaScript) libre et open source formé par le géant Google en 2009. Ses deux fondateurs avaient au départ un projet qui leur posait problème, contenu du manque de structure des codes qu'ils avaient élaborés et qui ne pouvaient être exploitables. En dehors de ce projet, Misko Hevesy un des fondateurs, avait commencé à travailler sur un framework Javascript. Cela lui a permis d'avancer sur son projet commun et de rendre plus malléable les lignes de codes. Ils sont donc passé de 17 000 lignes à 1 500 lignes. Cette solution plutôt convaincante a donné à son créateur une raison de finaliser ce fameux framework et de le présenter sous le nom d' Angular JS.
VueJS
Est un framework JavaScript open-source utilisé pour construire des interfaces utilisateur et des applications web monopages. Vue a été créé par Evan You et est maintenu par lui et le reste des membres actifs de l'équipe principale travaillant sur le projet et son écosystème.
ReactJS
Est une bibliothèque JavaScript libre développée par Facebook depuis 2013. Le but principal de cette bibliothèque est de faciliter la création d'application web monopage, via la création de composants dépendant d'un état et générant une page HTML à chaque changement d'état.
NodeJS
Est une plateforme logicielle libre en JavaScript, orientée vers les applications réseau évènementielles hautement concurrentes qui doivent pouvoir monter en charge. Elle utilise la machine virtuelle V8, la librairie libuv pour sa boucle d'évènements, et implémente sous licence MIT les spécifications CommonJS.
Flask
Est un micro framework open source écrit en Python. On parle de micro framework web parce que Flask ne propose par défaut que peu de fonctionnalités essentielles au développement web, comme la gestion des requêtes HTTP, le serveur web ou la gestion des cookies.
L’objectif est de conserver un noyau simple et léger, et surtout extensible. Il est donc possible d’ajouter des extensions supplémentaires en fonction des besoins de l’application web. Par exemple, une database, un système d’authentification, la gestion des téléchargements ou une validation de formulaire.
Php
Est un langage de programmation libre, principalement utilisé pour produire des pages Web dynamiques via un serveur web, mais pouvant également fonctionner comme n'importe quel langage interprété de façon locale. PHP est un langage impératif orienté objet.
Symfony
Est un framework PHP open source utilisé par les développeurs pour créer des sites ou applications Web complexes, robustes, fiables, évolutifs, maintenables et performants.
Comme une grande « bibliothèque de solutions efficaces et prêtes à l’emploi », Symfony regroupe de nombreux composants qui facilitent le développement des produits digitaux. L’utilisation d’un tel framework est de :
- Limiter le codage fastidieux,
- Limiter le codage sans valeur ajoutée,
- Réduire le temps de développement,
- Guider le développeur et fiabiliser son travail.
Laravel
Est un framework gratuit, open source et orienté objet
qui utilise le langage de programmation PHP. Il a été pensé pour rendre le développement d'applications web rapide et facile. Tout comme son grand frère Symfony dont il utilise certaines briques, il applique le pattern MVC (pour "Model View Controller") et offre nativement un ensemble de composants et fonctionnalités qui permettent de développer une application PHP moderne et robuste.
Java
Java est un langage de programmation orienté objet créé par James Gosling et Patrick Naughton, employés de Sun Microsystems, avec le soutien de Bill Joy, présenté officiellement le 23 mai 1995 au SunWorld. La société Sun a été rachetée en 2009 par la société Oracle qui détient et maintient désormais Java.
Javascript
JavaScript est un langage de programmation de scripts principalement employé dans les pages web interactives et à ce titre est une partie essentielle des applications web. Avec les langages HTML et CSS, JavaScript est au cœur des langages utilisés par les développeurs web.
Outils de gestion de code
Github
GitHub est un site web et un service de cloud qui aide les développeurs à stocker et à gérer leur code, ainsi qu’à suivre et contrôler les modifications qui lui sont apportées. Pour comprendre exactement ce qu’est GitHub, vous devez connaître deux principes liés :
- Contrôle de version
- Git
Gitlab
Plateforme de développement collaborative open source éditée par la société américaine du même nom. Elle couvre l’ensemble des étapes du DevOps. Se basant sur les fonctionnalités du logiciel Git, elle permet de piloter des dépôts de code source et de gérer leurs différentes versions. Son usage est particulièrement indiqué pour les développeurs qui souhaitent disposer d’un outil réactif et accessible.
BitBucket
Bitbucket est un outil de gestion de code Git, développé par Atlassian, qui permet aux équipes de développeurs de disposer d’une plateforme commune pour planifier des projets, effectuer un travail collaboratif autour du code, mais aussi tester et déployer.
Bitbucket dispose des fonctionnalités suivantes :
- Collaboration sur le code : vous pouvez approuver la revue de code avec les pulls requests, créer une liste de contrôle des merges avec des approbateurs désignés, et mener des discussions directement dans le code source.
- Livraison continue : vous bénéficiez de la centralisation du développement, des tests et du déploiement avec la CI/CD intégrée ainsi que de la configuration sous forme de code et de boucles de feedback accélérées.
- DevSecOps : vous obtenez une visibilité en temps réel sur les problèmes de sécurité dans votre code et vos conteneurs. Vous pouvez identifier les corrections de vulnérabilité aux premiers stades du développement et surveiller les risques après déploiement.
- Définition des rôles : vous avez la possibilité de limiter l’accès à des utilisateurs et de contrôler leurs actions grâce aux autorisations de branche.
Entreprises dans l’écosystème DevSecOps
VMWare
Est un outil qui permet de créer des machines virtuelles afin d'y installer un système d'exploitation différent de celui de la machine hôte. Il prend en charge plus de 200 systèmes d'exploitation (Linux, anciennes versions de Windows, BSD).
Redhat
Red Hat est une société d'origine américaine affiliée à IBM éditant des distributions GNU/Linux. Elle est l'une des entreprises dédiées aux logiciels open source les plus importantes et les plus reconnues dans le monde. Elle constitue également le premier distributeur du système d'exploitation GNU/Linux.
HP
Nutanix
Keltio
Padok
Architecture
Lexique d’architecture
Architecture
L'architecture informatique fait référence à la structure générale d'un système informatique. Elle permet d'organiser différents éléments au sein du système (des logiciels, des humains, des informations ou du matériel) et de les mettre en relation. L'architecture informatique est mise en place par un architecte informatique suite à des décisions stratégiques d'une entreprise. L'architecte informatique élabore l'infrastructure au moment de la conception du système informatique.
Compute
Network
Storage
SQL
SQL est un langage informatique normalisé servant à exploiter des bases de données relationnelles. La partie langage de manipulation des données de SQL permet de rechercher, d'ajouter, de modifier ou de supprimer des données dans les bases de données relationnelles
NoSQL
NoSQL est une approche de la conception de bases de données qui peut s’adapter à une grande variété de modèles de données, y compris les formats avec des clés, des documents, des colonnes et des graphiques (Graph Database). NoSQL, qui signifie « not only SQL », est une alternative à la base de donnée relationnelle traditionnelles dans lesquelles les données sont placées dans des tables et le schéma de données est soigneusement conçu avant la construction de la base de données. Les bases de données NoSQL sont particulièrement utiles pour travailler avec de grands ensembles de données distribuées.
Micro service
Les microservices désignent à la fois une architecture et une approche de développement logiciel qui consiste à décomposer les applications en éléments les plus simples, indépendants les uns des autres. Contrairement à une approche monolithique classique, selon laquelle tous les composants forment une entité indissociable, les microservices fonctionnent en synergie pour accomplir les mêmes tâches, tout en étant séparés. Chacun de ces composants ou processus est un microservice. Granulaire et léger, ce type de développement logiciel permet d'utiliser un processus similaire dans plusieurs applications. Il s'agit d'un élément essentiel pour optimiser le développement des applications en vue de l'adoption d'un modèle cloud-native.
Container
le conteneur informatique (ou IT container, en anglais) est une sorte d’enveloppe virtuelle, ou « boîte d’exécution » indépendante, autonome. Cette technique de virtualisation permet de développer et de faire fonctionner sur un même système physique différentes applications, de façon indépendante et sans embarquer de système d’exploitation.
Virtual Machine (VM)
Une machine virtuelle, ou « virtual machine », est « le client » créé dans un environnement informatique, « l’hôte ». Plusieurs machines virtuelles peuvent coexister sur un seul hôte. Les principaux fichiers qui constituent une machine virtuelle sont un fichier journal, un fichier de paramètres de RAM non volatile, un fichier de disque virtuel et un fichier de configuration
Technologie de stockage
Postgresql
Est un système de gestion de base de données relationnelle orienté objet puissant et open source qui est capable de prendre en charge en toute sécurité les charges de travail de données les plus complexes. Alors que MySQL donne la priorité à l'évolutivité et aux performances, Postgres donne la priorité à la conformité et à l'extensibilité SQL.
MongoDB
MongoDB est une base de données NoSQL open source. Puisqu’il s’agit d’une base de données non relationnelle, elle peut traiter des données structurées, semi-structurées et non structurées. Elle utilise un modèle de données non relationnel, orienté document, et un langage de requête non structuré.
MongoDB est très flexible et permet d’associer et de stocker plusieurs types de données. Elle permet également de stocker et de gérer des volumes de données plus importants que les bases de données relationnelles traditionnelles. MongoDB utilise un format de stockage de documents appelé BSON, une forme binaire de JSON (JavaScript Object Notation) qui peut contenir davantage de types de données.
GlusterFS
GlusterFS est un système de fichiers libre distribué en parallèle, qui permet de stocker jusqu’à plusieurs pétaoctets. C’est un système de fichiers de grappe de serveurs. Il est livré en deux parties : un serveur et un client. Le serveur de stockage fait tourner glusterfsd
NFS
Le NFS permet à un utilisateur d’accéder, via son ordinateur (le client), à des fichiers stockés sur un serveur distant. Il est possible de consulter mais aussi mettre à jour ces fichiers, comme s’ils étaient présents sur l’ordinateur client (c’est-à-dire comme des fichiers locaux classiques). Des ressources peuvent ainsi être stockées sur un serveur et accessibles via un réseau par une multitude d’ordinateurs connectés. Le NFS permet aussi un travail collaboratif sur un même document, ainsi que la sauvegarde et la centralisation de documents sur un même serveur.
Sécurité
Acronyme dans la sécurité
Software Composition Analysis (SCA)
Permet aux développeurs de tirer parti des packages open source sans exposer les organisations à des vulnérabilités inutiles ou à des problèmes juridiques et de conformité.
Les composants open source sont devenus omniprésents dans le développement de logiciels modernes, la majorité des bases de code des applications modernes étant composées de tels paquets. Cette méthode permet aux développeurs de se déplacer plus rapidement car ils n'ont pas besoin de recréer du code qui est librement disponible et approuvé par la communauté. Cependant, ce processus comporte également son propre ensemble de risques.
Static Application Security Testing (SAST)
Le SAST (Static Application Security Testing), connu comme test de la boîte blanche, est une méthodologie qui analyse le code source, le code d'octet et les binaires à la recherche de failles de sécurité. Pour ce faire, il identifie les conditions de codage et de conception qui pourraient constituer un risque pour la sécurité. Les outils SAST analysent les applications avant que les développeurs ne compilent le code, ce qui permet de résoudre tout problème de sécurité avant l'étape suivante des tests. Ces outils peuvent même analyser le code des applications non exécutées.
Dynamic Application Security Testing (DAST)
Les outils DAST (Dynamic Application Security Testing) sont des technologies qui conçoivent et détectent les vulnérabilités en matière de sécurité dans une application web en cours d'exécution. Ils communiquent avec les applications via le front-end web et effectuent un test de boîte noire capable d'exposer les vulnérabilités existantes au sein de celles-ci.
Runtime Application Self-Protection (RASP)
technologie de sécurité qui s'intégre aux applications. Elle a la capacité de détecter et prévenir les attaques en temps réel en contrôlant l’exécution des applications.
Cette technologie a été développée pour garder une longueur d’avance sur la pléthore de menaces liées aux applications, qui évolue sans cesse. Une fois intégré à une application, RASP remplit deux missions :
- Diagnostic environnemental : Elle collecte et consigne les attaques et évènements pour enrichir les bases de données SOC et SIEM, permettant aux entreprises d’avoir une connaissance pointue de leur environnement de menaces et ainsi de mettre en place les actions préventives et curatives adéquates.
- Autoprotection : La technologie RASP intercepte en permanence les signaux envoyés vers l’application pour vérifier leur sécurité et uniquement autoriser ceux qui sont sûrs. Elle procure une protection automatisée contre les menaces connues et inconnues en apportant une réponse adaptée aux comportements suspects en temps réel.
Security Information and Event Management (SIEM)
- AWS Security Hub + AWS Config
- Cloudtrail
Cloud Security Posture Management (CSPM)
Permet de surveiller les ressources du cloud pour alerter les administrateurs des mauvaises configurations et des éventuelles vulnérabilités qui pourraient être exploitées par des attaquants. Les plates-formes cloud sont généralement très sûres, mais les administrateurs qui sous-estiment les menaces et ignorent les configurations appropriées sont à l'origine des violations de données du cloud les plus importantes.
CSPM désigne l’utilisation de stratégies et de logiciels pour garantir que les ressources cloud sont auditées, organisées, correctement configurées, maintenues, sécurisées et respectent les normes de conformité.
Security Orchestration, Automation, and Response (SOAR)
Les solutions SOAR sont des outils qui offrent trois caractéristiques essentielles. Premièrement, des capacités de gestion de cas et de flux de travail : Tout comme les équipes d’assistance informatique et les services d’assistance utilisent des outils de gestion des services informatiques pour suivre et contrôler leur travail, les centres d’opérations de sécurité (SOC) ont également besoin d’outils pour gérer et contrôler le travail de triage des alertes, [ainsi que] la collecte, l’investigation et la résolution des incidents. Deuxièmement, automatiser les tâches découlant de ces activités par l’orchestration de multiples outils, tels que la détection et la réponse aux points d’extrémité (EDR), la security information management (SIEM) et la détection et la réponse aux réseaux (NDR). Et troisièmement, fournir un moyen centralisé d’accéder, d’interroger et de partager les renseignements sur les menaces, une ressource vitale pour les activités de détection et de réponse aux menaces.
Interactive Application Security Testing (IAST)
Les solutions interactives de test de sécurité des applications aident les organisations à identifier et à gérer les risques de sécurité associés aux vulnérabilités découvertes dans l'exécution d'applications Web à l'aide de techniques de test dynamique (souvent appelés tests d'exécution). IAST fonctionne par le biais d'une instrumentation logicielle ou de l'utilisation d'instruments pour surveiller une application au fur et à mesure de son exécution et recueillir des informations sur ce qu'elle fait et son fonctionnement. Les solutions IAST instrumentent
les applications en déployant des agents et des capteurs dans les applications en cours d'exécution et en analysant en permanence toutes les interactions d'applications initiées par des tests manuels, des tests automatisés ou une combinaison des deux pour identifier les vulnérabilités en temps réel. En outre, certaines solutions intègrent des outils d'analyse de la composition logicielle (SCA)
pour remédier aux vulnérabilités connues dans les composants et les cadres open source.
Secure infrastructure as code (IAC)
La sécurité de l'infrastructure en tant que code (IaC) est l'intégration d'une couverture de sécurité cloud cohérente et évolutive qui aide à détecter les erreurs de configuration dans le code au début du cycle de vie du développement logiciel pour prévenir les vulnérabilités au moment de l'exécution. Il permet aux organisations d'appliquer des mesures de sécurité dans les modèles IaC tout au long de leur cycle de vie, que ce soit dans les référentiels de code, les outils d'intégration continue/livraison continue (CI/CD), ou dès l'IDE du développeur.
Compliance as code
fait référence aux outils et aux pratiques qui vous permettent d'intégrer les trois activités de base au cœur de la conformité : Prévenir, détecter, remédier.
- Prévenir la non-conformité en affirmant automatiquement que les changements planifiés sont conformes.
- Détecter la non-conformité grâce à l'analyse automatisée des successions, en informant les parties prenantes lorsque l'infrastructure fautive est identifiée.
- Corriger la non-conformité en apportant des changements immédiats à l'infrastructure pour assurer le niveau maximal de conformité à grande échelle.
La conformité en tant que code peut être résumée comme la codification de vos contrôles de conformité afin que leur observance, leur application et leur correction puissent être automatisées.
En règle générale, la conformité en tant qu'outils de code fonctionne en permettant aux parties prenantes de la conformité de définir la façon dont les ressources informatiques doivent être configurées afin de respecter les contrôles de conformité. Ensuite, les outils analysent ou surveillent automatiquement l'environnement informatique en direct et les changements planifiés afin de détecter l'infrastructure non conforme. De plus, la conformité en tant qu'outils de code a souvent des fonctionnalités qui leur permettent de modifier automatiquement les ressources dans un état conforme.
Vulnerability Managment
Le Vulnerability Management, ou gestion des vulnérabilités, est une stratégie proactive qui consiste à identifier, hiérarchiser et corriger les faiblesses et failles de sécurité d'une entreprise. L'objectif est de protéger le SI (système d’information), mais aussi les réseaux, les applications, ainsi que les outils et logiciels utilisés par l’entreprise contre les attaques et le vol de données.
Les équipes de sécurité peuvent utiliser un outil de gestion des vulnérabilités pour faciliter l’identification et la gestion de ces vulnérabilités.
Outils de sécurité
Snyk
Snyk est un SaaS qui :
- analyse le code des apps et remonte les vulnérabilités (JS, Python, Php, Docker…)
- donne des dashboards avec du scoring pour évaluer la criticité des vulnérabilités dans le code
Snyk est très utile pour faire du SCA, SAST
Bridgecrew / Checkov
Cet outil permet de sécuriser les environnements cloud en automatisant la détection, la correction et la surveillance des vulnérabilités de sécurité
Voici ce que Bridgecrew permet de faire sur les projets :
- Sécurité du cloud et du code dans IaC, Secrets, Images, SCA et bien d’autres
- Correction de code généré automatiquement avec des commentaires intégrés pour éviter de le vérifier manuellement
- Sécurité de la chaîne d’approvisionnement
- Fournir une solution de sécu automatisée pour les services cloud tels que AWS, Azure, GCP…
- Économie de temps et d’argent en évitant les erreurs de configuration coûteuses et les brèches de sécurité
Outils de compliance
Vanta
Drata
Qualité de service (QoS)
Lexique QoS
Disponibilité
Scalabilité
Résilience
Durabilité
User Experience
Acronyme du SRE
Service Level Agreement (SLA)
Un SLA (Service Level Agreement) est un accord entre le fournisseur et le client sur des paramètres mesurables tels que le temps de fonctionnement, la réactivité et les responsabilités.
Ces accords sont généralement rédigés par les nouvelles équipes commerciales et juridiques d'une entreprise et représentent les promesses que vous faites à vos clients, ainsi que les conséquences si vous ne tenez pas ces promesses. Les conséquences comprennent généralement des pénalités financières, des crédits de service ou des extensions de licence.
Service Level objectif (SLO)
Un SLO (Service Level objectif) est un accord au sein d'un SLA concernant une mesure spécifique telle que le temps de disponibilité ou le temps de réponse. Ainsi, si le SLA est l'accord formel entre vous et votre client, les SLO sont les promesses individuelles que vous faites à ce client. Les SLO définissent les attentes des clients et indiquent aux équipes informatiques et DevOps les objectifs qu'elles doivent atteindre et par rapport auxquels elles doivent se mesurer.
Les SLO sont moins détestés que les SLA, mais ils peuvent créer autant de problèmes s'ils sont vagues, trop compliqués ou impossibles à mesurer. La clé d'un SLO qui ne donne pas envie à vos ingénieurs de s'arracher les cheveux est la simplicité et la clarté. Seules les mesures les plus importantes doivent pouvoir bénéficier du statut de SLO, les objectifs doivent être formulés en langage clair et, comme pour les accords de niveau de service, ils doivent toujours prendre en compte des problèmes tels que les retards du côté du client.
Qui a besoin de SLO ?
Alors que les accords de niveau de service ne s'appliquent qu'aux clients payants, les accords de niveau de service peuvent être utiles pour les comptes payants et non payants, ainsi que pour les clients internes et externes.
Les systèmes internes, tels que les systèmes de gestion de la relation client, les référentiels de données clients et l'intranet, peuvent être tout aussi importants que les systèmes orientés vers l'extérieur. La mise en place d'OLS pour ces systèmes internes est un élément important non seulement pour atteindre les objectifs de l'entreprise, mais aussi pour permettre aux équipes internes d'atteindre leurs propres objectifs en matière de contact avec la clientèle.
Service level Indicator (SLI)
Un SLI (Service level Indicator) mesure la conformité d’un SLO. Ainsi, par exemple, si votre SLA précise que vos systèmes seront disponibles 99,95 % du temps, votre SLO est probablement un temps de disponibilité de 99,95 % et votre SLI est la mesure réelle de votre temps de disponibilité. Il se peut qu'il soit de 99,96 %. Peut-être 99,99 %. Pour rester en conformité avec votre SLA, le SLI devra atteindre ou dépasser les promesses faites dans ce document.
Comme pour les SLO, le défi des SLI est de rester simple, de choisir les bons indicateurs à suivre et de ne pas compliquer la tâche des services informatiques en suivant trop d'indicateurs qui n'ont pas d'importance pour les clients.
Outils de qualité
Sonar
Logiciel libre de qualimétrie en continu de code. Il aide à la détection, la classification et la résolution de défaut dans le code source, permet d'identifier les duplications de code, de mesurer le niveau de documentation et connaître la couverture de test déployée
Acronyme dans la supervision
Incident
ITSM
La gestion des services IT (ITSM) est une approche stratégique permettant de concevoir, de distribuer, de gérer et d'améliorer la manière dont la technologie de l'information (IT) est utilisée au sein d'une entreprise.
CPU
Le CPU (Central Processing Unit), est un microprocesseur installé sur la carte mère de l'ordinateur. Si la carte mère est le cœur du PC, le CPU est, quant à lui, considéré comme le cerveau de l'ordinateur. Cette partie du guide d'achat nous emmène donc au cœur du microprocesseur ou CPU.
RAM
La RAM (mémoire à accès aléatoire) est un périphérique matériel permettant de stocker et de récupérer des données sur un ordinateur. La RAM est une mémoire volatile et nécessite de l'énergie pour garder les données accessibles. Si l'ordinateur est éteint, toutes les informations contenues dans la RAM sont perdues.
Outils de monitoring / supervision
Grafana
Logiciel open source, orientée observabilité, taillée pour la surveillance, l'analyse et la visualisation des métriques IT. Elle est livrée avec un serveur web (écrit en Go) permettant d'y accéder via une API HTTP. Sous licence Apache 2.02, Grafana génère ses graphiques et tableaux de bord à partir de bases de données de séries temporelles (time series database) telles que Graphite, InfluxDB ou OpenTSDB. Cette plateforme est aussi un outil indispensable pour créer des alertes.
Véritable éditeur de dashboards informatiques, Grafana permet également de les partager sous forme de snapshot (ou instantanés) avec d'autres utilisateurs. L'outil intègre par ailleurs un système de gestion des droits d'accès et protège les tableaux de bord des modifications accidentelles. Enfin, il bénéficie d'une application particulière pour Kubernetes. Baptisée Grafana App for Kubernetes, elle suit la performance des architectures applicatives basées sur l'orchestrateur open source via trois dashboards : cluster, node, pod/container et deployment.
Grafana Loki
Grafana Loki est un système d'agrégation de logs multi-tenant inspiré de Prometheus. Conçu pour être très rentable et facile à exploiter, il est hautement disponible et horizontalement extensible. Il est utilisé principalement avec des outils comme Grafana, Prometheus et les fournisseurs de Cloud.
Prometheus
Prometheus est un logiciel open source créé par la plateforme musicale SoundCloud, conçu pour monitorer les métriques de fonctionnement des serveurs et créer une gestion d’alertes en fonction de seuils considérés critiques. Cet outil de monitoring enregistre en temps réel ces données à l'aide d'un modèle d'extraction de endpoints HTTP.
Alert manager
AlertManager est un composant de Prometheus qui collecte et envoie les alertes de Prometheus vers d'autres systèmes dans votre pipeline DevOps. Il fonctionne en se basant sur les conditions d'alertes que vous configurez sur vos serveurs Prometheus.
Splunk
La plateforme Splunk regroupe et analyse les échappements numériques provenant de diverses sources, notamment les pulls d'interface de programme d'application (API) et les logs des applications, des serveurs, des appareils mobiles et des sites Web.
Datadog
l'éditeur américain Datadog se spécialise dans le monitoring des infrastructures IT et des applications. En mode SaaS, son offre est nativement taillée pour superviser les systèmes en environnement cloud. Elle s'appuie sur plusieurs centaines de connecteurs pour s'intégrer aux différents services des prestataires de cloud public (AWS, Microsoft Azure, Google Cloud Platform...), aux applications SaaS les plus répandues (Jira, ServiceNow, Slack, Zendesk...) ou aux bases de données et plateformes big data (Hadoop, Kafka, Spark...). Datadog prend en charge les machines virtuelles, les containers, le serverless, ainsi que les infrastructures réseau. Elle recouvre également la mesure de la performance applicative du point de vue de l'utilisateur final. Pour répondre à toutes ces problématiques de supervision informatique, l'offre de Datadog se décline en plusieurs briques :
- Datadog Infrastructure : surveillance centralisée des systèmes et services de serveur
- Datadog Synthetic Monitoring : gestion des tests de performance des applications web et des API
- Datadog Real User Monitoring : mesure de l'expérience utilisateur web et mobile
- Datadog APM : analyse de la performance des flux de requêtes d'un bout à l'autre, des terminaux aux bases de données
- Datadog Continuous Profiler : optimisation de la performance du code en production
- Datadog Log management : exploration et analyse des données de log
- Datadog Serverless : détection et résolution des goulots d'étranglement et des erreurs sur les infrastructures serverless
- Datadog Network Monitoring : supervision des accès et flux réseau
- Datadog Security Monitoring : détection et analyse en temps réel des cybermenaces.
Uptime Kuma
FinOps
TCO
Reserved Instances
A ranger
- A :
_ Agile (méthode) : Une méthode agile est une méthode utilisée dans le cadre de la création et/ou du développement d’un produit qui est : itérative, collaborative, incrémentale
Le but d’une méthode agile est de livrer rapidement au client final un produit qui correspond à ses
besoins et à ses attentes, de la meilleure qualité possible et pouvant évoluer facilement.
_ Agile manifeste (Agile Manifesto) : fonctionnement d’un système sans intervention humaine,
automatisation d’une suite d’opération.
Le Manifeste Agile ou Agile Manifesto est une déclaration officielle déterminant les valeurs et les
principes fondamentaux des méthodologiess agiles. Publié en 2001, il a été rédigé par dix-sept experts
américains du développement d’applications.
Ses quatre valeurs sont :
- les individus et leurs interactions,
- la fonctionnalité du produit final,
- la collaboration avec le client,
- l’adaptation au changement.
Le Manifeste Agile est défendu par l’association Agile Alliance.
Déclaration officielle des valeurs et des principes pour une approche itérative et axée sur l’individu
dans le cadre d’un développement logiciel.
_ Antifragile :
Concept inventé par le professeur Nassim Taleb, il s’agit d’une propriété des systèmes qui se
renforcent ou s’améliorent lorsqu’ils sont confrontés à une certaine dose de stress, de force, ou de
choc.
_Automatisation (automation) :
Fonctionnement d’un système informatique ou exécution d’un processus sans intervention humaine.
L’automatisation permet de réduire grandement les risques d’erreurs, d’intégrer en temps réel de
nouvelles fonctionnalités et de faire gagner du temps aux équipes de production.
Il s’agit de la technologie par laquelle un processus ou une procédure est exécuté sans intervention
manuelle. Dans DevOps, l’automation permet de créer des rapports en temps réel, intégrant les outils
utilisés par différentes parties prenantes, des workflows, intégrant des technologies pour rassembler les
outils de différents domaines et dissocier les silos.
- pipeline
- CI/CD
- ArgoCD
- EKS
- Terraform
- Kubernetes
Sujets