Parcourir Par Tags

Nous avons catégorisé les termes du glossaire. Utilisez les filtres pour parcourir les termes par tag.

Abstraction

Dans le contexte informatique, une abstraction est une représentation qui masque les détails spécifiques à un consommateur de services (un consommateur étant un programme informatique ou un humain), rendant un système plus générique, et ainsi facilement compréhensible. Le système d’exploitation de votre ordinateur portable en est un bon exemple. Il masque tous les détails du fonctionnement de votre ordinateur. Vous n’avez pas besoin d’avoir une compréhension approfondie du processeur, de la mémoire et du fonctionnement des programmes, vous utilisez simplement le système d’exploitation et ce dernier s’occupe des détails...

Applications Cloud Natives

Les applications Cloud Natives sont des applications conçues pour tirer avantage des innovations du cloud computing. Ces applications s’intègrent facilement avec leurs architectures cloud respectives, en tirant avantage des ressources proposées par le Cloud et de leur capacité de mise à l’échelle. Ce terme fait aussi référence aux applications qui tirent avantage d’infrastructure pilotée par le cloud computing. Aujourd’hui, les applications Cloud Natives incluent les applications qui fonctionnent dans le centre de données des fournisseurs de cloud ainsi que les applications qui tournent sur des plateformes hébergées dans les centres de données internes aux organisations...

Applications Distribuées

Une application distribuée est une application dont les fonctionnalités sont découpées en plusieurs parties indépendantes et plus petites. Les applications distribuées sont généralement composées de microservices individuels qui s’occupent de différentes problématiques au sein d’une application plus large. Dans un environnement Cloud Native, ces composants individuels s’exécutent généralement en tant que conteneurs sur un cluster. Problème auquel il répond Une application s’exécutant sur un seul ordinateur représente un point de défaillance unique — si cet ordinateur tombe en panne, l’application devient indisponible...

Applications Monolithiques

Une application monolithique contient toutes les fonctionnalités au sein d’un unique logiciel déployable. C’est souvent la manière la plus simple pour commencer le développement d’une application. Cependant, lorsque l’application se complexifie, les monolithes peuvent devenir difficiles à maintenir. Avec plus de développeurs qui travaillent sur la même base de code, la probabilité de conflits dans les changements et donc de communication directe entre les développeurs augmente. Problème auquel il répond Transformer une application en microservices augmente la charge de travail - comme il y a plus de choses à tester, déployer et à maintenir opérationel...

Architecture en Microservices

Une architecture en microservices est une approche architecturale qui divise les applications en (micro)services distincts et indépendants, chaque service étant focalisé sur une fonctionnalité spécifique. Ces services fonctionnent en étroite collaboration, et l’utilisateur final a l’impression d’utiliser un seul service. Prenons Netflix comme exemple. Son interface vous permet d’accéder, de rechercher et de prévisualiser des vidéos. Ces fonctionnalités sont probablement alimentées par de plus petits services, chacun gérant une fonctionnalité spécifique, telle que l’authentification, la recherche et l’exécution des prévisualisations dans votre navigateur...

Architecture Faiblement Couplée

L’architecture faiblement couplée est un type d’architecture où les différents composants d’une application sont construits indépendamment les uns des autres (c’est le paradigme opposé des architectures fortement couplées). Chaque composant, parfois identifié comme un microservice, est construit pour effectuer une tâche spécifique d’une manière qui lui permet d’être utilisé par d’autres services. Cette approche est souvent plus longue à mettre en œuvre que l’architecture fortement couplée mais, elle a plusieurs avantages en particulier lorsque l’application change d’échelle...

Architecture Zéro Confiance

L’architecture zéro confiance est une approche de conception et de mise en place des systèmes informatiques qui élimine complètement la notion de confiance. Son principe fondamental repose sur le credo “ne jamais faire confiance, toujours vérifier”, les dispositifs ou systèmes eux-mêmes, lorsqu’ils communiquent avec d’autres composants d’un système, se vérifient toujours avant de communiquer. Dans de nombreux réseaux actuels, au sein du réseau d’entreprise, les systèmes et les appareils communiquent librement entre eux, car ils se trouvent à l’intérieur de la zone de confiance définie par le périmètre du réseau d’entreprise...

