¿Es Kubernetes el nuevo Linux? Entrevista con Pavel Selivanov


Descifrado:
Azat Khadiev: Hola. Mi nombre es Azat Khadiev. Soy desarrollador PaaS para Mail.ru Cloud Solutions. Aquí conmigo está Pavel Selivanov de Southbridge. Estamos en la conferencia DevOpsDays. Aquí dará una charla sobre cómo se puede construir DevOps con Kubernetes, pero lo más probable es que no tenga éxito. ¿Por qué un tema tan oscuro?

Pavel Selivanov: En realidad, no es tan sombrío. Se trata del hecho de que estamos intentando resolver muchos problemas en nuestra comunidad con la ayuda de la tecnología. Y estamos tratando de resolver las cosas con la ayuda de la tecnología de una manera bastante unilateral. Kubenetes es lo mismo: esto es de lo que son responsables, se podría decir que Ops. Pero tenemos un gran concepto de ingeniero DevOps. Un ingeniero de DevOps es responsable de Kubernetes. Al mismo tiempo... Es como si crearas Kubernetes, pero los desarrolladores no son conscientes de todos estos Kubernetes, no son conscientes de lo que te permite hacer, y todo vive exactamente igual para ellos. Y esto a pesar de que Kubernetes contiene soluciones y herramientas listas para usar para utilizar esta tecnología para ampliar este enfoque de DevOps, la comunicación entre Dev y Ops. Aprovechamos muy poco esta oportunidad. Debido al hecho de que incluso estamos transfiriendo estructuras actuales a todas estas herramientas DevOps (Docker, Kubernetes, nubes, etc.), estamos agravando aún más esta situación. Y comenzamos a utilizar las herramientas de manera diferente a como fueron diseñadas. Y en torno a todas estas tecnologías se están construyendo muletas terribles.

Azat Khadiev: Ya veo. Parece un tema amplio. ¿Cuál crees que es el problema más común que tienen las empresas en este momento? Con Kubernetes.

Pavel Selivanov: El problema más común con Kubernetes es la falta de competencias. Este es un problema común en TI. Siempre hay escasez de especialistas. Siempre faltan competencias. Y ahora con Kubernetes no hay suficientes competencias. Y al mismo tiempo, todavía hay soluciones XNUMX% listas para usar en el mercado que le permitirían obtener Kubernetes, pero al mismo tiempo no tienen las competencias necesarias; francamente, hay pocas en el mercado. Y los que existen, todos plantean algunas preguntas. Con Kubernetes, buscamos constantemente personas que entiendan esto. Estamos intentando adaptar el desarrollo a esto.

Azat Khadiev: Y dada la actual escasez de personal en TI. Que siempre ha estado ahí. Y ahora lo hay. ¿Cómo piensas vivir en estas condiciones? ¿Qué trucos de vida existen?

Pavel Selivanov: trucos salvavidas. En primer lugar, desde el punto de vista de las nubes, el truco de vida se ve así: démosnos algunas de sus competencias. Y los tomaremos para nosotros mismos. Y lo haremos dentro de nosotros mismos. Y eso está todo bien. Excepto que es importante entenderlo para quienes lo usan... En realidad, es un gran momento... Pero es importante entender que si entregamos parte de nuestras competencias en algún lugar a la nube o al proveedor, obtenemos a cambio una solución universal. . A grandes rasgos, tenemos una base de datos que hace cosas muy específicas y ha sido configurada de una manera muy específica. Al entregar esta base de datos a la nube, nosotros, por supuesto, podemos despedir al administrador que solía ocuparse de los grupos de bases de datos; el mismo Amazon o Google lo harán por nosotros. Pero al mismo tiempo Amazon o Google no nos permitirán configurar claramente nuestra base de datos. Grandes proyectos, grandes empresas: en cualquier caso, llegan al punto de que en algún momento de su vida utilizan soluciones en la nube y luego, en cualquier caso, vuelven a recuperar las competencias, porque se requiere algo más específico. .

Azat Khadiev: ¿Son malas las soluciones universales o se pueden construir más a partir de ellas?

Pavel Selivanov: No, las soluciones universales definitivamente no son malas. Las soluciones universales son buenas. Sólo soluciones universales... universales. Es importante entender aquí. Es como tomar un script común... Si puedes construir toda la lógica del trabajo de la empresa en torno a este script común, a esta aplicación común, entonces está bien. Y si la lógica del trabajo es diferente, pero tomas esta solución universal, un guión universal y comienzas, como un búho, a tirar de un globo terráqueo, esto es malo. Y el universalismo en sí no tiene nada de malo.

Azat Khadiev: Si este administrador ya trabaja para usted, el punto no es su despido. Simplemente podrá hacer más.

Pavel Selivanov: Sí, quítale la rutina y dásela a alguien en algún lugar para que la haga en algún lugar. Este es definitivamente un buen enfoque. Lo importante aquí es si esta solución estándar es adecuada para un caso concreto.

Azat Khadiev: Según mi experiencia, veo que muchas empresas están haciendo lo mismo. Están configurando un clúster de Kubernetes y pensando en ampliarlo. Y todas estas operaciones son muy repetibles.

Pavel Selivanov: Sí, definitivamente. Además, si tomamos Kubernetes específicamente, llega un punto en el que actualmente hay muy poco conocimiento profundo y bueno sobre Kubernetes en el mercado. Y Kubernetes es un constructor tan gigantesco que si lo contratas para una empresa, prepárate para llevar contigo a un ingeniero que hará todo esto a tiempo completo. Y es caro. Y trate de encontrar un ingeniero así nuevamente. Si hablo de mí, realmente no me gustan las soluciones en la nube porque tengo un conocimiento bastante bueno y profundo de cómo funciona Kubernetes. Y a menudo en las nubes simplemente me faltan algunas funciones que solicito, pero me dicen "No, no puedes". Bueno, en ese caso, lo siento, pero puedo hacerlo mejor que Cloud. Pero al mismo tiempo, si no tienes un ingeniero a tiempo completo, no quieres pagarle a este ingeniero que ejecuta Kubernetes y constantemente le pagas mucho dinero solo para que experimente, entonces la nube es simplemente una buena, gran solución. Porque al menos hay chicos que el proveedor ya ha contratado. Y saben lo que hacen. Y esas cosas básicas que necesitas a diario están ahí.

Azat Khadiev: ¿Qué opinas sobre el estado actual de Kubernetes? ¿Qué pasará con él dentro de cinco y diez años?

Pavel Selivanov: Buena pregunta. Sólo sé lo que está pasando en nuestra comunidad sobre esto. Algunas personas creen que no quedará nada más que Kubernetes. La situación que pasó con Linux hace mucho tiempo. Es decir, fuera de Linux hay gente que vive de BSD, lo más probable es que tengan tareas muy específicas. Hay personas que trabajan en Windows (servidores de Windows), lo más probable es que también tengan tareas específicas, o simplemente tengan competencia en este asunto y no estén preparados para irse de allí. En cualquier caso, el estándar en nuestro campo es Linux. Existe la opinión de que Kubernetes se convertirá en el mismo estándar de facto y no habrá nada más que Kubernetes. Kubernetes gestionará no solo las aplicaciones, su implementación, implementación y escalado. En general, gestiona todo. Ahora ya se preguntan: "¿Es posible insertar una base de datos en Kubernetes?" Normalmente digo que el problema aquí no está en Kubernetes, sino en Docker. Si está listo para que su base de datos se ejecute en contenedores, así es como funcionará. Me responden: “No, no, no, espera. No hay necesidad de contenedores. Necesita Kubernetes. Lo injertaremos en el ganglio. Es decir, todo será como lo tenemos ahora, sólo Kubernetes lo gestionará todo”. Y esta es realmente una buena idea. Es decir, Kubernetes es tal cosa cuando puedes venir a una empresa, si la empresa tiene Kubernetes y procesos integrados en él, entonces una persona que entiende esto, solo necesita mirarlo durante un par de días para decir: " Estoy listo para apoyarte. Completamente. Enteramente. Entiendo cómo funcionan las cosas para ti”. A diferencia de los enfoques sin Kubernetes, aquí se pusieron algunas muletas, aquí otras. Ansible aquí, Terraform aquí. Alguien escribió todo esto y se necesitan seis meses para comprenderlo. Aquí. Entonces, no sé si Kubernetes se convertirá en un estándar de facto. Hoy parece mucho más ambicioso y confiado que las soluciones que existen a su alrededor.

Azat Khadiev: Bueno, la comparación con Linux es bastante audaz. Funciona en una sola máquina, eso es todo. Y Kubernetes funciona en muchas máquinas. Inmediatamente surgen un millón de variaciones y razones. Sí, es atrevido. Solo si se tiene en cuenta que existen competidores de este paradigma. Por ejemplo, sin servidor. ¿Kubernetes está en peligro con tales competidores?

Pavel Selivanov: De Serverless... (risas) Serverless: todavía entendemos que, después de todo, existen servidores. Hace poco escuché un informe sobre este asunto. Allí la persona dijo que todavía hay servidores y que esta es una nube. Pero siempre debemos entender que la nube también tiene servidores. Hay servidores de hardware reales, un bastidor y están instalados en algún lugar. Esta es la nube. Además de esto, está Serverless, donde “no” hay servidores. Entonces la pregunta es: ¿Serverless vencerá a Kubernetes? Me parece que Serverless se trasladará a Kubernetes. Para los proveedores que ofrecen Serverless, Kubernetes es una plataforma muy conveniente para ofrecerlo. Sí, quizás en algún momento dejemos de hablar de Kubernetes, en principio, como del desarrollo ordinario de aplicaciones empresariales. Pero en algún lugar profundo, los proveedores e ingenieros tendrán Kubernetes, donde se implementará todo esto.

