Articles

Optimiser le flux d'air : étude de cas sur l'efficacité des ressources Cloud

Dans cet article, nous allons explorer comment optimiser le flux d’air en étudiant l’efficacité des ressources Cloud. Découvrons ensemble les avantages et les inconvénients de cette technologie !

Au cours de ma carrière, j’ai travaillé avec de nombreuses entreprises qui nécessitaient un outil d’orchestration pour une durée limitée par jour. Par exemple, l’un de mes premiers clients indépendants devait exécuter une instance Airflow pendant seulement 2 à 3 heures par jour, ce qui entraînait une inactivité de l’instance le reste du temps et un gaspillage d’argent.

I proposed a solution that would allow the client to use the Airflow instance only when needed, and to shut it down when not in use. This solution was based on a serverless architecture, which allowed the client to pay only for the resources used. The client was very pleased with the results and I was able to save them money.

Au cours de ma carrière, j’ai travaillé avec de nombreuses entreprises qui nécessitaient un outil d’orchestration pendant une durée limitée par jour. Par exemple, l’un de mes premiers clients indépendants avait besoin de faire fonctionner une instance Airflow pendant seulement 2 à 3 heures par jour, ce qui entraînait une inactivité de l’instance le reste du temps et une perte d’argent.

Comme il ne s’agissait pas d’une grande entreprise, le client m’a demandé si je pouvais intervenir. L’infrastructure était hébergée sur Google Cloud, que je connaissais bien.

J’ai proposé une solution qui permettrait au client d’utiliser l’instance Airflow uniquement lorsque nécessaire et de l’arrêter lorsqu’elle n’est pas utilisée. Cette solution était basée sur une architecture sans serveur, ce qui permettait au client de payer uniquement pour les ressources utilisées. Le client était très satisfait des résultats et j’ai pu lui faire économiser de l’argent.

Source de l’article sur DZONE

Kubernetes : l'état des lieux

Kubernetes est un système open source qui permet de gérer des clusters de conteneurs. Découvrez l’état des lieux de ce puissant outil !

Rapport de tendance 2023 sur Kubernetes dans l’entreprise de DZone

Selon le rapport sur les tendances Kubernetes dans l’entreprise de DZone de 2023, Kubernetes est un véritable révolutionnaire dans le domaine du développement d’applications modernes. Il a révolutionné la manière dont nous gérons les applications conteneurisées. Certaines personnes ont tendance à penser que Kubernetes est une approche opposée au serveur sans état. Cela est probablement dû à la gestion liée au déploiement d’applications sur Kubernetes – la gestion des nœuds, la configuration des services, la gestion de charge, etc. La programmation sans serveur, célébrée pour sa puissance d’autoscaling et son efficacité économique, est connue pour son développement et son exploitation faciles des applications. Pourtant, les complexités introduites par Kubernetes ont conduit à une quête d’une approche plus automatisée – c’est précisément là que la programmation sans serveur entre en jeu dans Kubernetes.

Afin de tirer parti des avantages de la programmation sans serveur et de Kubernetes, les entreprises doivent trouver un moyen de combiner ces deux technologies. Les entreprises peuvent maintenant utiliser des outils tels que Knative pour combiner le meilleur des deux mondes. Knative est une plate-forme open source qui permet aux développeurs de créer et de déployer des applications sans serveur sur Kubernetes. En outre, Knative fournit des fonctionnalités telles que le routage intelligent, la scalabilité automatique et la gestion des données qui aident les développeurs à tirer le meilleur parti de Kubernetes. Les entreprises peuvent également utiliser des outils tels que Kubeless pour exécuter des fonctions sans serveur sur Kubernetes. Kubeless est un moteur de fonction sans serveur qui permet aux développeurs d’exécuter des fonctions sans serveur sur Kubernetes avec une faible latence et une grande scalabilité. Les entreprises peuvent également utiliser des outils tels que OpenFaaS pour créer des services sans serveur sur Kubernetes.

En combinant les avantages de la programmation sans serveur et de Kubernetes, les entreprises peuvent bénéficier d’une gestion plus efficace des données et d’une meilleure scalabilité. Les outils tels que Knative, Kubeless et OpenFaaS permettent aux entreprises de tirer parti des avantages de la programmation sans serveur et de Kubernetes pour gérer leurs applications et leurs données. Ces outils offrent aux entreprises une plus grande flexibilité et une meilleure gestion des données, ce qui permet aux entreprises de réduire leurs coûts et d’améliorer leurs performances. En utilisant ces outils, les entreprises peuvent gérer leurs applications et leurs données plus efficacement et à moindre coût.

En conclusion, la combinaison de la programmation sans serveur et de Kubernetes offre aux entreprises une plus grande flexibilité et une meilleure gestion des données. Les outils tels que Knative, Kubeless et OpenFaaS permettent aux entreprises de tirer parti des avantages de ces technologies pour gérer leurs applications et leurs données plus efficacement et à moindre coût. Les entreprises peuvent ainsi réduire leurs coûts et améliorer leurs performances en matière de gestion des données.

Source de l’article sur DZONE

Architecture événementielle avec fonctions sans serveur - Partie 1

Découvrez comment créer une architecture événementielle sans serveur avec des fonctions puissantes et flexibles dans cette première partie !

Première chose, architecture événementielle

When an event occurs, the application can take action. This could be as simple as logging the event or sending an email notification. It could also trigger a more complex workflow, such as a series of tasks to process the order. The key benefit of EDA is that it allows applications to respond quickly to events, without having to wait for a user to initiate an action.

Comment fonctionne l’architecture événementielle

L’architecture événementielle (EDA) est un modèle d’architecture logicielle qui utilise des événements pour découpler les différents composants d’une application. Dans ce contexte, un événement est défini comme un changement d’état. Par exemple, pour une application de commerce électronique, un événement pourrait être un client qui clique sur une liste, ajoute cet article à son panier ou soumet ses informations de carte de crédit pour acheter. Les événements englobent également des changements d’état non initiés par l’utilisateur, tels que des tâches planifiées ou des notifications d’un système de surveillance.

Lorsqu’un événement se produit, l’application peut prendre des mesures. Cela pourrait être aussi simple que de journaliser l’événement ou d’envoyer une notification par e-mail. Il pourrait également déclencher un flux de travail plus complexe, comme une série de tâches pour traiter la commande. L’avantage clé de l’EDA est qu’il permet aux applications de réagir rapidement aux événements, sans avoir à attendre qu’un utilisateur initie une action.

Fonctionnalités sans serveur et codage

Les fonctionnalités sans serveur sont une méthode de déploiement qui permet aux développeurs de créer et de déployer des applications sans avoir à gérer les serveurs sur lesquels elles sont exécutées. Les fonctionnalités sans serveur sont exécutées dans des conteneurs qui sont automatiquement gérés par le fournisseur de services cloud. Les développeurs n’ont donc pas à se soucier de la gestion des serveurs et peuvent se concentrer sur le codage.

Les fonctionnalités sans serveur sont particulièrement utiles pour les applications qui doivent réagir rapidement aux événements. Les conteneurs sont automatiquement déployés et exécutés lorsqu’un événement se produit, ce qui permet à l’application de réagir immédiatement. Les fonctionnalités sans serveur sont également très efficaces car elles ne sont exécutées que lorsque nécessaire et peuvent être redimensionnées en fonction des besoins.

Lorsque les fonctionnalités sans serveur et l’architecture événementielle sont combinées, elles offrent une solution efficace et évolutive pour les applications modernes. Les fonctionnalités sans serveur permettent aux applications de réagir rapidement aux événements et d’être redimensionnées en fonction des besoins, tandis que l’architecture événementielle permet aux applications de réagir aux événements sans attendre qu’un utilisateur initie une action.

Source de l’article sur DZONE

Exécuter mes applications Go de manière sans serveur - Partie 2

Dans cet article, je vais vous montrer comment exécuter vos applications Go sans serveur, en utilisant des services cloud et des outils de développement. Partie 2 de cette série de tutoriels !

## La première partie de cette série vous a présenté le AWS Lambda Go API Proxy et comment ses implémentations d’adaptateur spécifiques au cadre / package (pour gorilla / mux, echo et net / http) vous permettent d’exécuter des applications Go existantes en tant que fonctions AWS Lambda frontées par Amazon API Gateway.

Le premier volet de cette série vous a présenté le AWS Lambda Go API Proxy et comment ses implémentations adaptées au framework/package spécifique (pour gorilla/mux, echo et net/http) vous permettent d’exécuter des applications Go existantes en tant que fonctions AWS Lambda frontées par Amazon API Gateway. Si vous ne l’avez pas encore fait, je vous encourage à y jeter un coup d’œil pour avoir une compréhension de base du AWS Lambda Go API Proxy.

Le AWS Lambda Go API Proxy prend également en charge Gin, qui est l’un des frameworks web Go les plus populaires ! Ce billet de blog suivant démontrera comment prendre un service de raccourcissement d’URL existant écrit à l’aide du framework Gin et le faire fonctionner en tant que fonction AWS Lambda sans serveur. Au lieu d’utiliser AWS SAM, nous allons changer un peu les choses et utiliser le AWS CDK pour déployer la solution.

