
Les gars de Datawire et moi sommes récemment revenus des incroyables conférences KubeCon et CloudNativeCon à Barcelone. Nous avons participé à 6 représentations à KubeCon, distribué un tas de T-shirts sympas (sans fausse modestie) sur notre stand, parlé avec des dizaines de personnes et assisté à des performances sympas. Il y avait tellement de choses intéressantes sur KubeCon EU que j'ai décidé d'écrire un article avec des résultats clés.
Et voici les conclusions que j'ai faites (pas par ordre d'importance):
- Le cloud multiplateforme et hybride (encore) est populaire.
- L'intégration technologique prend de l'ampleur.
- Annonce de l'interface de maillage de service (SMI): restez à l'écoute.
- (Hazy?) L'avenir d'Istio.
- La politique alors que le code remonte la pile.
- Cloud DevEx n'est toujours pas sans problèmes.
- Les entreprises (encore) aux premiers stades de l'adoption de la technologie.
- Les Kubernetes locaux sont réels (mais accrocheurs).
- Considérez les grappes comme un troupeau.
- Le succès de Kubernetes dépend toujours de la communauté.
Il y a eu plusieurs présentations lors de la conférence sur les multiclouds (et les problèmes connexes: réseau et sécurité ), mais j'ai remarqué que de nombreuses diapositives d'introduction sur les rapports des utilisateurs finaux décrivaient l'infrastructure ou l'architecture avec au moins deux fournisseurs de cloud. Au stand Datawire, nous avons parlé des tendances de transition multi-cloud plus souvent que lors des conférences précédentes.
Le succès de Kubernetes a considérablement simplifié sa stratégie multicloud, offrant une excellente abstraction pour les livraisons et l'orchestration. Au cours des deux dernières années, les fonctionnalités et les API de Kubernetes sont devenues beaucoup plus stables et de nombreux fournisseurs utilisent cette plate-forme. Les capacités de gestion du stockage et la connectivité réseau se sont améliorées, et il existe suffisamment de bons produits et solutions commerciales open source dans ce domaine. Dans son exposé, «Démystifier le mythe: il est difficile de créer du stockage à Kubernetes», Saad Ali, un développeur senior de Google, a parlé des installations de stockage de manière intéressante, et Eran Yanay de Twistlock a présenté un bon aperçu des connexions dans les «Connexions à Kubernetes: comment écrire un plugin CNI à partir de zéro . "
J'ai particulièrement aimé les différentes conversations sur la combinaison d'Azure avec les infrastructures locales existantes. J'ai récemment écrit un article dans InfoQ sur le lien entre l'architecture multi-plateforme et le travail sur les mises à niveau des applications . J'ai parlé de trois approches: étendre le cloud à un centre de données, comme dans Azure Stack , AWS Outposts et GCP Anthos ; assurer l'uniformité de la structure d'approvisionnement (orchestration) entre plusieurs fournisseurs ou clouds à l'aide d'une plateforme telle que Kubernetes; assurer l'uniformité de la structure des services (réseau) à l'aide d'une passerelle API et d'un maillage de services, comme Ambassador et Consul .
Chez Datawire, nous travaillons dur sur les passerelles API et, évidemment, nous nous orientons vers une troisième approche flexible. Cela vous permet de migrer progressivement et en toute sécurité à partir d'une pile traditionnelle plus proche du cloud. HashiCorp et Nick Jackson et moi avons parlé à KubeCon avec une conférence sur "Assurer la connectivité cloud de l'utilisateur final au service . "

