Kubernetes est-il le nouveau Linux ? Entretien avec Pavel Selivanov


Explication
Azat Khadiev : Bonjour. Je m'appelle Azat Khadiev. Je suis développeur PaaS pour Mail.ru Cloud Solutions. Je suis accompagné de Pavel Selivanov de Southbridge. Nous sommes à la conférence DevOpsDays. Il expliquera ici comment créer du DevOps avec Kubernetes, mais vous n’y arriverez probablement pas. Pourquoi un sujet aussi sombre ?

Pavel Selivanov : En fait, ce n'est pas sombre. Il s’agit du fait que nous essayons de résoudre de nombreux problèmes dans notre communauté avec l’aide de la technologie. Et nous essayons de résoudre les problèmes avec l’aide de la technologie d’une manière plutôt unilatérale. Kubenetes est pareil - c'est la chose dont ils sont responsables, on pourrait dire que Ops. Mais nous avons un excellent concept d'ingénieur DevOps. Un ingénieur DevOps est responsable de Kubernetes. En même temps... Comme vous créez Kubernetes, mais les développeurs ne sont pas du tout au courant de tous ces Kubernetes, ils ne savent pas ce que cela vous permet de faire - et tout vit exactement de la même manière pour eux. Et ceci malgré le fait que Kubernetes contient des solutions prêtes à l'emploi, des outils prêts à l'emploi afin d'utiliser cette technologie pour étendre cette approche DevOps, la communication entre Dev et Ops. Nous utilisons très peu cette opportunité. Même si nous transférons les structures actuelles vers tous ces outils DevOps - Docker, Kubernetes, cloud, etc. - nous aggravons encore davantage cette situation. Et nous commençons à utiliser les outils différemment de ce à quoi ils étaient destinés. Et de terribles béquilles sont construites autour de toutes ces technologies.

Azat Khadiev : Je vois. Cela semble être un vaste sujet. Selon vous, quel est le problème le plus courant que rencontrent actuellement les entreprises ? Avec Kubernetes.

Pavel Selivanov : Le problème le plus courant avec Kubernetes est le manque de compétences. Il s’agit d’un problème courant en informatique. Il y a toujours une pénurie de spécialistes. Il y a toujours un manque de compétences. Et maintenant, avec Kubernetes, il n'y a pas assez de compétences. Et en même temps, il existe encore sur le marché des solutions XNUMX% toutes faites qui permettraient d'obtenir Kubernetes, mais en même temps n'ont pas les compétences nécessaires, il y en a franchement peu sur le marché. Et celles qui existent soulèvent toutes des questions. Avec Kubernetes, nous recherchons constamment des personnes qui comprennent cela. Nous essayons d'adapter le développement à cela.

Azat Khadiev : Et compte tenu de la pénurie actuelle de personnel informatique. Ce qui a toujours été là. Et maintenant, il y en a. Comment pensez-vous comment vivre dans ces conditions ? Quelles sont les astuces de la vie ?

Pavel Selivanov : Astuces de vie. Tout d’abord, du point de vue des nuages, le life hack ressemble à ceci : donnons-nous quelques-unes de vos compétences. Et nous les prendrons pour nous. Et nous le ferons en nous-mêmes. Et tout va bien. Sauf qu'il est important de comprendre pour ceux qui l'utilisent... En fait, un grand moment... Mais il est important de comprendre que si nous confions une partie de nos compétences quelque part au cloud ou à un fournisseur, nous obtenons en retour une solution universelle. . En gros, nous avons une base de données qui fait des choses très spécifiques, et elle a été configurée d'une manière très spécifique. En confiant cette base de données au cloud, nous pouvons bien sûr licencier l'administrateur qui s'occupait auparavant des clusters de bases de données - le même Amazon ou Google le fera pour nous. Mais en même temps, Amazon ou Google ne nous permettront pas de configurer clairement notre base de données. Grands projets, grandes entreprises - en tout cas, ils arrivent au point qu'à un moment donné de leur vie, ils utilisent des solutions cloud, puis, de toute façon, ils reviennent à eux-mêmes, car ils ont besoin de quelque chose de plus spécifique. .

Azat Khadiev : Les solutions universelles sont-elles mauvaises ou peut-on en construire davantage sur cette base ?

Pavel Selivanov : Non, les solutions universelles ne sont certainement pas mauvaises. Les solutions universelles sont bonnes. Juste des solutions universelles... universelles. Il est important de comprendre ici. C’est comme prendre un script commun… Si vous pouvez construire toute la logique du travail de l’entreprise autour de ce script commun, de cette application commune, alors c’est cool. Et si la logique du travail est différente, mais que vous prenez cette solution universelle, un scénario universel - et que vous commencez, comme un hibou, à tirer sur un globe, c'est mauvais. Et il n’y a rien de mal à l’universalisme lui-même.

Azat Khadiev : Si cet administrateur travaille déjà pour vous, ce n'est pas son licenciement qui compte. Il pourra simplement faire plus.

Pavel Selivanov : Oui, enlevez-lui la routine et donnez-les quelque part à quelqu'un pour qu'il les fabrique quelque part là-bas. C'est certainement une bonne approche. Le point important ici est de savoir si cette solution standard est adaptée à un cas spécifique.

Azat Khadiev : D'après mon expérience, je constate que de nombreuses entreprises font la même chose. Ils mettent en place un cluster Kubernetes et envisagent de le faire évoluer. Et toutes ces opérations sont très reproductibles.

Pavel Selivanov : Oui, certainement. De plus, si nous prenons spécifiquement Kubernetes, il y a un tel point qu'il y a très peu de connaissances approfondies et bonnes sur Kubernetes sur le marché à l'heure actuelle. Et Kubernetes est un constructeur tellement gigantesque que si vous l'embauchez pour une entreprise, soyez prêt à embaucher un ingénieur qui fera tout cela à plein temps. Et c'est cher. Et essayez à nouveau de trouver un tel ingénieur. Si je parle de moi, je n’aime pas vraiment les solutions cloud, car j’ai une assez bonne et profonde compréhension du fonctionnement de Kubernetes. Et souvent, dans les nuages, il me manque certaines fonctionnalités que je demande, mais ils me disent « Non, vous ne pouvez pas ». Eh bien, dans ce cas, je suis désolé, mais je peux faire mieux que Cloud. Mais en même temps, si vous n'avez pas d'ingénieur à temps plein, que vous ne voulez pas payer pour cet ingénieur qui gère Kubernetes, et que vous lui payez constamment beaucoup d'argent juste pour expérimenter, alors le cloud est tout simplement une bonne et excellente solution. Parce qu'au moins il y a des gars assis là que le prestataire a déjà recrutés. Et ils savent ce qu'ils font. Et ces choses de base dont vous avez besoin au quotidien sont là.

Azat Khadiev : Que pensez-vous de l’état actuel de Kubernetes ? Que va-t-il lui arriver dans cinq et dix ans ?