Pour cela, nous allons créer une base de données DynamoDB pour stocker les URL raccourcies et une fonction Lambda pour gérer les requêtes entrantes. La fonction Lambda sera appelée par Amazon API Gateway et répondra aux requêtes GET et POST. La fonction Lambda utilisera la base de données DynamoDB pour stocker et récupérer les URL raccourcies. Une fois la base de données configurée et la fonction Lambda créée, nous allons utiliser le AWS CDK pour déployer le tout sur AWS.

Source de l’article sur DZONE

4 meilleurs frameworks dApp pour les développeurs Ethereum débutants

Les développeurs Ethereum débutants peuvent facilement créer des applications décentralisées grâce aux 4 meilleurs frameworks d’app: Truffle, Embark, Dapp et Dapple.

## Qu’est-ce qu’une dApp ?

L’Ethereum a connu une croissance fulgurante ces dernières années. Selon YCharts, la blockchain programmable compte désormais environ 220 millions d’adresses uniques. Liée à l’augmentation des utilisateurs est une explosion du nombre de dApps. Des entreprises et des startups du monde entier, de la finance, des ventes, des RH, de la comptabilité, de la chaîne d’approvisionnement et de la fabrication, utilisent des dApps pour rationaliser les processus et intégrer de nouveaux clients. Plusieurs cadres existent qui simplifient le processus de développement de dApp pour les développeurs Web2 qui souhaitent participer à Web3. Ce post examine quatre des plus populaires. Mais tout d’abord, qu’est-ce qu’une dApp?

Qu’est-ce qu’une dApp?

Une dApp, ou application décentralisée, est un logiciel sans serveur qui s’exécute sur un réseau décentralisé et utilise une blockchain programmable pour la sécurité, la transparence et l’immuabilité. Une dApp combine des contrats intelligents avec une interface utilisateur frontale (HTML5, React, Angular). Les dApps peuvent être utilisées dans une variété d’industries et de services, des médias sociaux à la gestion de la chaîne d’approvisionnement, au suivi des paiements, à la résolution des plaintes et à toutes sortes de services comptables et financiers (décentralisés).

Les frameworks pour le développement de dApps sont essentiels pour permettre aux développeurs Web2 de participer à Web3. Les frameworks fournissent une architecture commune pour le développement et le déploiement de dApps. Ils fournissent également des outils et des bibliothèques qui facilitent le processus de développement et permettent aux développeurs Web2 de se familiariser avec les technologies Web3. Quatre des frameworks les plus populaires sont Ethereum, Hyperledger Fabric, EOS et Corda. Chacun offre des caractéristiques uniques qui répondent aux besoins des développeurs Web2.

Les frameworks pour le développement de dApps sont essentiels pour permettre aux développeurs Web2 de participer à Web3. Ethereum est le framework le plus populaire et le plus mature pour le développement de dApps. Il offre une architecture modulaire qui permet aux développeurs de créer des applications complexes avec des contrats intelligents. Ethereum fournit également une variété d’outils et de bibliothèques qui facilitent le processus de développement et permettent aux développeurs Web2 de se familiariser avec les technologies Web3. Hyperledger Fabric est un autre framework populaire pour le développement de dApps. Il offre une architecture modulaire qui permet aux développeurs de créer des applications complexes avec des contrats intelligents. Hyperledger Fabric fournit également une variété d’outils et de bibliothèques qui facilitent le processus de développement et permettent aux développeurs Web2 de se familiariser avec les technologies Web3. EOS est un autre framework populaire pour le développement de dApps. Il offre une architecture modulaire qui permet aux développeurs de créer des applications complexes avec des contrats intelligents. EOS fournit également une variété d’outils et de bibliothèques qui facilitent le processus de développement et permettent aux développeurs Web2 de se familiariser avec les technologies Web3. Enfin, Corda est un framework populaire pour le développement de dApps. Il offre une architecture modulaire qui permet aux développeurs de créer des applications complexes

Source de l’article sur DZONE

Fargate vs Lambda : Qui sera le vainqueur ?

Fargate et Lambda sont deux technologies très populaires parmi les développeurs cloud. Quel est le meilleur pour votre projet ? Découvrons qui sera le vainqueur !

## Comparaison Fargate vs Lambda dans l’espace sans serveur

Quelles sont les différences entre Fargate et Lambda ?