La technologie combine la montée en puissance
De nombreux fournisseurs proposent des packages avec les outils Kubernetes et des technologies supplémentaires. J'ai attiré l'attention sur l'annonce de Rio MicroPaaS de Rancher Labs - récemment, ils ont produit des choses intéressantes. J'ai écrit une critique dans InfoQ sur Submariner , qui connecte plusieurs clusters, et la distribution légère Kubernetes k3s . Et je suis impatient d’apprendre le Kubernetes Toolkit de Supergiant . Il s'agit d'un "ensemble d'utilitaires pour automatiser la fourniture et la gestion des clusters Kubernetes dans le cloud".
Dans un environnement d'entreprise, les packages sont dirigés vers le stockage. Un bon exemple est VMware Velero 1.0 (basé sur des développements achetés auprès de Heptio ), avec lequel les développeurs peuvent réserver et migrer des ressources Kubernetes et des volumes persistants.
De nombreux autres opérateurs pour le stockage et la gestion des données dans Kubernetes, tels que CockroachDB , ElasticCloud et StorageOS , étaient représentés à la conférence . Red Hat Rob Szumski de Red Hat a parlé de l'évolution du SDK opérateur et de la communauté et a présenté le hub opérateur . Apparemment, la prise en charge des opérateurs est l'un des principaux avantages de la suite d'entreprise OpenShift de Red Hat .
Annonce de l'interface de maillage de service (SMI): restez à l'écoute
L'annonce de Service Mesh Interface (SMI) dans un rapport de Gabe Monroy de Microsoft a définitivement fait beaucoup de bruit . Personne ne niera que le maillage de service a été très populaire ces derniers temps, et SMI combinera les principales fonctionnalités dans une interface standard et fournira «un ensemble d'API portables communes qui garantiront l'interopérabilité entre les différentes technologies de maillage de service, notamment Istio, Linkerd et Consul Connect».
Dans la démo, Gabe montre les principales caractéristiques: politique de trafic pour appliquer des politiques telles que les informations d'identification et le chiffrement de transit entre les services (en utilisant Consul et Intention comme exemple); surveillance du trafic - collecte des principales mesures, par exemple, le nombre d'erreurs et de retards dans l'échange de données entre les services (en utilisant Linkerd et le serveur de mesures SMI comme exemple); et gestion du trafic - mesurer et transférer le trafic entre différents services (par exemple, Istio avec Weaveworks Flagger ).