Pavel Selivanov : Bonne question. Je sais juste ce qui se passe dans notre communauté à ce sujet. Certains pensent qu’il ne restera plus que Kubernetes. La situation qui s'est produite avec Linux il y a longtemps. Autrement dit, en dehors de Linux, il y a des gens qui vivent sous BSD et qui ont probablement des tâches très spécifiques. Il y a des gens qui travaillent sous Windows - des serveurs Windows - très probablement, ils ont aussi des tâches spécifiques, ou ils ont simplement des compétences en la matière et ils ne sont pas prêts à en sortir. Quoi qu’il en soit, le standard dans notre domaine est Linux. Il existe une opinion selon laquelle Kubernetes deviendra le même standard de facto, et il n'y aura rien d'autre que Kubernetes. Kubernetes gérera non seulement les applications, leur déploiement, leur déploiement et leur mise à l'échelle. En général, gérez tout. Maintenant, ils se demandent déjà : « Est-il possible de transférer une base de données dans Kubernetes ? Je dis généralement que le problème ici ne vient pas de Kubernetes, mais de Docker. Si vous êtes prêt à exécuter votre base de données dans des conteneurs, voici comment cela fonctionnera. Ils me répondent : « Non, non, non, attends. Pas besoin de conteneurs. Besoin de Kubernetes. Nous allons le greffer sur le nœud. Autrement dit, tout sera tel que nous l’avons actuellement, seul Kubernetes gérera tout. Et c'est en fait une bonne idée. Autrement dit, Kubernetes est une telle chose lorsque vous pouvez venir dans une entreprise, si l'entreprise dispose de Kubernetes et de processus construits dessus, alors une personne qui comprend cela n'a qu'à le regarder pendant quelques jours pour dire : « Je suis prêt à vous soutenir. Pleinement. Entièrement. Je comprends comment les choses fonctionnent pour toi. Contrairement aux approches sans Kubernetes, ici quelques béquilles ont été insérées, ici d'autres béquilles. Ansible ici, Terraform ici. Quelqu’un a écrit tout cela, et il faut six mois pour le comprendre. Ici. Donc, je ne sais pas si Kubernetes deviendra un standard de facto. Aujourd’hui, il semble bien plus ambitieux et confiant que les solutions qui existent autour de lui.

Azat Khadiev : Eh bien, la comparaison avec Linux est assez audacieuse. Cela fonctionne sur une seule machine, c'est tout. Et Kubernetes fonctionne sur de nombreuses machines. Un million de variations et de raisons surgissent immédiatement. Oui, c'est audacieux. Juste si l’on tient compte du fait qu’il existe des concurrents à ce paradigme. Par exemple, sans serveur. Kubernetes est-il en danger face à de tels concurrents ?

Pavel Selivanov : De Serverless... (rires) Serverless - nous comprenons toujours qu'il existe des serveurs après tout. J'ai récemment entendu un rapport à ce sujet. Là, la personne a dit qu'il y avait encore des serveurs - et c'est un cloud. Mais il faut toujours comprendre que le cloud a aussi des serveurs. Il existe de vrais serveurs matériels, un rack, et ils sont installés quelque part. C'est le nuage. En plus de cela, il y a Serverless, où il n’y a « aucun » serveur. La question est donc : le Serverless l’emportera-t-il sur Kubernetes ? Il me semble que Serverless va migrer vers Kubernetes. Pour les fournisseurs proposant du sans serveur, Kubernetes est une plate-forme très pratique pour fournir cela. Oui, peut-être qu'à un moment donné, nous cesserons de parler de Kubernetes en principe, comme du développement ordinaire d'applications métiers. Mais quelque part au fond, les fournisseurs et les ingénieurs auront Kubernetes, où tout cela sera implémenté.

Azat Khadiev : Un sujet légèrement différent. Il existe un ingénieur full-stack. Que pensez vous d'eux? Existent-ils au moins ?

Pavel Selivanov : Euh... Ingénieur fullstack... Eh bien, il me semble qu'il vaut la peine de faire la distinction entre ces choses qui... Vous savez, il existe des personnes en forme de T. De telles personnes sont-elles nécessaires dans l’industrie d’aujourd’hui ? Oui, nous en avons absolument besoin. Nous avons besoin de personnes qui ont une vision large, mais qui sont en même temps des spécialistes dans un domaine restreint. Et ici, l'ingénieur Fullstack est le même : une personne qui fait tout. À partir du développement front-end, des tests, du back-end, des serveurs et de tout le reste. Je ne crois pas que dans une grande entreprise, une seule personne puisse faire cela sans avoir une spécialisation étroite dans chacun des paramètres. Mais en même temps, ayant simplement une spécialisation étroite, comme ce qui se passe autour de ça, je ne sais rien - cela ne fonctionne pas non plus dans le monde moderne. Autrement dit, je dirais ici... J'écarterais le mot Fullstack. Nous avons vraiment besoin d'ingénieurs. Nous avons besoin de DevOps. J’ai le sentiment que nous allons bientôt reconsidérer ce moment. Et ils ne seront pas nécessaires.