Architectures Fortement Couplées

L’architecture fortement couplée est un type d’architecture où un nombre de composants d’application sont interdépendants (le paradigme opposé est les architectures faiblement couplées). Celà signifie qu’un changement dans un composant aura sûrement un impact sur les autres composants. Souvent plus simples à mettre en oeuvre que les architectures faiblement couplées, elles peuvent mettre un système à risque par rapport aux erreurs en cascade. Elles ont également tendance à nécessiter des déploiements synchronisés des composants ce qui peut devenir un frein à la productivité des développeurs...

Auto-réparant

Un système auto-réparant est capable de se remettre de certains types de défaillance sans aucune intervention humaine. Il possède une boucle de “convergence” ou de “contrôle” qui examine activement l’état courant du système et le compare à l’état souhaité initialement par les opérateurs. S’il y a une différence (par exemple, moins d’instances d’application sont en cours d’exécution que souhaité), il prendra des mesures correctives (par exemple, démarrer de nouvelles instances)...

Capacité de mise à l'échelle (Scalabilité)

La capacité de mise à l’échelle (ou scalabilité) correspond à la capacité d’un système à s’agrandir. C’est-à-dire à augmenter la capacité d’un système à faire ce qu’il est supposé faire. Par exemple, un cluster Kubernetes change d’echelle en augmentant ou en réduisant le nombre d’applications conteneurisées, mais cette scalabilité dépend de plusieurs facteurs. Combien de nœuds possède-t-il, combien de conteneurs peut gérer chaque nœud, et combien d’enregistrements et d’opérations le plan de contrôle (control plane) peut-il supporter ?..

Centre de données (Datacenter)

Un centre de données (datacenter en anglais) est un bâtiment ou une installation spécialisée conçue pour héberger des ordinateurs, le plus souvent des serveurs. Ces centres de données sont généralement connectés à des lignes internet à haut débit, en particulier lorsqu’ils sont axés sur le cloud computing. Les bâtiments qui abritent les centres de données sont équipés pour maintenir le service même en cas d’événements défavorables, y compris des générateurs qui fournissent de l’électricité pendant les pannes et des climatiseurs puissants qui gardent les ordinateurs, produisant de la chaleur, au frais...

Cloud Computing

Le cloud computing, ou informatique en nuage, ou encore infonuagique au Québec, offre des ressources informatiques telles que de la puissance de calcul, du réseau et de l’espace de stockage à la demande sur Internet, permettant aux utilisateurs d’accéder à des ressources informatiques situées dans un emplacement physique distant. Nous différencions généralement le cloud privé du cloud public, suivant si l’infrastructure cloud est exclusivement dédiée à une organisation, ou mutualisée et ouverte au public...

Cluster

Un cluster est un groupe d’ordinateurs ou d’applications qui fonctionnent ensemble dans un but commun. Dans un contexte Cloud Native, le terme est souvent appliqué à Kubernetes. Un cluster Kubernetes est un ensemble de services (ou de charges de travail) qui s’exécutent dans leurs propres conteneurs, souvent sur des machines différentes. L’ensemble de tous ces services conteneurisés, connectés au travers du réseau, représente un cluster. Problème auquel il répond Un logiciel qui s’exécute sur un seul ordinateur représente un point de défaillance unique — si cet ordinateur tombe en panne, ou si accidentellement quelqu’un débranche le câble d’alimentation, alors un système critique pourrait être mis hors-ligne...

Conteneurisation

La conteneurisation est l’action de regrouper une application et ses dépendances dans une image de conteneur. Le processus de construction du conteneur nécessite de respecter le standard de l’Open Container Initiative (OCI). Du moment que le résultat est une image qui respecte ce standard, l’outil de conteneurisation qui sera utilisé n’a pas d’importance. Problème auquel il répond Avant que les conteneurs ne se répandent, les organisations s’appuyaient sur les machines virtuelles (VMs) pour orchestrer différentes applications au sein d’une unique machine physique...

Conteneurs

