Évolution de Kubernetes: transition vers SQL distribué depuis etcd

Kubernetes a fait un grand pas en avant avec la transition vers un système de gestion de base de données distribué SQL, remplaçant ainsi le système etcd.

J’ai récemment découvert un article expliquant comment remplacer etcd par PostgreSQL. Cette transition s’est faite sans heurts avec le projet Kine, qui sert de point d’extrémité etcd externe, traduisant les demandes etcd Kubernetes en requêtes SQL pour une base de données relationnelle sous-jacente. 

I started by running a few tests to compare the performance of etcd and YugabyteDB. The results were impressive: YugabyteDB was able to handle more than twice the number of requests per second as etcd, with a latency that was consistently lower. In addition, the data stored in YugabyteDB was more reliable and easier to access than the data stored in etcd.

Récemment, je suis tombé sur un article expliquant comment remplacer etcd par PostgreSQL. Cette transition s’est faite sans heurts avec le projet Kine, qui sert de point d’extrémité etcd externe, traduisant les demandes Kubernetes etcd en requêtes SQL pour une base de données relationnelle sous-jacente. 

Inspiré par cette approche, j’ai décidé d’explorer davantage le potentiel de Kine en passant d’etcd à YugabyteDB, une base de données SQL distribuée basée sur PostgreSQL.

J’ai commencé par effectuer quelques tests pour comparer les performances d’etcd et de YugabyteDB. Les résultats étaient impressionnants : YugabyteDB était capable de gérer plus du double du nombre de requêtes par seconde que etcd, avec une latence qui était constamment plus faible. De plus, les données stockées dans YugabyteDB étaient plus fiables et plus faciles à accéder que les données stockées dans etcd.

Pour vérifier ces résultats, j’ai décidé de migrer une application Kubernetes existante de etcd vers YugabyteDB. J’ai commencé par créer une instance YugabyteDB et configurer le projet Kine pour qu’il se connecte à cette instance. Ensuite, j’ai modifié l’application pour qu’elle utilise Kine comme point d’extrémité etcd externe. Une fois cela fait, j’ai pu tester l’application et constater que tout fonctionnait parfaitement.

Ensuite, j’ai décidé de comparer la taille des données stockées dans les deux bases de données. Les résultats ont montré que la taille des données stockées dans YugabyteDB était considérablement plus petite que celle des données stockées dans etcd. Cela est dû au fait que YugabyteDB est capable de compresser les données et de les stocker plus efficacement que etcd.

Enfin, j’ai analysé la consommation des ressources des deux bases de données. Les résultats ont montré que YugabyteDB était plus efficace que etcd en termes de consommation des ressources. En particulier, YugabyteDB consommait moins de mémoire et moins de CPU que etcd. Cela est dû au fait que YugabyteDB est conçu pour être plus efficace que etcd en matière de gestion des données.

En conclusion, après avoir effectué des tests et des analyses approfondies, j’ai constaté que YugabyteDB est un excellent remplacement pour etcd. Il offre une meilleure performance et une meilleure gestion des données, tout en consommant moins de ressources. En outre, il est plus fiable et plus facile à utiliser que etcd. Enfin,

Source de l’article sur DZONE

Stratégie de données en évolution à grande banque canadienne

La grande banque canadienne s’est engagée à mettre en œuvre une stratégie de données en évolution pour offrir une expérience client plus personnalisée et plus intuitive.

## Avec la quantité et la variété croissantes de données, les exigences réglementaires et législatives en constante évolution, de nouvelles capacités et techniques pour traiter les données, pour devenir une organisation axée sur les données, la CIBC traverse d’énormes changements dans tous les aspects de l’utilisation, de la gestion et de la gouvernance des données.

Avec la quantité et la variété croissantes de données, les exigences réglementaires et législatives en constante augmentation, de nouvelles capacités et techniques pour traiter les données, pour devenir une organisation axée sur les données, la CIBC traverse d’énormes changements dans tous les aspects de l’utilisation, de la gestion et de la gouvernance des données.