Il serait intéressant de définir une interface dans cet environnement hautement compétitif, mais je suis allé sur le site SMI , j'ai lu les spécifications et je soupçonne que cette abstraction peut être réduite à un ensemble minimal de fonctions communes (c'est toujours difficile à éviter dans des solutions que je connais à ma manière) Expérience Java Community Process). Le danger potentiel est que même si tout le monde appliquera cette spécification, les fournisseurs fourniront les fonctionnalités les plus intéressantes via des extensions personnalisées.
J'en ai parlé avec les gars de Datawire et je pense que le maillage de service existe sur un marché qui fonctionne sur le principe du «le gagnant obtient tout», donc au final, SMI détournera une certaine attention, et une autre technologie apparaîtra simplement et collectera tous les avantages ( quelque chose comme Kubernetes a fait avec Mesos, Docker Swarm, etc.). Suivez l'actualité, voyez ce qui se passe.
(Hazy?) L'avenir d'Istio
Bien que l'on ait beaucoup parlé du maillage de services, le thème d'Istio - peut-être le maillage de services le plus célèbre - a été mélangé. Quelqu'un pense qu'Istio et le maillage de service sont des synonymes (comme Docker et conteneurs) et ne voient qu'une solution, pas des problèmes; Quelqu'un aime les fonctionnalités d'Istio; et quelqu'un n'est pas particulièrement satisfait de cette technologie.
Il y a eu beaucoup de discussions sur le benchmarking Istio récemment , et dans la version 1.1, certains problèmes avec le composant Mixer sont délibérément résolus . Fait intéressant, j'ai parlé avec différentes personnes qui ont évalué Istio pendant plusieurs mois (une équipe y a passé presque un an), et ils affirment qu'Istio est toujours très complexe et gourmand en ressources. Quelqu'un dit que l'émission d' Istio hébergé via GKE a résolu beaucoup de problèmes, mais tout le monde ne peut pas utiliser GCP.
On a demandé à un représentant de Google ce qui arriverait à Istio, s'il deviendrait un projet CNCF. La réponse était très simple, mais vague: Istio a maintenant du code open source, les gens peuvent y travailler, et à propos de CNCF, attendre et voir. Jusqu'à présent, seul Linkerd est le projet de maillage de service officiel de la CNCF, bien que Envoy Proxy soit également un projet de la CNCF (et Istio, la passerelle API Ambassador et de nombreuses autres technologies sont basées sur lui). Sur notre stand, beaucoup ont posé des questions sur l' intégration de Linkerd 2 et Ambassador (merci à Oliver Gould, directeur technique de Buoyant , qui a mentionné l'Ambassadeur dans son examen détaillé de Linkerd ), et les participants ont apprécié la facilité d'utilisation de Linkerd.
Au fait, j'ai été ravi lorsque les gars de Knative dans leur discours "Extension de Knative pour le plaisir et le profit" ont montré qu'ils avaient remplacé Istio par Ambassador dans Knative, car Ambassador est plus facile à utiliser (faites attention à leurs T-shirts sur la photo et lisez la tâche correspondante sur GitHub: «Suppression d'Istio en tant que dépendance» ):

La politique alors que le code monte dans la pile
Dans notre industrie, tout le monde est déjà habitué à présenter la politique comme un code en relation avec un système de gestion des identités et des accès (IAM), une configuration iptable, des ACL et des groupes de sécurité, mais jusqu'à présent, cela a été fait à un faible niveau, près de l'infrastructure. Lorsque j'ai entendu des gars de Netflix parler de l'utilisation de l' Open Policy Agent (OPA) à KubeCon à Austin en 2017 , je me suis demandé comment utiliser ce projet pour définir une politique en tant que code.
Sur cette KubeCon, j'ai vu que la politique au fur et à mesure que le code monte, et de plus en plus de gens discutent de l'utilisation de l'OPA, par exemple, lors d'une conférence de Rita Zhang et Max Smythe , et plus sur le rapport "Kubernetes Unit Testing Configurations" en utilisant l'Open Policy Agent » Gareth Rushgrove (il a un flair pour les projets à fort potentiel).
J'ai suivi les stratégies de définition de HashiCorp Sentinel au niveau de l'infrastructure, et maintenant l'utilisation d' Intention dans le maillage de service Consul fait monter cette technologie encore plus haut dans la pile. Avec Intention, une politique peut être définie au niveau du service. Par exemple, le service A peut communiquer avec le service B, mais pas avec le service C. Lorsque l'équipe Datawire a commencé à travailler avec HashiCorp pour intégrer Ambassador et Consul, nous avons rapidement réalisé les avantages de combiner Intention avec mTLS (pour identifier les services) et les ACL. (pour éviter l'usurpation d'identité et pour une protection à plusieurs niveaux).

Cloud DevEx ne peut toujours pas le faire
Au cours de la remarque de clôture, «Don't Stop Believing», Bryan Liles, développeur senior chez VMware, a parlé de l'importance du flux de travail des développeurs (expérience développeur, DevEx), et ce sujet a été soulevé dans plusieurs discussions. Kubernetes et son écosystème se développent bien, mais le cycle de développement interne et l'intégration des pipelines d'approvisionnement avec Kubernetes ont définitivement besoin d'être améliorés.
Christian Roggia en a parlé dans son rapport «Développement et livraison reproductibles avec Bazel et la téléprésence» . Il a expliqué comment Engel et Volkers utilisent l'outil de téléprésence CNCF dans leur cycle de développement interne afin de ne pas avoir à collecter et expédier le conteneur après chaque changement.

Il y a eu une discussion de groupe intéressante avec les gars de Weaveworks et Cloudbees, «GitOps et meilleures pratiques pour CI / CD dans le cloud», qui a examiné en détail la livraison continue. GitOps se développe assez bien, donc lorsque je travaille dans Datawire et lors de conférences, je rencontre souvent des équipes qui utilisent cette approche de configuration et de livraison. Par exemple, Jonathan et Rodrigo l'ont mentionné dans leur fascinant rapport, "Scaling Edge Operations in Onefootball avec l'ambassadeur: 0 à 6 000 requêtes par seconde" :

Les entreprises (encore) aux premiers stades de l'adoption de la technologie
Il s'agit du premier KubeCon, où sur le stand Datawire, j'ai beaucoup parlé avec des développeurs de grandes entreprises qui commencent tout juste à apprendre la technologie cloud. Presque tout le monde a entendu parler de Kubernetes ou en a fait l'expérience, mais beaucoup réfléchissent encore à la façon d'intégrer leur ancienne technologie dans le nouveau monde.
Cheryl Hung, directrice de l'écosystème à la CNCF, a tenu plusieurs discussions, dont «Transformer l'entreprise avec le cloud», et il était intéressant d'entendre des pionniers comme Intuit. Laura Rehorst, dans son exposé «De COBOL à Kubernetes: un parcours cloud pour une banque vieille de 250 ans», a décrit comment ABN AMRO a appliqué la planification et les ressources stratégiques.
Nous avons placé la passerelle Ambassador API au centre même du stand, donc on nous a souvent posé des questions sur la façon dont la passerelle moderne pour Kubernetes diffère des solutions existantes pour gérer le cycle de vie complet de l'API. Nous travaillons maintenant sur le prochain produit commercial dans ce domaine - l' Ambassador Code , et il était intéressant de discuter avec les développeurs des exigences et des attentes liées aux nouveaux paradigmes du cloud.
Kubernetes local est réel (mais accrocheur)
Il y a eu plusieurs annonces sur l'installation locale de Kubernetes, en particulier dans un environnement d'entreprise, par exemple, l' intégration de Kublr VMware et VMware et kubeadm . Red Hat a participé à toutes les discussions sur OpenShift, et j'ai entendu plus d'une fois comment les gens aiment les abstractions OpenShift, et la dépendance potentielle est compensée par le flux de travail amélioré et les conventions SLA qui l'accompagnent.
Mais tout le monde a répété la même chose: vous n'avez pas besoin d'installer et d'entretenir Kubernetes vous-même, si ce n'est pas absolument nécessaire. Et même si vous pensez que votre entreprise est spéciale, prenez votre temps: presque toutes les entreprises qui peuvent utiliser un cloud public peuvent utiliser Kubernetes en tant que service.
Considérez le groupe de grappes
Dans son rapport intéressant, «Comment Spotify a supprimé accidentellement tous les clusters Kube et les utilisateurs n'ont rien remarqué», a expliqué le développeur de Spotify, David Xia, lorsqu'ils ont supprimé plusieurs (!) Clusters Work. Je ne décrirai pas toute la situation (regardez la vidéo), mais le message principal de David était de traiter les clusters Kubernetes comme un troupeau. Je pense que beaucoup d'entre nous ont entendu cette phrase: "Traitez les serveurs comme un troupeau, pas vos animaux de compagnie préférés." Mais David estime qu'avec le développement de l'abstraction informatique (lorsque nous percevons le "Data Center comme un ordinateur" ), nous devons appliquer le même principe et ne pas trop nous attacher à notre infrastructure.

Dans leur exposé, The Co-Development of Kubernetes and GCP Networks, Purvi Desai et Tim Hockin, invitent les organisations à détruire, recréer et migrer de manière permanente les clusters Kubernetes afin de ne pas leur être liés. L'argument principal: si vous ne vérifiez pas constamment la capacité de restaurer des clusters et de transférer des données, vous risquez de ne pas réussir en cas de problème. Imaginez qu'il s'agit d' ingénierie du chaos pour les clusters.
Le succès de Kubernetes dépend toujours de la communauté.
Dans les rapports, au déjeuner et tout au long, l'un des sujets clés était l'importance de la communauté et de la diversité. Jeudi matin, Lucas Käldström et Nikhita Raghunath dans leur rapport «Premiers pas dans la communauté Kubernetes» ont non seulement raconté deux histoires étonnantes, mais ont également brisé toutes les excuses de ceux qui ne sont pas impliqués dans des projets open-source et des projets CNCF .

Cheryl Hung, dans son rapport de 2,66 millions de dollars, l'a remerciée pour son énorme contribution au projet et a plaidé en faveur de la diversité et du leadership. J'ai été surpris lorsque j'ai appris que plus de 300 bourses d'études soutenant la diversité étaient financées par des dons de diverses organisations au sein du CNCF.
Conclusion de KubeCon EU
Merci encore à tous ceux à qui nous avons parlé à Barcelone. Si vous n'avez pas pu assister à nos présentations, je vous donne une liste complète:
Chez Datawire, nous suivons ces tendances pour nous assurer qu'Ambassador continue d'évoluer et de répondre aux besoins changeants des développeurs de cloud. Si vous n'avez pas utilisé Ambassador récemment, essayez notre dernière version - Ambassador 0.70 avec prise en charge intégrée du service Consul, prise en charge de la définition des ressources personnalisées et de nombreuses autres fonctionnalités.
Si vous rencontrez des problèmes de mise à jour, créez une tâche ou retrouvez-nous dans Slack . Si vous avez besoin d'une installation Ambassador prête à l'emploi avec authentification intégrée, limitation de vitesse et assistance, essayez notre produit Ambassador Pro commercial.
Et si vous aimez travailler avec l'ambassadeur, parlez-nous-en. Laissez un commentaire sous l'article ou postez @getambassadorio sur Twitter.