Kubernetes é o novo Linux? Entrevista com Pavel Selivanov


Decodificação:
Azat Khadiev: Olá. Meu nome é Azat Khadiev. Sou desenvolvedor PaaS da Mail.ru Cloud Solutions. Comigo aqui está Pavel Selivanov de Southbridge. Estamos na conferência DevOpsDays. Ele fará uma palestra aqui sobre como você pode construir DevOps com Kubernetes, mas provavelmente não terá sucesso. Por que um assunto tão sombrio?

Pavel Selivanov: Na verdade não é sombrio. É sobre o fato de estarmos tentando resolver muitos problemas da nossa comunidade com a ajuda da tecnologia. E estamos tentando resolver as coisas com a ajuda da tecnologia de uma forma bastante unilateral. Kubenetes é o mesmo - é por isso que eles são responsáveis, pode-se dizer que Ops. Mas temos um ótimo conceito de engenheiro DevOps. Um engenheiro DevOps é responsável pelo Kubernetes. Ao mesmo tempo... Como você faz o Kubernetes, mas o pessoal do Dev não tem conhecimento de todos esses Kubernetes, eles não têm consciência do que ele permite que você faça - e tudo vive exatamente igual para eles. E isso apesar do Kubernetes conter soluções prontas, ferramentas prontas para usar essa tecnologia para ampliar essa abordagem DevOps, comunicação entre Dev e Ops. Aproveitamos muito pouco essa oportunidade. Pelo fato de estarmos inclusive transferindo estruturas atuais para todas essas ferramentas DevOps – Docker, Kubernetes, nuvens e assim por diante – estamos agravando ainda mais essa situação. E começamos a usar as ferramentas de maneira diferente da pretendida. E muletas terríveis estão sendo construídas em torno de todas essas tecnologias.

Azat Khadiev: Entendo. Parece um tópico amplo. Qual você acha que é o problema mais comum que as empresas enfrentam atualmente? Com Kubernetes.

Pavel Selivanov: O problema mais comum do Kubernetes é a falta de competências. Este é um problema comum em TI. Sempre faltam especialistas. Sempre há falta de competências. E agora com o Kubernetes não há competências suficientes. E ao mesmo tempo, ainda existem no mercado soluções XNUMX% prontas que permitiriam obter Kubernetes, mas ao mesmo tempo não ter as competências necessárias, francamente são poucas no mercado. E aqueles que existem, todos levantam algumas questões. Com o Kubernetes, procuramos constantemente pessoas que entendam isso. Estamos tentando adaptar o desenvolvimento a isso.

Azat Khadiev: E dada a atual escassez de pessoal em TI. O que sempre esteve lá. E agora existe. Como você pensa como viver nessas condições? Que hacks de vida existem?

Pavel Selivanov: truques de vida. Em primeiro lugar, do ponto de vista das nuvens, o hack da vida é assim - vamos dar-nos algumas das suas competências. E nós os levaremos para nós mesmos. E faremos isso dentro de nós mesmos. E isso é tudo de bom. Só que é importante entender para quem usa... Na verdade um ótimo momento... Mas é importante entender que se cedermos parte de nossas competências em algum lugar para a nuvem ou provedor, obtemos em troca uma solução universal . Grosso modo, temos um banco de dados que faz coisas muito específicas e foi configurado de uma forma muito específica. Ao entregar esse banco de dados para a nuvem, podemos, é claro, demitir o administrador que costumava lidar com clusters de banco de dados - a mesma Amazon ou Google farão isso por nós. Mas, ao mesmo tempo, a Amazon ou o Google não nos permitirão configurar claramente o nosso banco de dados. Grandes projetos, grandes empresas - em qualquer caso, chegam a um ponto em que em alguma fase da sua vida utilizam soluções cloud, e depois, em qualquer caso, voltam a levar as competências de volta para si, porque é necessário algo mais específico .

Azat Khadiev: As soluções universais são ruins ou podem ser construídas mais com base nelas?

Pavel Selivanov: Não, soluções universais definitivamente não são ruins. Soluções universais são boas. Apenas soluções universais... universais. É importante entender aqui. É como pegar um script comum... Se você consegue construir toda a lógica do trabalho da empresa em torno desse script comum, aplicação comum, então tudo bem. E se a lógica do trabalho é diferente, mas você pega essa solução universal, um roteiro universal - e começa, como uma coruja, a puxar um globo, isso é ruim. E não há nada de errado com o próprio universalismo.

Azat Khadiev: Se este administrador já está trabalhando para você, a questão não está em sua demissão. Ele simplesmente será capaz de fazer mais.

Pavel Selivanov: Sim, tire a rotina dele e dê-lhes algum lugar para alguém fazer em algum lugar lá. Esta é definitivamente uma boa abordagem. O ponto importante aqui é se esta solução padrão é adequada para um caso específico.