Azat Khadiev : Pouvez-vous révéler ?

Pavel Selivanov : Il me semble que nous, dans l'industrie, arriverons à la conclusion que ces rôles de Dev et Ops vont bientôt disparaître. Si nous avons besoin de spécialistes et que nous chassons... Nous avons besoin de tel développeur, nous avons besoin de tels administrateurs, nous avons besoin d'ingénieurs DevOps - maintenant nous les avons, maintenant nous aurons aussi des ingénieurs de production, des ingénieurs SRE. Même si en fait, nous avons besoin d’ingénieurs que nous souhaitons embaucher. Le contexte n’est dans l’ensemble pas important. Parce que... Par exemple, SRE dit que les problèmes d'infrastructure sont toujours des problèmes logiciels. Alors... Prenons les développeurs - du point de vue qu'un développeur est un ingénieur - mettons-les dans le service de maintenance et ils résoudront ces problèmes de la même manière qu'ils résolvent les problèmes commerciaux à l'aide du code, avec l'aide de l'ingénierie en tant que telle.

Azat Khadiev : Et de ce point de vue... Comment interviewer de tels ingénieurs ?

Pavel Selivanov : Oh, bonne question. Il est probablement déjà au-delà de ce que je comprends dans cette vie. Mais je voudrais juste donner un exemple. Cela n'a rien à voir avec l'entretien. Il s’agit de notre système éducatif en Russie. En informatique, nous savons que notre système éducatif en Russie est très dépassé pour le monde informatique, ce n'est pas ce qu'il devrait être. Je parle en moyenne de la vaste Russie et de ce qui s’y passe. Les diplômés ne sont absolument pas prêts à se lancer dans le développement Web ou dans une entreprise technologique dès le lendemain de l'obtention de leur diplôme. Et c'est plutôt mauvais. Nous leur apprenons des choses étranges, même si nous devrions leur apprendre à développer pour Android, iOS, à utiliser Git et toutes ces choses. En fait, il semble que non. L’université est une période où ce sont principalement vos parents qui paient pour vous. Pour toute votre vie. Et vous pouvez consacrer cinq années de votre vie à étudier en profondeur. Et étudiez tout cela en forme de T. Quand vous pouvez étudier à l'institut ce qu'est un système de contrôle de version, quels sont les modèles de développement, comment tester le tout, quels types de bases de données et d'équilibreurs existent. Et lorsque vous allez travailler, vous commencez à approfondir un domaine spécifique. Et c'est ainsi que nous obtenons des ingénieurs. Et notre système éducatif en Russie est bien plus proche de cette vérité que nous ne le pensons. Nous recevons une bonne formation en mathématiques, une bonne formation en algorithmique et une certaine compréhension des langages de programmation. Et à propos de l’interview, cela me semble quelque chose de proche. Nous devons interviewer des ingénieurs. Nous avons besoin du haut du T pour la forme en T. Parce qu'il acquerra la ligne verticale de la lettre T.

Azat Khadiev : Oui, intéressant. Cinq ans après l'université, il me semblait que mon éducation était étrange et inadéquate. Et puis, au fur et à mesure que le travail avançait, que les tâches devenaient plus profondes, que les projets devenaient plus grands, je me suis rendu compte que non, on m'enseignait des choses très importantes. Pavel, merci. C'était très intéressant d'écouter vos réponses. Écoutons votre rapport.

Pavel Selivanov : Merci.

Source: habr.com

Ajouter un commentaire