Un conteneur est un processus qui fonctionne avec des contraintes de ressources et de capacités gérées par le système d’exploitation d’un ordinateur. Les fichiers accessibles au processus du conteneur sont regroupés dans une image de conteneur. Les conteneurs sont exécutés les uns à côté des autres sur la même machine, mais généralement le système d’exploitation empêche les processus de conteneurs différents d’interagir les uns avec les autres. Problème auquel il répond Avant que les conteneurs ne soient disponibles, des machines dédiées étaient nécessaires pour faire fonctionner des applications...

Contrôle d'accès basé sur les rôles (RBAC)

Le contrôle d’accès basé sur les rôles (RBAC) est une méthode de sécurité permettant de gérer l’accès des utilisateurs aux systèmes, réseaux ou ressources en fonction de leur rôle au sein d’une équipe ou d’une organisation. Le RBAC donne aux administrateurs informatiques la possibilité d’identifier le niveau d’accès nécessaire pour tous les utilisateurs occupant une fonction spécifique, et de leur attribuer un rôle avec un ensemble prédéfini d’autorisations. Les organisations utilisent le RBAC pour offrir à leurs employés des niveaux d’accès adaptés à leurs rôles et responsabilités...

Déploiement bleu/vert

Le déploiement bleu/vert (ou Blue/Green) est une stratégie pour mettre à jour les systèmes informatiques en cours d’exécution avec un temps d’arrêt minimal. L’opérateur maintient deux environnements, appelés “bleu” et “vert”. L’un sert le trafic de production (la version que tous les utilisateurs utilisent actuellement), tandis que l’autre est mis à jour. Une fois que les tests ont été conclus sur l’environnement passif (vert), le trafic de production est basculé (souvent via l’utilisation d’un répartiteur de charge)...

Deploiement canari

Le déploiement canari est une stratégie de déploiement qui commence avec deux environnements : l’un avec du trafic en direct et l’autre contenant le code mis à jour sans trafic en direct. Le trafic est progressivement déplacé de la version originale de l’application vers la version mise à jour. Cela peut commencer par le transfert de 1% du trafic en direct, puis 10%, 25%, et ainsi de suite, jusqu’à ce que tout le trafic passe par la version mise à jour...

Déploiement Continu (Continuous Deployment)

Le déploiement continu, souvent abrégé en CD, va plus loin que la livraison continue en déployant le logiciel fini directement en production. Le déploiement continu (CD) va de pair avec l’intégration continue (CI), et on parle souvent CI/CD. Le processus CI teste si les modifications apportées à une application donnée sont valides, et le processus CD déploie automatiquement les modifications de code dans les environnements d’une organisation, de l’environnement de test jusqu’à celui de production...

Développement Agile de logiciels

Un ensemble de pratiques qui mettent l’accent sur les cycles de développement itératifs et les équipes auto-organisées. Contrairement aux projets dits en cascade où la valeur n’est générée qu’à la toute fin du projet, le développement Agile de logiciels se concentre sur une livraison de valeur continue et incrémentale, ainsi que sur l’amélioration évolutive du processus lui-même. Problème auquel il répond Définir, communiquer et comprendre les exigences pour toutes les parties prenantes d’un projet logiciel est très difficile, voire impossible...

DevOps

Le DevOps est une méthodologie dans laquelle une équipe gère le processus complet du développement d’une application jusqu’aux opérations en production, d’où le terme DevOps. Ceci va au-delà de l’implémentation de technologies et demande un changement complet dans la culture et les processus. Le DevOps fait appel à un groupe d’ingénieurs travaillant sur des petits composants (en opposition à une fonctionnalité complète), permettant ainsi de réduire les actions de passations – une source d’erreurs commune...

DevSecOps

Le terme DevSecOps fait référence à une fusion culturelle des responsabilités de développement, opérationnelles et de sécurité. Il étend l’approche DevOps pour inclure les problématiques de sécurité avec un minimum de perturbations, voire nulle, du flux de travail des développeurs et des opérations. Comme DevOps, DevSecOps est un changement culturel, poussé par les technologies adoptées, avec des méthodes d’adoption uniques. Problème auquel il répond Les pratiques DevOps incluent l’intégration continue, la livraison continue, et le déploiement continu et accélèrent les cycles de développement et de publication d’applications...

