IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Cloud Computing Discussion :

L'adoption de Kubernetes par les développeurs est en hausse et le serverless en baisse


Sujet :

Cloud Computing

  1. #1
    Chroniqueur Actualités
    Avatar de Bruno
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Mai 2019
    Messages
    1 913
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2019
    Messages : 1 913
    Points : 37 380
    Points
    37 380
    Par défaut L'adoption de Kubernetes par les développeurs est en hausse et le serverless en baisse
    L'adoption de Kubernetes par les développeurs est en hausse et le serverless en baisse
    selon une enquête du Cloud Native Computing Foundation

    Dans un rapport publié le 20 décembre à l’issue d’une enquête menée par le cabinet d'études SlashData auprès de plus de 19 000 développeurs de 155 pays fin 2020 et début 2021, la Cloud Native Computing Foundation (CNCF), qui a ordonné l’enquête, révèle que l'adoption du système d'orchestration de conteneurs Kubernetes est en hausse, et que le serverless par contre est en baisse. L'enquête a également révélé que 5,6 millions de développeurs utilisaient Kubernetes au premier trimestre 2021, soit une augmentation de 67 % par rapport au premier trimestre 2020. Les technologies de périphérie présentent le taux d'adoption de Kubernetes le plus élevé de tous les secteurs étudiés.

    Kubernetes est une plateforme d'orchestration de conteneurs opens source qui permet l'exploitation d'un framework de serveur web élastique pour les applications en cloud. Kubernetes peut prendre en charge l'externalisation de centres de données vers des fournisseurs de services de cloud public ou peut être utilisé pour l'hébergement web à l'échelle. Les sites Web et les applications mobiles comportant un code personnalisé complexe peuvent être déployés à l'aide de Kubernetes sur du matériel de base afin de réduire les coûts de mise à disposition des serveurs Web auprès des hôtes du cloud public et d'optimiser les processus de développement logiciel.

    Nom : cloudNat1B.png
Affichages : 3154
Taille : 64,4 Ko

    La proportion de développeurs impliqués dans l'architecture sans serveur a chuté de 27 % à 24 %, selon l'enquête. L'informatique sans serveur implique l'allocation dynamique de cycles de calcul via des services tels que AWS Lambda. Selon le rapport, cette tendance à la baisse pourrait être due au manque de flexibilité des solutions sans serveur, les entreprises ayant peur de s'enfermer dans des fournisseurs spécifiques. AWS Lambda reste la sans serveur la plus populaire, utilisée par 53 % des développeurs. Selon une étude de Red Hat, l'attrait des développeurs pour les conteneurs et Kubernetes est principalement motivé par l'évolution de leur carrière.

    Caractéristiques de Kubernetes

    Kubernetes offre la possibilité d'automatiser le provisionnement des serveurs web en fonction du niveau de trafic web en production. Le matériel des serveurs Web peut être situé dans différents centres de données, sur différents matériels, ou par l'intermédiaire de différents fournisseurs d'hébergement. Kubernetes met à l'échelle les serveurs Web en fonction de la demande des applications logicielles, puis dégrade les instances de serveurs Web pendant les temps d'arrêt. Kubernetes dispose également de capacités avancées d'équilibrage de charge pour l'acheminement du trafic web vers les serveurs web en exploitation.

    Architecture de Kubernetes et fonctionnement

    Kubernetes a évolué à partir du code que Google utilisait pour gérer ses centres de données à l'échelle avec la plateforme « Borg ». AWS a présenté au public les cadres de serveurs web élastiques avec le lancement de la plateforme EC2. Kubernetes permet aux entreprises d'orchestrer des conteneurs comme EC2 mais en utilisant un code open source. Google, AWS, Azure et les autres grands hébergeurs de nuages publics offrent tous une prise en charge de Kubernetes pour l'orchestration de serveurs web en nuage. Les clients peuvent utiliser Kubernetes pour l'externalisation complète des centres de données, les applications web/mobiles, le support SaaS, l'hébergement web en nuage ou le calcul haute performance.

    Terminologie de Kubernetes

    Kubernetes (souvent abrégé en "K8s") fait partie de la Cloud Native Computing Foundation, qui soutient le développement de normes de mise en réseau partagées dans les logiciels de gestion de centres de données en cloud. Docker est la norme de virtualisation de conteneurs la plus populaire utilisée par Kubernetes. Docker offre des outils intégrés de développement du cycle de vie des logiciels pour les équipes de programmeurs. RancherOS, CoreOS et Alpine Linux sont des systèmes d'exploitation populaires spécifiquement conçus pour l'utilisation de conteneurs. La virtualisation des conteneurs est différente des outils VM ou VPS utilisant des hyperviseurs et nécessite généralement une empreinte de système d'exploitation plus petite en production.

    Où les utilisateurs de Kubernetes exécutent-ils leur code ?

    Nom : KubB.png