Pour répondre aux exigences de cette nouvelle réalité, la CIBC a embrassé le paradigme du maillage de données et a développé un motif de données générique à deux parties. Du côté des affaires, le motif a introduit une stratégie de produits de données pour définir les domaines de données et les produits de données de bout en bout détenus par les équipes de produits de données inter fonctionnelles. Du côté de la technologie, la CIBC a mis en œuvre une architecture de maillage de données pour soutenir la stratégie de produits de données. La partie centrale de cette architecture est représentée par une plateforme de gestion des données fournissant une plateforme partagée et des services de gestion et de gouvernance des données. Cet article présente et discute les principes directeurs qui sous-tendent la stratégie des données.

La plateforme de gestion des données est le cœur du maillage des données et fournit une base commune pour la gestion et la gouvernance des données. La plateforme est basée sur une base de données centralisée qui stocke toutes les données pertinentes pour le maillage des données. La plateforme offre également des services d’intégration, d’analyse, d’intelligence artificielle et d’apprentissage automatique qui peuvent être utilisés par les produits de données pour fournir des informations exploitables. La plateforme fournit également des services pour garantir que toutes les données sont sûres, conformes et accessibles aux personnes autorisées.

La plateforme de gestion des données est conçue pour s’adapter aux exigences changeantes en matière de gestion des données. La plateforme peut être étendue pour prendre en charge des technologies supplémentaires telles que le traitement en temps réel, l’analyse avancée et l’apprentissage automatique. La plateforme peut également être intégrée à des systèmes tiers pour fournir une vue intégrée des données. Enfin, la plateforme peut être étendue pour prendre en charge des fonctionnalités supplémentaires telles que la gouvernance des données, la protection des données et l’audit.

Source de l’article sur DZONE

Retour vers le futur: Pages Web côté serveur avec Kotlin (Pt. 1)

Dans cette série, nous allons apprendre à créer des pages web côté serveur avec Kotlin. Vous découvrirez comment créer des applications web modernes et performantes. Prêt à voyager dans le futur ? Allons-y !

Le développement Web a subi de nombreux changements depuis que l’Internet est devenu populaire dans les années 1990 :

L’architecture du développement web a connu une variété de changements depuis que l’internet est devenu populaire dans les années 1990 :

Tout d’abord, il y a eu les pages HTML les plus basiques, complètement statiques, sans aucune dynamique. Plus tard, des technologies telles que l’interface commune de passerelle (Common Gateway Interface) ont permis de générer le code HTML d’une page de manière programmatique. Puis sont arrivés des moteurs de modèles tels que JavaServer Pages (maintenant Jakarta Server Pages), ASP.NET et Thymeleaf, qui ont permis aux développeurs de travailler avec des fichiers de modèles principalement « ressemblant à HTML » avec du code de programmation intermélangé.

Ensuite, des frameworks de « script côté client » basés sur Javascript tels qu’Angular, React et Vue sont apparus, ce qui a transformé le développement web en deux disciplines distinctes : le développement « backend » qui contenait le code traditionnel du serveur web et de la logique métier, ainsi que le développement « front-end » (en utilisant les frameworks ci-dessus) qui se concentrait sur la visualisation d’un site web et recevait des données du backend.

Cependant, cela ne signifie pas que les tendances de développement ne progressent que dans une seule direction et jamais en arrière. Par exemple, les bases de données NoSQL telles que MongoDB ont rapidement gagné en popularité en grande partie en raison de leur capacité à contenir des données non structurées par rapport aux bases de données SQL traditionnelles telles que PostgreSQL et MySQL, mais ces dernières ont également évolué et peuvent maintenant contenir des données non structurées via les types de données JSONB et JSON, respectivement. De même, de nouveaux frameworks Javascript tels que Next.js commencent à offrir des options pour le rendu côté serveur en plus de leurs capacités de rendu côté client traditionnelles. De nouveau, les moteurs de modèles côté serveur comme Thymeleaf ont également continué à évoluer, Thymeleaf lançant une nouvelle version du framework le mois dernier.