Fiabilité

Du point de vue Cloud Native, la fiabilité fait référence à la capacité d’un système à réagir face aux pannes. Si nous disposons d’un système distribué qui continue de fonctionner alors que l’infrastructure change et que des composants unitaires tombent en panne, alors il est fiable. En revanche, s’il tombe facilement en panne et que les opérateurs doivent intervenir manuellement pour le maintenir en état de marche, alors il n’est pas fiable...

Glossaire Cloud Native

Glossaire Cloud Native Le Glossaire Cloud Native a pour objectif de démystifier l’univers Cloud Natif, réputé pour sa complexité. Il vise à le rendre accessible aussi bien aux spécialistes technologiques qu’aux acteurs du monde des affaires. Pour y parvenir, nous mettons l’accent sur la simplicité (par exemple, un langage simple sans buzzwords, des exemples auxquels toute personne utilisant la technologie peut se rapporter, en laissant de côte les détails inutiles). Le Glossaire Cloud Native est un project dirigé par le Comité Marketing de la CNCF (Business Value Subcommittee, BVS)...

Idempotence

En mathématiques ou en informatique, l’idempotence décrit une opération qui aboutit toujours au même résultat, peu importe combien de fois vous l’exécutez. Si les paramètres sont identiques, une opération idempotente n’affectera pas l’application qu’elle appelle...

Infrastructure en tant que code

L’infrastructure en tant que code est la pratique de stocker la définition d’infrastructure dans un ou plusieurs fichiers. Ceci remplace le modèle traditionnel où l’infrastructure en tant que service est provisionnée manuellement, habituellement au travers de scripts ou autres outils de configuration. Problème auquel il répond Construire des applications d’une manière Cloud Native nécessite des infrastructures qui peuvent être duplicables et jettables. Il est également nécessaire de pouvoir mettre à l’échelle à la demande de manière automatique et répétable, potentiellement sans intervention humaine...

Infrastructure en tant que Service (IaaS)

L’infrastructure en tant que service, ou Infrastructure as a Service (IaaS) en anglais, est un modèle de service de cloud computing qui offre des ressources physiques ou virtualisées de calcul, de stockage et de réseau à la demande selon un modèle de paiement à l’utilisation. Les fournisseurs de cloud computing possèdent et exploitent le matériel et les logiciels, qui sont mis à la disposition des consommateurs dans des déploiements de cloud computing publics, privés ou hybrides...

Infrastructure immuable

L’infrastructure immuable fait référence à l’infrastructure informatique (machines virtuelles, conteneurs, équipements réseau) qui ne peut pas être modifiée une fois déployée. Cela peut être imposé à l’aide d’un processus automatisé qui écrase les modifications non autorisées, ou à l’aide d’un système qui, dés le départ, n’autorise aucune modification. Les conteneurs sont un bon exemple d’infrastructure immuable, car des modifications persistantes ne peuvent être apportées aux conteneurs qu’en créant une nouvelle version du conteneur ou en recréant le conteneur existant à partir de son image...

Intégration Continue (CI)

L’intégration continue, souvent abrégée en CI, est la pratique consistant à intégrer les modifications de code aussi régulièrement que possible. La CI est un prérequis à la livraison continue (CD). Traditionnellement, le processus CI commence lorsque les modifications de code sont envoyées dans un système de contrôle de code source (Git, Mercurial ou Subversion), et se termine par un artefact testé prêt à être consommé par un système CD. Problème auquel il répond Les systèmes logiciels sont souvent grands et complexes, et de nombreux développeurs les maintiennent et les mettent à jour...

Interface de Programmation d'Application (API)

Une API est un moyen pour les programmes informatiques d’interagir entre eux. Tout comme les humains interagissent avec un site web via une page web, une API permet aux programmes informatiques d’interagir les uns avec les autres. Contrairement aux interactions humaines, les APIs ont des contraintes sur ce qui peut ou non leur être demandé. Les contraintes sur leurs interactions permettent de créer une communication stable et fonctionnelle entre les programmes...

Kubernetes