Affichages : 2204
Taille : 80,0 Ko

    Avantages de Kubernetes

    Le principal avantage de Kubernetes est la possibilité d'exploiter une plateforme de serveurs Web automatisée et élastique en production sans être lié à AWS par le service EC2. Kubernetes fonctionne sur la plupart des services d'hébergement en cloud public. Kubernetes permet l'externalisation complète du centre de données d'une entreprise. Kubernetes peut également être utilisé pour faire évoluer les applications web et mobiles en production vers les plus hauts niveaux de trafic web. Il permet à n'importe quelle entreprise d'exploiter son code logiciel au même niveau d'évolutivité que les plus grandes entreprises du monde.

    Orchestration de conteneurs

    L'orchestration de conteneurs est la gestion de serveurs web individuels fonctionnant dans des conteneurs par le biais de partitions virtuelles sur le matériel du centre de données. L'orchestration de conteneurs est un moyen de maintenir le cadre élastique des serveurs Web dans un centre de données sur une base automatisée en production. Les administrateurs peuvent établir des ressources qui peuvent être automatiquement démarrées si le trafic web augmente au-delà de la capacité d'un seul serveur. Pour les applications SaaS, cela peut permettre de prendre en charge des millions d'utilisateurs simultanés.

    Kubernetes et Docker

    Kubernetes est une plateforme d'orchestration de conteneurs à code source ouvert. Docker est la principale norme de virtualisation de conteneurs utilisée avec Kubernetes. Les autres systèmes d'orchestration de serveurs web élastiques sont Docker Swarm, CoreOS Tectonic et Mesosphere. Intel dispose également d'une norme de conteneur concurrente avec Kata, et il existe plusieurs versions de conteneurs Linux. Docker détient la plus grande part du marché de la virtualisation de conteneurs pour les produits logiciels. Docker est une société de développement de logiciels spécialisée dans la virtualisation de conteneurs, tandis que Kubernetes est un projet open source soutenu par une communauté de codeurs qui comprend des programmeurs professionnels de toutes les grandes entreprises informatiques.

    Informatique sans serveur

    L'nformatique sans serveur ou serverless est un modèle de développement cloud-native qui permet aux développeurs de créer et d'exécuter des applications sans avoir à gérer des serveurs. Ce modèle nécessite quand même des serveurs, mais leur gestion est dissociée du développement des applications. Un fournisseur de cloud se charge du travail de routine : il approvisionne l'infrastructure de serveurs, assure son bon fonctionnement et la met à l'échelle. Les développeurs n'ont alors plus qu'à mettre en paquet leur code dans des conteneurs pour déployer les applications.

    Une fois que les applications sans serveur sont déployées, elles répondent à la demande et se mettent à l'échelle automatiquement en cas de besoin. En général, les offres sans serveur des fournisseurs de cloud public sont facturées à la demande, sur la base d'un modèle d'exécution orienté événements. Par conséquent, lorsqu'une fonction sans serveur est inactive, elle ne coûte rien.

    Architecture de serverless et fonctionnement

    L'informatique sans serveur se distingue des autres modèles de cloud computing, car le fournisseur de cloud est non seulement responsable de la gestion de l'infrastructure cloud, mais aussi de la mise à l'échelle des applications. Les applications sans serveur sont déployées dans des conteneurs qui démarrent automatiquement sur simple demande.

    Dans un modèle standard de cloud computing IaaS (Infrastructure-as-a-Service), les utilisateurs achètent à l'avance des unités de capacité. Ainsi, ils paient un fournisseur de cloud public pour des composants de serveur actifs en permanence pour l'exécution de leurs applications. Il incombe à l'utilisateur d'augmenter la capacité du serveur pendant les périodes de forte demande et de la réduire lorsque cette capacité n'est plus nécessaire. L'infrastructure cloud reste active même lorsque l'application n'est pas utilisée.

    Avec une architecture sans serveur, en revanche, les applications ne sont lancées qu'en cas de besoin. Lorsqu'un événement déclenche l'exécution d'un code d'application, le fournisseur de cloud public alloue des ressources pour ce code de manière dynamique. L'utilisateur cesse de payer une fois le code exécuté. En plus des avantages qu'il offre en matière de coûts et d'efficacité, le modèle sans serveur libère les développeurs des tâches courantes et subalternes associées à la mise à l'échelle des applications et à l'approvisionnement des serveurs.

    L'informatique sans serveur permet de sous-traiter à un fournisseur de services cloud les tâches courantes telles que la gestion du système d'exploitation et du système de fichiers, l'application des correctifs de sécurité, l'équilibrage de la charge, la gestion de la capacité, la mise à l'échelle, la journalisation et la surveillance.
    Il est également possible de créer une application entièrement serverless ou une application qui intègre des composants de type microservices partiellement sans serveur et partiellement traditionnels.

    Dans l'ensemble, l'utilisation des technologies natives du cloud par les développeurs back-end a diminué en Amérique du Nord, en Europe de l'Est et au Moyen-Orient/Afrique, selon le rapport CNCF. Ce rapport indique qu'il y a 6,8 millions de développeurs cloud-native dans le monde, soit une augmentation de 0,3 million, dont 4,6 millions utilisent des outils d'orchestration de conteneurs et 4 millions des plateformes serverless, avec un chevauchement de 1,8 million de développeurs utilisant les deux.

    Les précédents rapports CNCF de SlashData, de mai 2020 et août 2020, dénombraient respectivement 4,7 millions et 6,5 millions de développeurs cloud-native. Dans le même temps, la proportion de développeurs back-end utilisant des technologies cloud-natives a diminué de trois points de pourcentage, à 41 %, en raison de la baisse de l'adoption de l'architecture serverless. La croissance de la population des développeurs "cloud-native" a été stimulée par une augmentation du nombre total de développeurs "back-end", qui est passé de 14,7 millions à 16,6 millions, indique le rapport. L'approche "cloud-native" est illustrée par des technologies telles que les microservices, l'infrastructure immuable et les API déclaratives.

    Nom : nati.jpg