Fargate et Lambda sont deux options de calcul sans serveur populaires disponibles dans l’écosystème AWS. Bien que les deux outils offrent un calcul sans serveur, ils diffèrent en ce qui concerne les cas d’utilisation, les limites opérationnelles, les allocations de ressources d’exécution, le prix et les performances. Fargate est une moteur de calcul sans serveur proposé par Amazon qui vous permet de gérer efficacement les conteneurs sans les tracas de la mise en provision des serveurs et de l’infrastructure sous-jacente. Lambda, quant à lui, est une plateforme de calcul sans serveur qui vous permet d’exécuter du code sans avoir à gérer des serveurs. Lambda est conçu pour prendre en charge des charges de travail à courtes durées et à faible consommation de ressources.

Quelle est la meilleure option pour l’architecture ?

Lorsqu’il s’agit de choisir entre Fargate et Lambda, il est important de comprendre leurs différences et leurs avantages. Pour les applications à longue durée et à haute consommation de ressources, Fargate est la meilleure option car il offre une gestion des conteneurs plus efficace et une meilleure performance. Cependant, pour les applications à courtes durées et à faible consommation de ressources, Lambda est la meilleure option car il offre une exécution plus rapide et une meilleure utilisation des ressources. En fin de compte, le choix entre Fargate et Lambda dépend des exigences spécifiques de votre application et de votre architecture. Il est important de prendre en compte le coût, la performance et les fonctionnalités avant de prendre une décision finale.

Quelle que soit l’application ou l’architecture que vous souhaitez mettre en place, Fargate et Lambda sont tous deux des outils puissants qui peuvent vous aider à atteindre vos objectifs. En tant qu’informaticien enthousiaste, je trouve que ces outils sont très utiles pour créer des applications modernes et évolutives. Fargate et Lambda offrent tous les deux des fonctionnalités avancées qui peuvent être utilisées pour créer des architectures robustes et flexibles. Les deux outils sont faciles à utiliser et peuvent être intégrés à d’autres services AWS pour offrir une expérience utilisateur optimale. En fin de compte, le choix entre Fargate et Lambda dépendra des exigences spécifiques de votre application et de votre architecture.

Source de l’article sur DZONE

PlatformCréer un client de secours avec Hazelcast Viridian Platform sans serveur

Vous pouvez facilement créer un client de secours avec Hazelcast Viridian Platform sans serveur, ce qui vous permet d’accéder à des données et services à tout moment.

Mise en place d’un client de basculement pour une stratégie de reprise après sinistre

En tant que scientifique informatique enthousiaste, je sais que le failover est une fonctionnalité importante des systèmes qui dépendent d’une disponibilité quasi constante. Dans Hazelcast, un client de failover redirige automatiquement son trafic vers un cluster secondaire lorsque le client ne peut pas se connecter au cluster primaire. Il est conseillé d’utiliser un client de failover avec la réplication WAN comme partie intégrante de votre stratégie de reprise après sinistre. Dans ce tutoriel, vous mettrez à jour le code d’un client Java pour qu’il se connecte automatiquement à un cluster secondaire de failover s’il ne peut pas se connecter à son cluster primaire d’origine. Vous effectuerez également un test simple pour vous assurer que votre configuration est correcte et l’ajusterez ensuite pour inclure la gestion des exceptions. Vous apprendrez comment recueillir toutes les ressources dont vous avez besoin pour créer un client de failover pour un cluster primaire et secondaire, créer un client de failover basé sur le client Java d’exemple, tester le failover et ajouter la gestion des exceptions pour les opérations.

Étape 1: Configurer les clusters et les clients

Créez deux clusters Viridian Serverless que vous utiliserez comme clusters primaires et secondaires, puis téléchargez et connectez des clients Java d’exemple à ceux-ci.

Une fois que vous avez créé les clusters et les clients, vous devez créer une base de données qui contient les informations sur les clusters primaires et secondaires. Cette base de données doit être accessible à partir du client Java afin qu’il puisse accéder aux informations relatives aux clusters primaires et secondaires. Vous pouvez créer cette base de données en utilisant n’importe quel type de base de données relationnelle ou non relationnelle. Une fois que vous avez créé la base de données, vous devez y ajouter les informations sur les clusters primaires et secondaires. Vous pouvez également ajouter des informations supplémentaires telles que l’adresse IP du cluster primaire et secondaire, le port utilisé par le cluster, le nom du cluster, etc.