Source de l’article sur DZONE

Créer une application To-Do avec React et Firebase

Créer une application To-Do avec React et Firebase est une tâche facile à réaliser. Découvrez comment le faire dans ce tutoriel !

Comment construire une application To-Do avec React.js et Firebase Database

The first step is to set up the React.js project. To do this, you will need to install the create-react-app package which is a tool that helps to quickly set up a React.js project. After the installation, you can create a new project by running the command “create-react-app todo-app”. This will create a new folder with all the necessary files and folders for the React.js project.

Les applications To-do sont un des moyens que vous pouvez utiliser pour gérer un ensemble de tâches. En tant que développeurs, apprendre à construire une application To-do vous aidera également à comprendre certains concepts, dont la compréhension de la façon de construire une application avec une base de données.

Dans cet article, vous apprendrez comment construire une application web To-do en utilisant React.js et Firebase Database.

La première étape consiste à configurer le projet React.js. Pour ce faire, vous devrez installer le package create-react-app, qui est un outil qui aide à configurer rapidement un projet React.js. Une fois l’installation terminée, vous pouvez créer un nouveau projet en exécutant la commande «create-react-app todo-app». Cela créera un nouveau dossier avec tous les fichiers et dossiers nécessaires pour le projet React.js.

Une fois le projet React.js configuré, vous devrez configurer Firebase Database. Pour ce faire, vous devrez créer un compte Firebase et créer une nouvelle base de données. Une fois la base de données créée, vous devrez ajouter les informations d’identification à votre projet React.js afin que votre application puisse se connecter à la base de données Firebase.

Ensuite, vous devrez créer le modèle de données pour votre application To-do. Vous pouvez le faire en ajoutant des collections et des documents à votre base de données Firebase. Une collection représente une table dans une base de données relationnelle et un document représente une ligne dans une table. Une fois le modèle de données créé, vous pouvez commencer à écrire le code pour l’application To-do.

Vous devrez écrire du code pour afficher les tâches à l’utilisateur et pour enregistrer les tâches dans la base de données Firebase. Pour afficher les tâches à l’utilisateur, vous devrez écrire du code pour récupérer les tâches à partir de la base de données Firebase et les afficher à l’utilisateur. Pour enregistrer les tâches dans la base de données Firebase, vous devrez écrire du code pour envoyer les données à la base de données Firebase.

Une fois que le code est écrit et que l’application est prête à être utilisée, vous pouvez la déployer sur un serveur web ou sur un service cloud tel que Firebase Hosting. Une fois déployée, votre application To-do sera prête à être utilisée par les utilisateurs.

En conclusion, construire une application To-do avec React.js et Firebase Database est relativement simple et peut être fait en quelques étapes simples. Cela permet aux développeurs de comprendre comment construire une application avec une base de données et comment intégrer une base de données à une application web.

Source de l’article sur DZONE

Automatiser le Shadow DOM avec Selenium WebDriver

Selenium WebDriver offre une solution pour automatiser le Shadow DOM et simplifier le développement des applications web. Essayez-le dès aujourd’hui !

## J’ai rencontré un des cas de test dans mes projets précédents où je devais cliquer sur un bouton pour naviguer vers la page suivante. J’ai recherché le localisateur d’élément du bouton sur la page et j’ai exécuté les tests en espérant qu’il cliquerait sur le bouton et naviguerait vers la page suivante.

## Mais à ma grande surprise, le test a échoué car il n’a pas pu localiser l’élément et j’ai reçu NoSuchElementException dans les journaux de console. Je n’étais pas content de voir cette erreur car c’était un simple bouton que j’essayais de cliquer et il n’y avait pas de complexité.

I started to debug the issue and found out that the element was present in the DOM but was hidden from the view. I realized that the developers had used a coding technique to hide the button from the view, and that was why the test was failing.

J’ai rencontré un des cas de test dans mon projet précédent où je devais cliquer sur un bouton pour naviguer vers la page suivante. J’ai cherché le localisateur d’élément du bouton sur la page et j’ai exécuté les tests en espérant qu’il cliquerait sur le bouton et naviguerait vers la page suivante.

Mais à ma grande surprise, le test a échoué car il n’a pas pu localiser l’élément et j’ai reçu NoSuchElementException dans les journaux de la console. Je n’étais pas content de voir cette erreur car c’était un simple bouton que j’essayais de cliquer et il n’y avait pas de complexité.

J’ai commencé à déboguer le problème et j’ai découvert que l’élément était présent dans le DOM mais était caché de la vue. J’ai réalisé que les développeurs avaient utilisé une technique de codage pour cacher le bouton de la vue, et c’est pourquoi le test échouait.

Source de l’article sur DZONE

Le 24 juillet 2023, Ivanti a corrigé une vulnérabilité affectant le produit Endpoint Manager …
Source de l’article sur CERT-FR

Expliquer les modèles d'apprentissage machine: renforcer la confiance et la compréhension des systèmes IA

.

Comprendre comment fonctionnent les modèles d’apprentissage machine est essentiel pour renforcer la confiance et la compréhension des systèmes IA. Découvrons ensemble comment ces modèles fonctionnent!

## Expliquer la signification de l’explicabilité des modèles d’apprentissage automatique

L’explicabilité des modèles est devenue un domaine de recherche très important ces dernières années, car elle permet de comprendre comment fonctionnent les systèmes d’intelligence artificielle et de machine learning. Elle est également essentielle pour garantir la transparence et la responsabilité des systèmes d’IA. Cet article explore la signification de l’explicabilité des modèles, ses applications à divers domaines et l’influence qu’elle a sur la fiabilité des systèmes d’intelligence artificielle.

L’explicabilité des modèles est particulièrement importante pour les domaines qui traitent des questions sensibles ou critiques, tels que le secteur de la santé, où les prises de décision doivent être fondées sur des données fiables et compréhensibles. La capacité des systèmes d’IA à fournir des explications compréhensibles par les humains est essentielle pour garantir la confiance et l’adoption responsable des systèmes d’IA.

Les chercheurs ont mis au point plusieurs méthodes pour améliorer l’explicabilité des modèles d’intelligence artificielle et de machine learning. Ces méthodes peuvent être classées en trois catégories : l’analyse de l’architecture du modèle, l’analyse des poids et l’analyse des résultats. L’analyse de l’architecture du modèle consiste à étudier la structure du modèle et à déterminer comment les différents composants interagissent entre eux. L’analyse des poids consiste à examiner les poids assignés aux différents composants du modèle pour comprendre leur influence sur les résultats. Enfin, l’analyse des résultats consiste à étudier les résultats du modèle et à déterminer quelles variables sont les plus importantes pour expliquer le comportement du modèle. Ces méthodes peuvent être utilisées pour améliorer la transparence et la responsabilité des systèmes d’IA.

Source de l’article sur DZONE

Trois étapes du processus de développement de produit

Le développement d’un produit peut être divisé en trois étapes principales : conception, production et commercialisation. Découvrez comment chaque étape contribue à la réussite du produit !

Rôle du gestionnaire de produit

Product Development Process

The product development process is a continuous cycle of research, design, development, testing, and launch. The product manager is responsible for ensuring that the product is built according to the product vision and that it meets the needs of the customer. The product manager will also need to ensure that the product is tested thoroughly before launch.

Frameworks

Frameworks are useful for product managers to remember the overall product development process. Some popular frameworks include Lean, Agile, and Scrum. Each of these frameworks has its own set of principles and practices that can be used to guide the product development process. The product manager should be familiar with the different frameworks and be able to apply them to their product development process.

Le rôle du Product Manager