Azat Khadiev: Un tema ligeramente diferente. Existe un ingeniero full-stack. ¿Qué piensas de ellos? ¿Existen siquiera?

Pavel Selivanov: Um... Ingeniero Fullstack... Bueno, me parece que vale la pena distinguir entre estas cosas que... Ya sabes, existen las personas en forma de T. ¿Se necesitan personas así en la industria actual? Sí, definitivamente lo necesitamos. Necesitamos personas que tengan una perspectiva amplia, pero que al mismo tiempo sean especialistas en un campo limitado. Y aquí el ingeniero Fullstack es el mismo: una persona que hace de todo. Comenzando desde el desarrollo front-end, pruebas, back-end, servidores y todo lo demás. No creo que en una gran empresa una sola persona pueda hacer esto sin tener una especialización limitada en cada uno de los parámetros. Pero al mismo tiempo, simplemente teniendo una especialización limitada, como lo que sucede en torno a esto, no sé nada; esto tampoco funciona en el mundo moderno. Es decir, aquí yo diría… descartaría la palabra Fullstack. Realmente necesitamos ingenieros. Necesitamos DevOps. Tengo la sensación de que reconsideraremos este momento pronto. Y no serán necesarios.

Azat Khadiev: ¿Puedes revelarlo?

Pavel Selivanov: Me parece que en la industria llegaremos a la conclusión de que estos roles de desarrollo y operaciones pronto desaparecerán. Si necesitamos especialistas y estamos cazando... Necesitamos tal o cual desarrollador, necesitamos tal o cual administrador, necesitamos ingenieros de DevOps - ahora los tenemos, ahora también tendremos ingenieros de producción, ingenieros de SRE. Aunque en realidad lo que necesitamos son ingenieros que queramos contratar. Los antecedentes en general no son importantes. Porque... Por ejemplo, la SRE dice que los problemas de infraestructura siempre son problemas de software. Entonces... Tomemos a los desarrolladores, desde el punto de vista de que un desarrollador es un ingeniero, colóquelos en el departamento de mantenimiento y resolverán estos problemas de la misma manera que resuelven problemas comerciales con la ayuda del código, con la ayuda de la ingeniería como tal.

Azat Khadiev: Y desde este punto de vista... ¿Cómo entrevistar a estos ingenieros?

Pavel Selivanov: Ah, buena pregunta. Probablemente ya esté más allá de lo que yo entiendo en esta vida. Pero sólo daría un ejemplo. No tiene nada que ver con la entrevista. Se trata de nuestro sistema educativo en Rusia. En TI, sabemos que nuestro sistema educativo en Rusia está muy desactualizado para el mundo de TI, no es lo que debería ser. Me refiero, en promedio, a la vasta Rusia y a lo que está sucediendo allí. Se gradúan personas que no están en absoluto preparadas para dedicarse al desarrollo web o a una empresa de tecnología al día siguiente de graduarse. Y es algo malo. Les enseñamos algunas cosas raras, aunque deberíamos enseñarles cómo desarrollar para Android, iOS, cómo usar Git y todas esas cosas. De hecho, parece que no. La universidad es una época en la que tus padres pagan principalmente por ti. Para toda tu vida. Y puedes dedicar cinco años de tu vida a estudiar en profundidad. Y estudia todo esto en forma de T. Cuando puedas estudiar en el instituto qué es un sistema de control de versiones, qué patrones de desarrollo existen, cómo probar todo, qué tipos de bases de datos y balanceadores existen. Y cuando vas a trabajar, empiezas a profundizar más en un área concreta. Y así es como conseguimos ingenieros. Y nuestro sistema educativo en Rusia está mucho más cerca de esta verdad de lo que pensamos. Recibimos una buena formación matemática, recibimos una buena formación algorítmica, nos dan cierta comprensión de los lenguajes de programación. Y sobre la entrevista, me parece algo parecido a esto. Necesitamos entrevistar a los ingenieros. Necesitamos la parte superior de la T para los que tienen forma de T. Porque adquirirá la línea vertical de la letra T.

Azat Khadiev: Sí, interesante. Cinco años después de la universidad, me pareció que mi educación era algo extraña e inadecuada. Y luego, a medida que avanzaba el trabajo, cuando las tareas se hacían más profundas, los proyectos se hacían más grandes, me di cuenta de que no, me enseñaron cosas muy importantes. Pablo, gracias. Fue muy interesante escuchar sus respuestas. Escuchemos su informe.

Pavel Selivanov: Gracias.

Fuente: habr.com

Añadir un comentario