Kubernetes, souvent abrégé en k8s, est un orchestrateur de conteneurs open source. Il automatise le cycle de vie des applications conteneurisées sur des infrastructures modernes, fonctionnant comme un “Système d’exploitation de centre de données” qui gère des applications à travers un système distribué. Kubernetes planifie la création de conteneurs sur les nœuds d’un cluster, regroupant plusieurs ressources d’infrastructure tel qu’un répartiteur de charge (load balancer), du stockage persistent, etc. pour exécuter des applications conteneurisées...

Livraison Continue (Continuous Delivery)

La livraison continue, souvent abrégée en CD, est un ensemble de pratiques dans lequel les modifications de code sont automatiquement déployées dans un environnement d’acceptation (ou, en cas de déploiement continu, en production). La CD comprend des procédures pour garantir que le logiciel est correctement testé avant le déploiement et fournit un moyen de revenir en arrière sur les modifications si nécessaire. L’intégration continue (CI) est la première étape vers la livraison continue (c’est-à-dire que les modifications doivent fusionner proprement avant d’être testées et déployées)...

Machine Physique (Bare Metal)

Une machine physique, ou machine bare metal, fait référence à un ordinateur physique, plus précisément à un serveur, qui possède un et un seul système d’exploitation. En informatique moderne, la plupart des serveurs sont des machines virtuelles, il est donc important de faire cette distinction. Un serveur physique est généralement un ordinateur assez gros qui intègre du matériel puissant. L’installation d’un système d’exploitation et l’exécution d’applications directement sur ce matériel physique, sans virtualisation, est ce que l’on appelle une machine physique, ou machine bare metal...

Machine Virtuelle

Une machine virtuelle (VM) est un ordinateur et son système d’exploitation qui n’est pas lié à un matériel particulier. Les VMs s’appuient sur la virtualisation pour découper un unique ordinateur physique en plusieurs ordinateurs virtuels. Cette séparation permet aux entités et aux fournisseurs d’infrastructure de facilement créer et détruire des VMs sans impacter l’infrastructure sous-jacente. Problème auquel il répond Les machines virtuelles tirent parti de la virtualisation. Lorsqu’une machine physique est liée à un unique système d’exploitation, la manière donc les ressources peuvent être utilisées est en quelque sorte limitée...

Maillage de services (Service Mesh)

Dans un monde de microservices, les applications sont découpées en plusieurs petits services qui communiquent via le réseau. Exactement comme votre réseau wifi, les réseaux informatiques sont intrinsèquement non fiables, piratables et souvent lents. Les services mesh répondent à cette problématique en gérant le trafic (i.e., la communication) entre les services et ajoutent de la fiabilité, de l’observabilité et des fonctionnalités liées à la sécurité de manière uniforme pour tous les services...

Mise à l'échelle automatique (Autoscaling)

La mise à l’échelle automatique (ou autoscaling) est la capacité d’un système à s’adapter automatiquement (voir capacité de mise à l’échelle), généralement, en termes de ressources informatiques. Avec un système permettant une mise à l’échelle automatique, les ressources sont automatiquement ajoutées en cas de besoin et peuvent être ajustées pour répondre aux demandes fluctuantes des utilisateurs. Le processus de mise à l’échelle automatique varie et peut être configuré pour s’adapter à différentes métriques, telles que la mémoire ou le temps de traitement...

Mise à l'échelle horizontale (Horizontal Scaling)

La mise à l’échelle horizontale est une technique qui consiste à augmenter la capacité d’un système en ajoutant plus de nœuds au lieu d’ajouter plus de ressources informatiques à des nœuds unitaires (ce dernier étant connu sous le nom de mise à l’échelle verticale (Vertical Scaling)). Supposons que nous avons un système avec 4 Go de mémoire et que nous voulons augmenter sa capacité à 16 Go, la mise à l’échelle horizontale consiste à ajouter 4 × 4 Go de mémoire plutôt que de passer à un système avec 16 Go de mémoire...

Mise à l'échelle verticale (Vertical Scaling)

