Articles

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

Ne Pas Utiliser de Credentiels dans une CI/CD Pipeline

Les pipelines CI/CD sont des outils puissants, mais il est important de ne pas utiliser de credentiels sensibles pour éviter les risques de sécurité.

Comment Donner un Accès Sécurisé à des Services Tiers Sans Utiliser de Clés Secrètes

OpenID Connect (OIDC) is a protocol that allows users to authenticate themselves with an external identity provider, such as Auth0 or Okta. It works by exchanging an access token between the identity provider and the application. This token is cryptographically signed and contains a set of claims about the user, such as their name, email, and other attributes. The application can then use this token to authenticate the user and grant them access to resources.

En tant qu’utilisateur qui construit et maintient des infrastructures cloud, j’ai toujours été méfiant du point de vue de la sécurité lorsque je donne un accès à des services tiers, tels que les plateformes CI/CD. Tous les fournisseurs de services prétendent prendre des précautions strictes et mettre en œuvre des processus infaillibles, mais les vulnérabilités sont toujours exploitées et les erreurs arrivent. Par conséquent, ma préférence est d’utiliser des outils qui peuvent être hébergés en interne. Cependant, je ne peux pas toujours avoir le choix si l’organisation est déjà engagée auprès d’un partenaire externe, tel que Bitbucket Pipelines ou GitHub Actions. Dans ce cas, pour appliquer un IaC Terraform ou déployer un groupe d’échelle automatique, il n’y a pas d’autre choix que de fournir à l’outil externe une clé secrète API, n’est-ce pas ? Faux ! Avec la prolifération de OpenID Connect, il est possible de donner aux plates-formes tierces un accès basé sur des jetons qui n’exige pas de clés secrètes.

Le problème avec une clé secrète est qu’il y a toujours une chance qu’elle soit divulguée. Le risque augmente plus elle est partagée, ce qui se produit lorsque des employés quittent et que de nouveaux arrivent. L’un d’entre eux peut le divulguer intentionnellement ou ils peuvent être victimes d’une hameçonnage ou d’une violation. Lorsqu’une clé secrète est stockée dans un système externe, cela introduit un tout nouvel ensemble de vecteurs de fuite potentiels. Atténuer le risque implique de changer périodiquement les informations d’identification, ce qui est une tâche qui n’ajoute pas de valeur perceptible.

OpenID Connect (OIDC) est un protocole qui permet aux utilisateurs de s’authentifier auprès d’un fournisseur d’identité externe, tel qu’Auth0 ou Okta. Il fonctionne en échangeant un jeton d’accès entre le fournisseur d’identité et l’application. Ce jeton est signé de manière cryptographique et contient un ensemble de revendications sur l’utilisateur, telles que son nom, son adresse électronique et d’autres attributs. L’application peut ensuite utiliser ce jeton pour authentifier l’utilisateur et lui donner accès aux ressources.

Les jetons OIDC sont une alternative intéressante aux clés secrètes pour donner aux plates-formes tierces un accès limité aux ressources cloud. Les jetons sont générés par le fournisseur d’identité et peuvent être limités à une durée de vie spécifique et à un ensemble de revendications spécifiques. De plus, ils peuvent être révoqués à tout moment par le fournisseur d’identité si nécessaire. Les jetons OIDC sont donc une solution plus sûre et plus flexible pour donner aux plates-formes tierces un accè

Source de l’article sur DZONE

In the previous blog post about Kubernetes autoscaling, we looked at different concepts and terminologies related to autoscaling such as HPA, cluster auto-scaler, etc. In this post, we’ll do a walkthrough of how Kubernetes autoscaling can be implemented for custom metrics generated by the application.

Why Custom Metrics?

The CPU or RAM consumption of an application may not indicate the right metric for scaling always. For example, if you have a message queue consumer that can handle 500 messages per second without crashing. Once a single instance of this consumer is handling close to 500 messages per second, you may want to scale the application to two instances so that load is distributed across two instances. Measuring CPU or RAM is a fundamentally flawed approach for scaling such an application and you would have to look at a metric that relates more closely to the application’s nature. The number of messages that an instance is processing at a given point in time is a better indicator of the actual load on that application. Similarly, there might be applications where other metrics make more sense and these can be defined using custom metrics in Kubernetes.

Source de l’article sur DZONE

With the Auto Scale for VPC, you can create an instance group to scale according to your requirements. Based on the target utilization metrics that you define, the instance group can dynamically add or remove instances to achieve your specified instance availability.

VPC

Let’s start with a quick one, as an introduction to VPC.

Source de l’article sur DZONE