Decodificação:
Azat Khadiev: Olá. Meu nome é Azat Khadiev. Sou desenvolvedor de PaaS na Mail.ru Cloud Solutions. Pavel Selivanov de Southbridge está aqui comigo. Estamos na conferência DevOpsDays. Ele fará uma apresentação aqui que você pode criar DevOps com o Kubernetes, mas provavelmente não terá sucesso. Por que um tópico tão sombrio?
Pavel Selivanov: Ela não é realmente sombria. Trata-se de tentar resolver muitos problemas em nossa comunidade com a ajuda da tecnologia. Além disso, estamos tentando resolver com a ajuda da tecnologia de maneira unilateral. Kubenetes é o mesmo - isso é o que é responsável, você pode dizer que Ops. Mas temos um ótimo conceito de engenheiro de DevOps. Kubernetes é responsável pelo engenheiro do DevOps. Ao mesmo tempo ... Tipo, você cria o Kubernetes e os desenvolvedores não conhecem todos esses Kubernetes, nem o que isso permite que você faça - e tudo vive da mesma maneira para eles. E isso apesar do Kubernetes conter soluções prontas, ferramentas prontas para estender essa abordagem de DevOps, comunicação entre Dev e Ops usando essa tecnologia. Usamos essa oportunidade muito pouco. Devido ao fato de transferirmos as estruturas atuais para todas essas ferramentas do DevOps - Docker, Kubernetes, nuvens e assim por diante -, agravamos ainda mais essa situação. E as ferramentas estão começando a ser usadas não como pretendiam. E em torno de todas essas tecnologias, muletas terríveis são construídas.
Azat Khadiev: Entendo. Sente-se que o tópico é vasto. Qual você acha que é o problema mais comum para as empresas agora? Com o Kubernetes.
Pavel Selivanov: Com o Kubernetes, o problema mais comum é a falta de competências. Em TI, esse é um problema comum. Sempre não há especialistas suficientes. Sempre há uma falta de competências. E agora o Kubernetes não possui competências. E embora essas ainda sejam soluções prontas no mercado que permitiriam à Kubernetes obter uma, mas não possuir as competências necessárias, existem francamente poucas delas no mercado. E aqueles que são, todos eles levantam algum tipo de pergunta. Constantemente com o Kubernetes, estamos em busca de pessoas que entendam isso. Estamos tentando incluir o desenvolvimento.
Azat Khadiev: E dada a atual escassez de pessoal em TI. O que sempre foi. E agora existe. O que você acha, como viver nessas condições? O que são hacks de vida?
Pavel Selivanov: Life hacks. Em primeiro lugar, do ponto de vista das nuvens, um truque de vida se parece com isso - e deixe-nos dar parte de suas competências. E nós os levaremos para nós mesmos. E faremos isso dentro de nós mesmos. E isso é bom. Exceto pelo que é importante entender para quem o usa ... Na verdade, este é um momento maravilhoso ... Mas é importante entender que, se você der parte de suas competências a uma nuvem ou provedor em algum lugar, obteremos uma solução universal. Grosso modo, temos um banco de dados que executa coisas muito específicas e foi configurado de forma muito específica. Ao enviar esse banco de dados para a nuvem, é claro que podemos demitir o administrador, que costumava lidar com clusters de bancos de dados - a mesma Amazon ou Google fará isso por nós. Mas, ao mesmo tempo, a mesma Amazon ou Google não nos permitirá configurar claramente nosso banco de dados. Grandes projetos, grandes empresas - em qualquer caso, chegam ao ponto de usar soluções em nuvem em algum momento de suas vidas e, em qualquer caso, voltam a recuperar as competências, porque são necessárias mais especificidades.
Azat Khadiev: Soluções universais - é ruim ou pode ser construído mais com base em suas bases?
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. É assim que se usa um script comum ... Se você usa esse script comum, o aplicativo geral pode criar tudo, toda a lógica da empresa - então isso é legal. E se a lógica do trabalho for diferente, mas você pegar essa solução universal, o script universal - e começar, como puxar uma coruja em um globo, é ruim. Mas no universalismo em si não há nada errado.
Azat Khadiev: Se este administrador já funciona para você, o ponto não está em sua demissão. Ele apenas pode fazer mais.
Pavel Selivanov: Sim, tirar a rotina dele, dar-lhes um lugar para alguém, para que eles sejam feitos em algum lugar lá. Esta é definitivamente uma boa abordagem. O ponto importante aqui é se essa solução padrão se encaixa em um caso específico.
Azat Khadiev: Com base na minha experiência, vejo que muitas empresas estão fazendo a mesma coisa. Eles montaram um cluster kubernetes, pensam em escalá-lo. E todas essas operações são muito repetíveis.
Pavel Selivanov: Sim, claro. Além disso, se considerarmos o Kubernetes especificamente, há um ponto em que há realmente pouco conhecimento de mercado no momento no Kubernetes. E Kubernetes é um construtor tão gigante que, se você o levar para a empresa, esteja preparado para levar um engenheiro com ele, que fará tudo isso em tempo integral. E é caro. E tente encontrar um engenheiro desse tipo. Se eu falo comigo mesmo, realmente não gosto de algum tipo de decisão nublada, porque tenho uma compreensão suficiente e profunda de como o Kubernetes funciona. E, frequentemente, nas nuvens, falta algum tipo de funcionalidade que eu solicito - e eles me dizem "Não, você não pode". Sinto muito, mas posso fazer melhor que a nuvem. Mas, ao mesmo tempo, se você não tem um engenheiro em período integral, não quer pagar por esse engenheiro que puxa Kubernetes e constantemente paga muito dinheiro a ele para apenas experimentar, então a nuvem é apenas uma ótima ótima solução. Porque pelo menos existem caras que o próprio provedor já caçou. E eles entendem o que fazem. E essas coisas básicas que você precisa diariamente estão lá.
Azat Khadiev: O que você acha do estado atual de Kubernetes? O que acontecerá com ele em cinco e em dez anos?
Pavel Selivanov: Boa pergunta. Só sei o que está acontecendo na comunidade sobre isso. Algumas pessoas acreditam que não sobrará nada, exceto Kubernetes. A situação que há muito tempo acontece com o Linux. Ou seja, fora do Linux, existem pessoas que vivem no BSD, provavelmente elas têm tarefas muito específicas. Existem pessoas que trabalham no Windows - servidores Windows - provavelmente, elas também têm tarefas específicas ou há simplesmente competência nesse assunto e não estão prontas para sair de lá. De qualquer forma, o padrão em nosso campo é o 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 aplicativos, sua implantação, implantação e dimensionamento. Geralmente gerencie tudo. Agora eles estão perguntando: "É possível empilhar um banco de dados no Kubernetes?" Costumo dizer que a pergunta não está no Kubernetes, mas no Docker. Se você estiver pronto para que seu banco de dados funcione em contêineres, como ele funcionará. Eles me respondem: “Não, não, não, espere. Não há necessidade de recipientes. Precisa do Kubernetes. Vamos vencê-lo no nó. Ou seja, tudo será como temos agora, apenas o Kubernetes gerenciará tudo. ”E essa é realmente uma boa ideia. Ou seja, o Kubernetes é uma coisa dessas quando você pode ir a uma empresa, se a empresa possui o Kubernetes e os processos criados, então para uma pessoa que entende isso, ele só precisa ver alguns dias para dizer: “Estou pronto para apoiá-lo. Completamente. Inteiro. Eu entendi como isso funciona para você. Ao contrário das abordagens sem Kubernetes, algumas muletas estavam amontoadas aqui, outras eram muletas. Aqui Ansible, aqui Terraform. Alguém escreveu tudo isso e leva seis meses para descobrir. Aqui. Portanto, se o Kubernetes se tornará o padrão de fato, eu não sei. Hoje ele parece muito mais ambicioso e mais confiante do que as decisões que o rodeiam.
Azat Khadiev: Bem, a comparação com o Linux é bastante ousada. Ele trabalha em uma máquina - e é isso. E o Kubernetes funciona em muitas máquinas. Imediatamente, há um milhão de variações, razões. Sim, é ousado. Apenas quando você considera que existem concorrentes nesse paradigma. Por exemplo, sem servidor. A Kubernetes corre risco com esses concorrentes?
Pavel Selivanov: De sem servidor ... (risos) Sem servidor - somos todos do mesmo entendimento que ainda existem servidores. Eu ouvi recentemente um relatório sobre esse assunto. Lá, um homem disse que ainda existem servidores - e essa é a nuvem. Mas devemos sempre entender que a nuvem - também há um servidor lá. Existem servidores de ferro reais, um rack e aqui eles estão instalados em algum lugar. Isto é uma nuvem. Além disso, não há servidor, onde não há servidores. Portanto, a questão é se o Kubernetes sem servidor vencerá? Parece-me que o Serverless partirá para o Kubernetes. Para provedores que fornecem Serverless, o Kubernetes é uma plataforma muito conveniente para fornecer isso. Sim, talvez em algum momento paremos de falar sobre o Kubernetes em princípio, como um desenvolvimento comum de aplicativos de negócios. Mas em algum lugar profundo, fornecedores e engenheiros terão o Kubernetes, onde tudo isso será implementado.
Azat Khadiev: Um tópico um pouco diferente. Existe um conceito como um engenheiro de pilha completa. O que você acha deles? Eles existem?
Pavel Selivanov: Um ... Engenheiro do 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 atual? Sim, absolutamente necessário. Precisamos de pessoas com amplos horizontes, mas ao mesmo tempo sejam especialistas em algum campo estreito. E aqui o engenheiro Fullstack é o mesmo - a pessoa que faz tudo. A partir do desenvolvimento de 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 estreitas para cada um dos parâmetros. Mas, ao mesmo tempo, simplesmente com 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 ... eu soltaria a palavra Fullstack. Precisamos muito de engenheiros. Precisamos do DevOps. Sinto que em breve reconsideraremos esse momento. E eles não serão necessários.
Azat Khadiev: Você pode revelar?
Pavel Selivanov: Parece-me que nós do setor chegamos à conclusão de que esses papéis são Dev e Ops, que em breve desaparecerão. Se precisamos de especialistas e caçamos ... Precisamos de um desenvolvedor como esse, precisamos de administradores como esses, precisamos de engenheiros de DevOps - agora os temos, agora haverá engenheiros de produção, engenheiros de SRE. Embora, na realidade, precisamos dos engenheiros que queremos contratar. Em geral, o fundo não é importante. Porque ... Por exemplo, o SRE diz que eles sempre têm problemas de infraestrutura. E o que ... Vamos considerar os desenvolvedores - do ponto de vista de que eles são engenheiros - colocá-los no departamento de suporte e eles resolverão esses problemas da mesma maneira que resolvem problemas de negócios usando código, usando a engenharia como tal.
Azat Khadiev: E deste ponto de vista ... Como entrevistar esses engenheiros?
Pavel Selivanov: Oh, uma boa pergunta. Ele provavelmente já está além do que eu entendo nesta vida. Mas eu apenas daria um exemplo. Ele não tem nada a ver com a entrevista. É sobre o nosso sistema educacional na Rússia. Em TI, sabemos que nosso sistema educacional na Rússia para o mundo da TI está muito desatualizado, não é o que deveria ser. Falo em média sobre a Rússia imensa - e o que acontece lá. As pessoas que não estão absolutamente prontas para ir amanhã após a graduação vão para o desenvolvimento da Web, para uma empresa de tecnologia. E é meio ruim. Ensinamos a eles algumas coisas estranhas, apesar de parecermos ensinados a desenvolvê-las para Android, iOS, como usar o Git e todas essas coisas. De fato, como se não. Um instituto é o momento em que seus pais pagam mais por você. Por toda a sua vida. E você pode dedicar cinco anos de sua vida a estudar em profundidade. E aprenda tudo isso em forma de T. Quando você pode estudar no instituto o que é um sistema de controle de versão, que tipo de padrões de desenvolvimento são, como testar tudo isso, que tipo de bancos de dados e balanceadores. E quando você já vai trabalhar, começa a se aprofundar em uma área específica. E assim temos engenheiros. E agora nosso sistema educacional na Rússia está muito mais próximo dessa verdade do que nos parece. Eles nos dão um bom treinamento matemático, um bom treinamento algorítmico, nos dão uma idéia das linguagens de programação. E sobre a entrevista, parece-me algo próximo disso. Precisamos entrevistar os engenheiros. Precisamos do topo da letra T para o formato de T. Porque a linha vertical da letra T ele recebe.
Azat Khadiev: Sim, interessante. Cinco anos depois da faculdade, pareceu-me que minha educação era de algum modo estranha e inadequada. E então, no decorrer do trabalho, quando as tarefas se aprofundaram, os projetos foram maiores, percebi que não, aprendi coisas muito importantes. Paul, obrigado. Foi muito interessante ouvir suas respostas. Ouça o seu relatório.
Pavel Selivanov: Obrigado.