La mise à l’échelle verticale, également connue sous le nom de “mise à l’échelle vers le haut et vers le bas”, est une technique qui consiste à augmenter la capacité d’un système en ajoutant des processeurs et de la mémoire à chaque nœud unitaire à mesure que la charge de travail augmente. Supposons que vous avez un ordinateur avec 4 Go de mémoire et que vous voulez augmenter sa capacité à 16 Go, la mise à l’échelle verticale consiste à passer à un système avec 16 Go de mémoire...

Nœud

Un nœud est un ordinateur qui travaille de concert avec d’autres ordinateurs, ou nœuds, pour accomplir une tâche commune. Prenons par exemple votre ordinateur portable, votre modem et votre imprimante. Ils sont tous connectés via votre réseau wifi, communiquant et collaborant ensemble, chacun représentant un nœud. En cloud computing, un nœud peut être un ordinateur physique, un ordinateur virtuel, appelé VM, ou encore un conteneur. Problème auquel il répond Bien qu’une application puisse s’exécuter sur une seule machine, comme beaucoup le font encore, cela comporte certains risques...

Observabilité

L’observabilité est une propriété des systèmes qui définit le degré auquel le système peut générer des informations exploitables. Elle permet aux utilisateurs de comprendre l’état d’un système à partir de ses sorties externes et de prendre des mesures (correctives). Les systèmes informatiques sont mesurés en observant des signaux de bas niveau tels que le temps processeur, la mémoire, l’espace disque, des signaux de niveau supérieur et des signaux métiers, notamment les temps de réponse de l’API, les erreurs, le nombre de transactions par seconde, etc...

Orchestration de Conteneurs

L’orchestration de Conteneurs fait référence à la gestion et à l’automatisation du cycle de vie d’applications conteneurisées au sein d’environnements dynamiques. Réalisée à l’aide d’un orchestrateur de conteneurs (la plupart du temps, Kubernetes), elle permet les déploiements, le passage à l’échelle (automatique), (l’auto-)remédiation et le monitoring. L’orchestration est une métaphore: L’outil d’orchestration dirige les conteneurs tel un chef d’orchestre, s’assurant que chaque conteneur (ou musicien) fait ce qu’il doit faire...

Passerelle d'API (API Gateway)

Une passerelle d’API est un outil qui regroupe des APIs d’applications individuelles, les rendant toutes disponibles en un seul endroit. Celà permet aux organisations de déplacer des fonctions clés, telles que l’authentification et l’autorisation ou la limitation du nombre de requêtes entre applications, vers un emplacement géré de manière centralisée. Une passerelle d’API fonctionne comme une interface commune pour les consommateurs d’API (souvent externes). Problème auquel il répond Si vous mettez des APIs à la disposition de consommateurs externes, vous voudrez un point d’entrée unique pour gérer et contrôler tous les accès...

Pod

Dans un environnement Kubernetes, le pod est l’unité déployable la plus basique. Il représente un bloc de construction essentiel pour le déploiement et la gestion d’applications conteneurisées. Chaque pod contient une seule instance d’application et peut être constitué d’un ou plusieurs conteneurs. Kubernetes gère les pods dans le cadre d’un déploiement plus large et peut mettre à l’échelle les pods verticalement ou horizontalement selon les besoins. Problème auquel il répond Si les conteneurs agissent généralement comme des unités indépendantes qui exécutent et contrôlent une charge de travail particulière, il existe des cas où des conteneurs doivent interagir et être contrôlés de manière étroitement couplée...

Politique en tant que code

La politique en tant que code est la pratique de stocker la définition des politiques sous forme d’un ou plusieurs fichiers dans un format lisible et exploitable par un programme informatique. Cela remplace le modèle traditionnel où les politiques sont documentées sous une forme lisible par l’homme dans des documents distincts. Problème auquel il répond La construction d’applications et d’infrastructures est souvent contrainte par de nombreuses politiques définies par une organisation, par exemple des politiques de sécurité qui interdisent de stocker des secrets dans le code source, d’exécuter un conteneur avec des permissions de super-utilisateur ou de stocker des données en dehors d’une région géographique spécifique...

Portabilité