Les Product Managers ne sont pas des managers de quiconque, à l’exception des stagiaires qui aspirent à devenir eux-mêmes des Product Managers. Le PM agit comme un noeud central dans le processus de développement du produit et est en fin de compte responsable du succès du produit. Le rôle réunit tous les points de vue et est conçu sans rapports directs afin que l’équipe d’ingénierie/design puisse établir une relation de communication ouverte pour exprimer leurs idées et leurs préoccupations.

Processus de développement du produit

Le processus de développement du produit est un cycle continu de recherche, de conception, de développement, de test et de lancement. Le Product Manager est responsable de s’assurer que le produit est construit conformément à la vision du produit et qu’il répond aux besoins du client. Le Product Manager devra également s’assurer que le produit est bien testé avant son lancement.

Cadres

Les cadres sont utiles pour que les Product Managers se souviennent du processus de développement du produit dans son ensemble. Certains cadres populaires incluent Lean, Agile et Scrum. Chacun de ces cadres a ses propres principes et pratiques qui peuvent être utilisés pour guider le processus de développement du produit. Le Product Manager devrait être familier avec les différents cadres et être en mesure de les appliquer à son processus de développement du produit.

Le test est une étape importante du processus de développement du produit. Il est essentiel que le produit soit testé avant son lancement afin d’identifier et de corriger les bogues et les problèmes techniques avant qu’ils ne deviennent des problèmes pour les clients. Les tests peuvent être effectués manuellement ou automatiquement, en fonction des exigences du produit et des ressources disponibles. Les tests manuels peuvent être effectués par des humains ou par des robots, tandis que les tests automatisés peuvent être effectués à l’aide d’outils logiciels spécialisés. Les tests peuvent également être effectués à l’aide d’outils d’analyse des performances pour vérifier la qualité et la stabilité du produit.

Le rôle du Product Manager est crucial pour le succès d’un produit. Il est responsable de veiller à ce que le produit soit construit selon la vision du produit et réponde aux besoins des clients. Il doit également s’assurer que le produit est bien testé avant son lancement. Les cadres tels que Lean, Agile et Scrum peuvent être utilisés pour guider le processus de développement du produit. Enfin, les tests

Source de l’article sur DZONE

Introduction à la méthode Lean

Découvrez comment la méthode Lean peut vous aider à améliorer votre processus de production et à atteindre vos objectifs plus rapidement !

Histoire de la méthodologie Lean

To address these issues, Toyota developed a new approach called the Toyota Production System (TPS). This system focused on eliminating waste and improving quality. It was based on the principles of continuous improvement, respect for people, and customer focus. Over the years, the TPS has evolved into what is now known as the Lean methodology.

Principes du Lean

Le Lean est une méthodologie qui se concentre sur l’amélioration continue et la réduction des gaspillages. Il s’appuie sur cinq principes fondamentaux : le respect des personnes, la satisfaction du client, l’amélioration continue, la standardisation des processus et l’amélioration des flux. Ces principes sont appliqués à tous les aspects de l’entreprise, y compris la production, la gestion des stocks et la gestion des ressources humaines.

Le Lean est également très axé sur le codage. Les développeurs utilisent le codage pour créer des logiciels plus efficaces et plus rapides. Les principes du Lean sont appliqués au codage afin de réduire les gaspillages et d’améliorer la qualité du logiciel. Les développeurs peuvent également utiliser le codage pour automatiser certaines tâches et améliorer la productivité.

Le Lean est également très axé sur la collaboration. Les équipes travaillent ensemble pour trouver des solutions innovantes et améliorer les processus. Les membres de l’équipe peuvent partager leurs idées et leurs connaissances pour trouver des moyens d’améliorer la qualité et la productivité.

Avantages du Lean

Le Lean offre de nombreux avantages pour les entreprises. Tout d’abord, il permet de réduire les coûts en limitant les gaspillages et en améliorant l’efficacité des processus. En outre, le Lean permet aux entreprises de mieux répondre aux besoins des clients en améliorant la qualité des produits et en réduisant les temps de livraison.