Azat Khadiev: Com base apenas na minha experiência, vejo que muitas empresas estão fazendo a mesma coisa. Eles estão configurando um cluster Kubernetes e pensando em escalá-lo. E todas essas operações são muito repetíveis.

Pavel Selivanov: Sim, definitivamente. Além disso, se considerarmos o Kubernetes especificamente, há um ponto em que há realmente pouco conhecimento profundo e bom sobre o Kubernetes no mercado no momento. E o Kubernetes é um construtor tão gigantesco que se você contratá-lo para uma empresa, esteja preparado para levar junto um engenheiro que fará tudo isso em tempo integral. E é caro. E tente encontrar esse engenheiro novamente. Falando sobre mim, realmente não gosto de nenhuma solução em nuvem, porque tenho um conhecimento bastante bom e profundo de como o Kubernetes funciona. E muitas vezes nas nuvens me faltam algumas funcionalidades que solicito - mas elas me dizem “Não, você não pode”. Bem, nesse caso, sinto muito, mas posso fazer melhor que Cloud. Mas, ao mesmo tempo, se você não tem um engenheiro em tempo integral, não quer pagar por esse engenheiro que administra o Kubernetes e paga constantemente a ele muito dinheiro apenas para experimentar, então a nuvem é apenas uma boa e ótima solução. Porque pelo menos tem gente sentada aí que o provedor já recrutou. E eles sabem o que fazem. E aquelas coisas básicas que você precisa no dia a dia estão lá.

Azat Khadiev: O que você acha do estado atual do Kubernetes? O que acontecerá com ele em cinco e dez anos?

Pavel Selivanov: Boa pergunta. Eu simplesmente sei o que está acontecendo em nossa comunidade sobre isso. Algumas pessoas acreditam que não sobrará nada além do Kubernetes. A situação que aconteceu com o Linux há muito tempo. Ou seja, fora do Linux existem pessoas que vivem de BSD, muito provavelmente têm tarefas muito específicas. Há pessoas que trabalham em Windows - servidores Windows - muito provavelmente também têm tarefas específicas, ou simplesmente têm competência neste assunto e não estão preparadas para sair daí. De qualquer forma, o padrão em nossa área é Linux. Há uma opinião de que o Kubernetes se tornará o mesmo padrão de fato e não haverá nada além do Kubernetes. O Kubernetes gerenciará não apenas os aplicativos, mas também sua implantação, implantação e escalonamento. Em geral, gerencie tudo. Agora eles já estão perguntando: “É possível enviar um banco de dados para o Kubernetes?” Costumo dizer que a questão aqui não está no Kubernetes, mas sim no Docker. Se você estiver pronto para que seu banco de dados seja executado em contêineres, é assim que funcionará. Eles me respondem: “Não, não, não, espere. Não há necessidade de contêineres. Precisa de Kubernetes. Vamos enxertá-lo no nó. Ou seja, tudo ficará como está agora, só o Kubernetes vai administrar tudo.” E esta é realmente uma boa ideia. Ou seja, Kubernetes é uma coisa quando você pode chegar a uma empresa, se a empresa tem Kubernetes e processos construídos sobre ela, então uma pessoa que entende isso - ela só precisa olhar para ela por alguns dias para dizer: “ Estou pronto para apoiá-lo. Completamente. Inteiramente. Eu entendo como as coisas funcionam para você. Em contraste com abordagens sem Kubernetes - aqui algumas muletas foram colocadas, aqui outras muletas. Ansible aqui, Terraform aqui. Alguém escreveu tudo isso e leva seis meses para descobrir. Aqui. Portanto, não sei se o Kubernetes se tornará um padrão de fato. Hoje, ele parece muito mais ambicioso e confiante do que as soluções que existem ao seu redor.

Azat Khadiev: Bem, a comparação com o Linux é bastante ousada. Funciona em uma máquina - só isso. E o Kubernetes funciona em muitas máquinas. Imediatamente surgem um milhão de variações e razões. Sim, é ousado. Só se você levar em conta que existem concorrentes a esse paradigma. Por exemplo, sem servidor. O Kubernetes está em perigo com esses concorrentes?

Pavel Selivanov: Do Serverless... (risos) Serverless - ainda entendemos que, afinal, existem servidores. Recentemente ouvi um relatório sobre este assunto. Lá a pessoa disse que ainda existem servidores - e isso é uma nuvem. Mas devemos sempre entender que a nuvem também possui servidores. Existem servidores de hardware reais, um rack, e eles estão instalados em algum lugar. Esta é a nuvem. Além disso, existe o Serverless, onde “não” há servidores. Portanto, a questão é: o Serverless vencerá o Kubernetes? Parece-me que o Serverless mudará para o Kubernetes. Para provedores que fornecem Serverless, o Kubernetes é uma plataforma muito conveniente para fornecer isso. Sim, talvez em algum momento deixemos de falar sobre Kubernetes em princípio, como sobre o desenvolvimento comum de aplicações de negócios. Mas em algum lugar nas profundezas, provedores e engenheiros terão o Kubernetes, onde tudo isso será implementado.