La portabilité comme caractéristique logicielle est une forme de réutilisabilité permettant d’éviter le “verrouillage” à certains environnements d’exploitation, par exemple, les fournisseurs de cloud, les systèmes d’exploitation ou les fournisseurs. Traditionnellement, les logiciels sont souvent conçus pour des environnements spécifiques (comme AWS ou Linux). En revanche, un logiciel portable fonctionne dans différents environnements d’exploitation sans nécessiter de modifications majeures. Une application est considérée comme portable si l’effort nécessaire pour l’adapter à un nouvel environnement reste raisonnable...

Sécurité Cloud Natives

La sécurité Cloud Native est une approche qui intègre la sécurité dans les applications Cloud Natives. Il garantit que la sécurité fait partie du cycle de développement de l’application du développement jusqu’à la mise en production. La sécurité Cloud Native vise à garantir les mêmes standards que les modèles de sécurité traditionnels tout en s’adaptant aux particularités des environnements Cloud Natives, comme les infrastructures éphémères ainsi que les livraisons de code fréquentes...

Sécurité de la couche de transport (TLS)

TLS, en français “Sécurité de la couche de transport”, en anglais “Transport Layer Security”, est un protocole conçu pour renforcer la sécurité des communications sur un réseau. Il garantit la sécurité des données lors de la livraison de celles-ci sur Internet, en évitant toute interception et/ou altération des données. Ce protocole est largement utilisé dans des applications telles que la messagerie instantanée, le courrier électronique, etc. Problème auquel il répond Sans TLS, des informations sensibles telles que les habitudes de navigation, la correspondance par courrier électronique, les discussions en ligne et les conférences téléphoniques peuvent facilement être tracées et modifiées par des tiers pendant la transmission...

Sécurité mutuelle de la couche de transport (mTLS)

Le TLS mutuel (mTLS, mutual TLS en anglais) est une technique utilisée pour authentifier et chiffrer les messages envoyés entre deux services. Le TLS mutuel est le protocole standard de la sécurité de la couche de transport, mais au lieu de valider l’identité d’une seule connexion, les deux parties sont validées. Problème auquel il répond Les microservices communiquent sur un réseau et, tout comme sur votre réseau wifi, les communications qui transitent par ce réseau peuvent être piratées...

Service

Notez bien qu’en informatique, le mot service a plusieurs significations. Dans cette définition, nous nous concentrerons sur la plus traditionnelle : service comme dans microservice. La manière dont les services diffèrent des microservices, voire s’ils diffèrent, est subtil et différentes personnes peuvent avoir des opinions différentes. Pour une définition générale, nous les considérerons équivalents. Veuillez vous référer à la définition des microservices...

Système distribué

Un système distribué est un ensemble de composants autonomes connectés via un réseau, et qui apparaît à ses utilisateurs comme un seul système cohérent. La plupart du temps appelés nœuds, ces composants peuvent aussi bien être des machines physiques (des ordinateurs ou des téléphones portables par exemple) que des processus logiciels. Les nœuds sont programmés pour atteindre un objectif commun et échangent des messages via le réseau afin de collaborer...

Technologies Cloud Natives

Les technologies Cloud Natives, aussi référencées comme la pile des technologies Cloud Natives, sont les technologies utilisées pour construire des applications Cloud Natives. Ces technologies permettent aux organisations de développer des applications capables de se mettre à l’échelle dans des environnements modernes et dynamiques tels que les clouds publics, privés et hybrides. Tout en tirant pleinement parti des avantages du cloud computing. Elles sont conçues dès le départ pour exploiter les capacités du cloud computing ainsi que des conteneurs, des service meshes, des micro-services...

Virtualisation

La virtualisation, dans un cadre Cloud Native, est l’exécution de plusieurs systèmes d’exploitation isolés sur un même ordinateur physique, aussi appelé serveur. Ces systèmes d’exploitation isolés et leurs ressources de calcul dédiées (processeur, mémoire et réseau) sont appelées machines virtuelles ou VMs. Lorsque nous parlons d’une machine virtuelle, nous parlons d’un ordinateur défini par logiciel. C’est-à-dire quelque chose qui ressemble et se comporte comme un vrai ordinateur, mais partage son matériel avec d’autres machines virtuelles...