Une fois que vous avez créé la base de données et ajouté les informations sur les clusters primaires et secondaires, vous pouvez maintenant configurer le client Java pour qu’il puisse accéder à cette base de données et récupérer les informations nécessaires. Pour ce faire, vous devez ajouter le code nécessaire à votre client Java pour qu’il puisse se connecter à la base de données et récupérer les informations nécessaires. Une fois que vous avez terminé cette étape, votre client Java est prêt à être utilisé pour se connecter aux clusters primaires et secondaires.

Source de l’article sur DZONE

Ruby prend en charge WebAssembly

Ruby, le langage de programmation populaire, a récemment annoncé qu’il prend désormais en charge WebAssembly, ce qui ouvre de nouvelles possibilités pour les développeurs.

« Ruby Rejoint le Rang des Langues Capables de Cibler WebAssembly avec sa Dernière Version 3.2 »

En tant qu’informaticien enthousiaste, je suis ravi de voir que Ruby a rejoint les rangs des langages capables de cibler WebAssembly avec sa dernière version 3.2. Cette mise à jour apparemment mineure pourrait être la plus grande chose qui soit arrivée à ce langage depuis Rails, car elle permet aux développeurs Ruby d’aller au-delà du back-end. En portant leur code sur WebAssembly, ils peuvent le faire fonctionner n’importe où : sur le front-end, sur des périphériques embarqués, en tant que fonctions sans serveur, à la place des conteneurs ou sur le bord. WebAssembly a le potentiel de faire de Ruby un langage universel.

Qu’est-ce que WebAssembly?

WebAssembly (souvent abrégé en Wasm) est un format d’instructions binaires bas niveau qui s’exécute sur une machine virtuelle. Le langage a été conçu comme alternative à JavaScript. Son objectif est de faire fonctionner des applications sur n’importe quel navigateur à des vitesses proches de celles natives. Wasm peut être ciblé depuis n’importe quel langage de haut niveau tel que C, Go, Rust et maintenant également Ruby.

Les avantages de WebAssembly pour les développeurs Ruby

Les développeurs Ruby peuvent tirer parti de WebAssembly pour créer des applications plus performantes et plus flexibles. Les applications compilées en Wasm sont plus rapides et plus légères que les applications JavaScript, ce qui les rend plus faciles à télécharger et à exécuter. De plus, les applications Wasm peuvent être exécutées sur des périphériques embarqués et des systèmes d’exploitation légers, ce qui permet aux développeurs Ruby d’accéder à une gamme plus large de plates-formes et de périphériques. Enfin, le code Wasm peut être exécuté en tant que fonction sans serveur, ce qui permet aux développeurs Ruby de réduire leurs coûts de serveur et d’améliorer la scalabilité et la sécurité de leurs applications.

En conclusion, l’ajout de WebAssembly à Ruby est une excellente nouvelle pour les développeurs Ruby. Grâce à cette technologie, ils peuvent créer des applications plus performantes et plus flexibles qui peuvent être exécutées sur une variété de plates-formes et de périphériques. De plus, le code Wasm peut être exécuté en tant que fonction sans serveur, ce qui permet aux développeurs Ruby de réduire leurs coûts de serveur et d’améliorer la scalabilité et la sécurité de leurs applications. Enfin, cette technologie offre aux développeurs Ruby la possibilité de travailler avec des données volumineuses et complexes, ce qui ouvre la voie à un nouveau type d’applications.

Source de l’article sur DZONE

Jakarta EE is a unanimously adopted and probably the most popular Java enterprise-grade software development framework. With the industry-wide adoption of microservices-based architectures, its popularity is skyrocketing and during these last years, it has become the preferred framework for professional software enterprise applications and services development in Java.

Jakarta EE applications used to traditionally be deployed in run-times or application servers like Wildfly, GlassFish, Payara, JBoss EAP, WebLogic, WebSphere, and others, which might have been criticized for their apparent heaviness and expansive costs. With the advent and the ubiquitousness of the cloud, these constraints are going to become less restrictive, especially thanks to the serverless technology, which provides increased flexibility, for standard low costs.

Source de l’article sur DZONE

A couple of weeks before, in AWS re:invent, Amazon made a lot of innovative announcements, and one of the announcements was the AWS Application Composer service, which allows a user to drag and drop elements to the Canvas and quickly design and deploy serverless applications.   

Introduction

Application Composer service is in the preview phase as this is being written. It allows you to drag and drop a list of resources to a canvas, make connections between them and provide the required configuration. It allows you to design a workflow on the front end, and in the background, it generates the necessary code and template using the Serverless Architecture Model (SAM). SAM CLI is the tool you can use to quickly deploy this template to the AWS environment.

Source de l’article sur DZONE