Azat Khadiev: Um tópico um pouco diferente. Existe um engenheiro full-stack. O que você acha deles? Eles existem?

Pavel Selivanov: Hum... Engenheiro Fullstack... Bem, parece-me que vale a pena distinguir entre essas coisas que... Você sabe, existem pessoas em forma de T. Essas pessoas são necessárias na indústria de hoje? Sim, definitivamente precisamos disso. Precisamos de pessoas que tenham uma visão ampla, mas que ao mesmo tempo sejam especialistas em alguma área restrita. E aqui o engenheiro Fullstack é o mesmo – uma pessoa que faz tudo. Começando pelo desenvolvimento front-end, testes, back-end, servidores e tudo mais. Não acredito que em uma grande empresa uma pessoa possa fazer isso sem ter especializações restritas em cada um dos parâmetros. Mas, ao mesmo tempo, simplesmente tendo uma especialização estreita, como o que está acontecendo em torno disso, não sei de nada - isso também não funciona no mundo moderno. Ou seja, aqui eu diria... descartaria a palavra Fullstack. Nós realmente precisamos de engenheiros. Precisamos de DevOps. Tenho a sensação de que reconsideraremos este momento em breve. E eles não serão necessários.

Azat Khadiev: Você pode revelar?

Pavel Selivanov: Parece-me que nós da indústria chegaremos à conclusão de que essas funções de Dev e Ops desaparecerão em breve. Se precisamos de especialistas e estamos caçando... Precisamos de tal e tal desenvolvedor, precisamos de tal e tal administrador, precisamos de engenheiros DevOps - agora os temos, agora também teremos engenheiros de produção, engenheiros SRE. Embora, na verdade, o que precisamos são de engenheiros que queremos contratar. Os antecedentes em geral não são importantes. Porque... Por exemplo, o SRE diz que problemas de infraestrutura são sempre problemas de software. Então... Vamos pegar os desenvolvedores - do ponto de vista de que um desenvolvedor é um engenheiro - colocá-los no departamento de manutenção e eles resolverão esses problemas da mesma forma que resolvem problemas de negócios com a ajuda do código, com a ajuda da engenharia como tal.

Azat Khadiev: E deste ponto de vista... Como entrevistar esses engenheiros?

Pavel Selivanov: Ah, boa pergunta. Ele provavelmente já está além do que eu entendo nesta vida. Mas eu apenas daria um exemplo. Não tem nada a ver com a entrevista. Trata-se do nosso sistema educacional na Rússia. Em TI, sabemos que o nosso sistema educacional na Rússia está muito desatualizado para o mundo da TI, não é o que deveria ser. Estou falando, em média, da vasta Rússia – e do que está acontecendo lá. Estão se formando pessoas que não estão absolutamente prontas para entrar no desenvolvimento web ou em uma empresa de tecnologia no dia seguinte à formatura. E isso é meio ruim. Ensinamos a eles algumas coisas estranhas, embora devêssemos ensiná-los como desenvolver para Android, iOS, como usar Git e todas essas coisas. Na verdade, parece que não. A faculdade é uma época em que seus pais pagam principalmente por você. Por toda a sua vida. E você pode dedicar cinco anos de sua vida ao estudo aprofundado. E estude tudo isso em forma de T. Quando você pode estudar no instituto o que é um sistema de controle de versão, quais padrões de desenvolvimento existem, como testar tudo, que tipos de bancos de dados e balanceadores existem. E quando você vai trabalhar, você começa a se aprofundar em uma área específica. E é assim que conseguimos engenheiros. E o nosso sistema educativo na Rússia está muito mais próximo desta verdade do que pensamos. Recebemos um bom treinamento matemático, um bom treinamento algorítmico e algum conhecimento de linguagens de programação. E sobre a entrevista, me parece algo próximo disso. Precisamos entrevistar engenheiros. Precisamos do topo do T para o formato de T. Porque vai adquirir a linha vertical da letra T.

Azat Khadiev: Sim, interessante. Cinco anos depois da faculdade, parecia-me que minha educação era um tanto estranha e inadequada. E depois, à medida que o trabalho avançava, quando as tarefas se aprofundavam, os projetos se tornavam maiores, percebi que não, me ensinaram coisas muito importantes. Paulo, obrigado. Foi muito interessante ouvir suas respostas. Vamos ouvir seu relatório.

Pavel Selivanov: Obrigado.

Fonte: habr.com

Adicionar um comentário