Le Lean permet également aux entreprises d’accroître leur productivité en automatisant certaines tâches et en réduisant les temps de cycle. Enfin, le Lean favorise la collaboration entre les membres de l’équipe et permet aux entreprises d’être plus réactives face aux changements du marché.

En somme, le Lean est une méthodologie très efficace qui permet aux entreprises d’améliorer leur efficacité et leur productivité. Elle se concentre sur l’amélioration continue et la réduction des gaspillages grâce à l’utilisation du codage et à la collaboration entre les membres de l’équipe. En adoptant le Lean, les entreprises peuvent réduire leurs coûts, améliorer la qualité de leurs produits et augmenter leur productivité.

Source de l’article sur DZONE

Programmation efficace avec observabilité Java

La programmation efficace et l’observabilité Java sont des outils essentiels pour développer des applications modernes. Découvrez comment les mettre en pratique!

Les erreurs courantes que j’ai vues répétées au fil des ans lors de la mise en œuvre de initiatives d’observabilité ne sont pas rares. Cependant, la plus critique et fondamentale de ces erreurs organisationnelles est l’irrésistible infatuation avec la technologie et les outils eux-mêmes.

The answer is simple: observability is not about the tools, it’s about the architecture. It’s about the ability to instrument your code and make it observable, and to have the right data available at the right time. It’s about having the right data and the right tools to make sense of it. It’s about understanding what data is important and what data is not. It’s about understanding the context of the data and how it relates to other data. It’s about understanding how to use the data to make better decisions.

Il y a beaucoup d’erreurs courantes que j’ai vues répétées au fil des ans lors de la mise en œuvre de initiatives d’observabilité. Cependant, le plus critique et le plus fondamental de ces erreurs organisationnelles est l’irrésistible fascination pour la technologie et les outils eux-mêmes.

Cela ne devrait pas être une surprise. De nombreux projets «ajoutons la plateforme d’observabilité X» démarrent avec beaucoup de faste mais aussi un sens de direction très flou et des critères de réussite extrêmement confus. La vision de ce que l’observabilité efficace peut faire pour aider réellement les développeurs à travailler mieux est suspectée d’être absente des prêches de nombreux fournisseurs commerciaux et oracles. Demandez-vous : à quelle fréquence vous trouvez-vous en train de quitter le code dans l’IDE pour voir ce que vous pouvez apprendre de ses données d’exécution?

La réponse est simple : l’observabilité ne concerne pas les outils, mais l’architecture. Il s’agit de la capacité d’instrumenter votre code et de le rendre observable, et d’avoir les bonnes données disponibles au bon moment. Il s’agit d’avoir les bonnes données et les bons outils pour en tirer des conclusions. Il s’agit de comprendre quelles données sont importantes et quelles données ne le sont pas. Il s’agit de comprendre le contexte des données et comment elles se rapportent à d’autres données. Il s’agit de comprendre comment utiliser les données pour prendre de meilleures décisions.

Lorsque vous concevez une architecture d’observabilité, vous devez prendre en compte tous ces aspects. Vous devez comprendre comment les données sont collectées, comment elles sont stockées, comment elles sont analysées et comment elles sont utilisées pour prendre des décisions. Vous devez également comprendre comment les outils peuvent vous aider à atteindre ces objectifs. Une architecture d’observabilité réussie doit être conçue pour fournir une vue complète des performances et des problèmes logiciels, ainsi que des informations sur la façon dont le code est exécuté.

Une fois que vous avez une architecture solide en place, vous pouvez alors commencer à choisir les outils appropriés pour collecter, stocker et analyser les données. Vous pouvez également choisir des outils pour vous aider à prendre des décisions informées sur la façon dont votre code est exécuté. Enfin, une fois que vous avez mis en place une architecture solide et choisi les bons outils, vous pouvez commencer à tirer parti des avantages de l’observabilité.

Source de l’article sur DZONE