Affichages : 2222
Taille : 55,4 Ko
    L'état du développement « cloud native » au 1er trimestre 2021


    Le rapport révèle que la différence entre l'utilisation des conteneurs et de Kubernetes n'est que de 5 % au sein des grandes entreprises qui affichent des taux d'adoption élevés pour les conteneurs (83 %) et Kubernetes (78 %). Les technologies qui présentent la plus grande différence entre l'utilisation des conteneurs et de Kubernetes parmi les développeurs travaillant dans de grandes entreprises sont les voitures autonomes, la biométrie pour la vérification d'identité, les applications blockchain autres que les cryptomonnaies et la 5G.

    Source : CNCF

    Et vous ?

    Que pensez-vous de Kubernetes ?

    Quel commentaire faites-vous de la baisse de l'adoption des serverless au profit de Kubernetes ?

    Voir aussi :

    L'attrait des développeurs pour les conteneurs et Kubernetes est principalement motivé par l'évolution de leur carrière, selon une étude de Red Hat

    Les dépenses liées à la plateforme d'orchestration de containers Kubernetes sont difficilement maîtrisées, selon un nouveau rapport de la CNCF en collaboration avec a Fondation FinOps

    Kubernetes 1.18 est disponible et apporte la prise en charge de ContainerD sous Windows, Canonical a déjà annoncé la prise en charge de cette version

    La version 1.23 Kubernetes est annoncée avec la mise en réseau IPv4/IPv6 en double pile et Pod Security en version bêta

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    Technicien de maintenance / Developpeur PHP
    Inscrit en
    Mai 2015
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien de maintenance / Developpeur PHP
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2015
    Messages : 429
    Points : 1 630
    Points
    1 630
    Par défaut
    Que pensez-vous de Kubernetes ?

    C'est l'orchestrateur de container le plus utilisé (merci Google) et donc les plus intéressant à utiliser (beaucoup de ressources dispo).

    Quel commentaire faites-vous de la baisse de l'adoption des serverless au profit de Kubernetes ?

    En quoi les deux notions sont mutuellement exclusive ?

    Développer avec des conteneurs permet de faire du serverless selon l'infra utilisé (AWS, GCloud, Azure, ....etc) et donc peut utilisé Kubernetes qui reste l'orchestrateur on est pas au même niveau d'abstraction.

    La relation d'exclusion mutuelle et plus du coté du choix d'utiliser des PaaS / IaaS qui n'offres pas les mêmes niveaux d'abstractions / indépendances vis à vis des projets (cf.: OpenStack par exemple)

    Et faire de l'orchestration de containers en étant sur un même serveur, ça n'as pas masse d'intérêt pour de la prod, sauf peut-être de complexifier la maintenance.

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/03/2017, 02h19
  2. Réponses: 43
    Dernier message: 02/03/2011, 10h20
  3. [AC-2003] Création d'en-tête par les utilisateurs, est-ce possible ?
    Par Takeo31 dans le forum IHM
    Réponses: 0
    Dernier message: 15/07/2010, 14h56
  4. Réponses: 8
    Dernier message: 30/08/2009, 10h19
  5. Réponses: 8
    Dernier message: 10/06/2007, 00h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo