
Transkript:
Azat Khadiev: Guten Tag. Ich bin Azat Khadiev, Entwickler im PaaS-Bereich bei Mail.ru Cloud Solutions. Neben mir ist Pavel Selivanov von Southbridge. Wir sind auf der Konferenz DevOpsDays. Er wird hier einen Vortrag halten, in dem es darum geht, dass man mit Kubernetes DevOps aufbauen kann, aber wahrscheinlich wird es nicht ganz klappen. Warum ist das Thema so düster?
Pawel Selivanov: Sie ist eigentlich nicht düster. Es geht darum, dass wir viele Probleme in unserer Gemeinschaft mit Hilfe von Technologien zu lösen versuchen. Und zwar versuchen wir oft, diese Probleme sehr einseitig anzugehen. Kubernetes zum Beispiel ist etwas, für das man sagen kann, dass die Ops verantwortlich sind. Aber wir haben das wunderbare Konzept des DevOps-Ingenieurs. Der DevOps-Ingenieur ist für Kubernetes verantwortlich. Dabei... Man könnte sagen, ihr macht Kubernetes, aber die Entwickler sind überhaupt nicht über all diese Kubernetes-Sachen informiert, wissen nicht, was es ermöglicht — und für sie läuft alles ganz normal. Und das trotz der Tatsache, dass Kubernetes fertige Lösungen und Werkzeuge enthält, um mit dieser Technologie den DevOps-Ansatz und die Kommunikation zwischen Dev und Ops zu fördern. Wir nutzen diese Möglichkeit sehr wenig. Indem wir sogar die gegenwärtigen Strukturen auf all diese DevOps-Tools — Docker, Kubernetes, Cloud usw. — umstellen, verschärfen wir die Situation noch weiter. Und die Tools werden nicht so verwendet, wie sie eigentlich gedacht waren. Und rund um all diese Technologien entstehen einfach schreckliche Krücken.
Azat Khadiyev: Verstehe. Man merkt, dass das Thema umfangreich ist. Was denkst du, was ist das aktuell häufigste Problem für Unternehmen in Bezug auf Kubernetes?
Pavel Selivanov: Das größte Problem mit Kubernetes ist der Mangel an Fachkenntnissen. Das ist ein häufiges Problem in der IT. Es mangelt immer an Fachkräften. Es fehlen immer kompetente Leute. Derzeit gibt es nicht genug Kompetenzen im Bereich Kubernetes. Die bestehenden Lösungen auf dem Markt, die es ermöglichen würden, Kubernetes zu nutzen, ohne die erforderlichen Fachkenntnisse zu haben, sind nach wie vor spärlich. Die wenigen verfügbaren Lösungen werfen auch ständig Fragen auf. Wir sind ständig auf der Suche nach Menschen, die sich mit Kubernetes auskennen. Wir versuchen, die Entwicklung in diesem Bereich voranzutreiben.
Azat Khadiyev: Angesichts des aktuellen Fachkräftemangels in der IT, der schon immer existierte und immer noch besteht. Wie denkst du, lässt sich in diesen Umständen leben? Welche Tipps hast du?
Pawel Selivanov: Tipps und Tricks. Zunächst einmal sieht der Lifehack aus der Sicht von Cloud-Diensten so aus – geben Sie uns einen Teil Ihrer Kompetenzen. Dann nehmen wir diese und kümmern uns intern darum. Das klingt grundsätzlich gut. Abgesehen davon ist es wichtig zu verstehen, dass diejenigen, die das nutzen... Es ist tatsächlich ein großartiger Punkt... Aber es ist wichtig zu erkennen, dass wenn man Teile seiner Kompetenzen in die Cloud oder an einen Anbieter abgibt, man im Gegenzug eine universelle Lösung erhält. Vereinfacht gesagt, haben wir eine Datenbank, die sehr spezifische Aufgaben erfüllt und sehr speziell eingerichtet war. Geben wir diese Datenbank in die Cloud, können wir natürlich den Administrator, der zuvor für die Datenbank-Cluster zuständig war, entlassen; derselbe Amazon oder Google erledigt das für uns. Aber dabei erlauben uns Amazon oder Google nicht, unsere Datenbank präzise einzustellen. Große Projekte und große Unternehmen kommen immer wieder an den Punkt, an dem sie irgendwann Cloud-Lösungen nutzen, und kehren schließlich dazu zurück, ihre Kompetenzen wieder selbst zurückzuholen, da spezifischere Lösungen erforderlich sind.
Azat Khadieff: Universelle Lösungen – sind sie schlecht oder kann man darauf aufbauen?
Pawel Selivanow: Nein, universelle Lösungen sind definitiv nicht schlecht. Universelle Lösungen sind gut. Man muss nur verstehen, dass sie… universell sind. Das ist wie ein allgemeines Skript zu nehmen. Wenn du um dieses allgemeine Skript herum die gesamte Logik des Unternehmens aufbauen kannst, ist das großartig. Wenn die Logik jedoch anders ist und du dieses universelle Skript nimmst und es anpasst, als würdest du eine Eule auf einen Globus setzen, ist das schlecht. Aber an dem Konzept der Universalität ist nichts Schlechtes.
Azat Khadieff: Wenn der Administrator bereits für dich arbeitet, liegt das Problem nicht in seiner Entlassung. Er kann einfach mehr leisten.
Pawel Selivanow: Ja, ihm die Routine abnehmen und sie woanders erledigen lassen, ist ohne Zweifel ein guter Ansatz. Ein wichtiger Punkt ist, ob diese standardisierte Lösung für den spezifischen Fall geeignet ist.
Azat Chadieff: Basierend auf meiner Erfahrung sehe ich, dass viele Unternehmen dasselbe tun. Sie richten ein Kubernetes-Cluster ein und denken über dessen Skalierung nach. All diese Vorgänge sind sehr wiederholbar.
Pavel Selivanov: Ja, absolut. Vor allem, wenn wir speziell Kubernetes betrachten, gibt es das Problem, dass es derzeit wirklich nur wenige tiefgehende und gute Kenntnisse über Kubernetes auf dem Markt gibt. Kubernetes ist ein riesiger Konstruktor, und wenn Sie ihn in Ihr Unternehmen holen, sollten Sie darauf vorbereitet sein, auch einen Ingenieur einzustellen, der sich vollzeit darum kümmert. Das ist kostspielig, und einen solchen Ingenieur zu finden, ist nicht einfach. Was mich betrifft, ich mag keine Cloud-Lösungen, weil ich ein recht gutes und tiefes Verständnis davon habe, wie Kubernetes funktioniert. Oft fehlt mir in der Cloud genau die Funktionalität, die ich anfrage – und dann heißt es: „Nein, das ist nicht möglich.“ Nun, in diesem Fall tut mir leid, aber ich kann es besser als die Cloud. Gleichzeitig, wenn Sie keinen Ingenieur in Vollzeit haben und nicht bereit sind, für diesen Ingenieur zu bezahlen, der Kubernetes betreut und für den Sie ständig viel Geld zahlen, während er einfach experimentiert, dann ist die Cloud eine ausgezeichnete Lösung. Denn dort sind zumindest Leute, die der Anbieter selbst eingestellt hat. Und sie wissen, was sie tun. Die grundlegenden Dinge, die Sie täglich benötigen, sind dort vorhanden.
Azat Khadiev: Was denken Sie über den aktuellen Zustand von Kubernetes? Wie wird es in fünf und in zehn Jahren aussehen?
Pavel Selivanov: Gute Frage. Ich weiß einfach, was in unserer Community darüber diskutiert wird. Einige Menschen glauben, dass es nach Kubernetes nichts anderes mehr geben wird. Ähnlich wie bei Linux, wo es außerhalb von Linux Nutzer gibt, die auf BSD leben, was wahrscheinlich sehr spezifische Anforderungen mit sich bringt. Es gibt Menschen, die unter Windows arbeiten — Windows-Server — die haben ebenfalls spezifische Aufgaben oder einfach das nötige Wissen und sind nicht bereit, davon wegzugehen. In jedem Fall ist der Standard in unserem Bereich Linux. Es gibt die Meinung, dass Kubernetes ein zu de facto Standard werden wird, und dass es nichts außer Kubernetes geben wird. Kubernetes wird nicht nur Anwendungen verwalten, sondern auch deren Bereitstellung, Deployment und Skalierung. Es wird wirklich alles verwaltet. Heute fragen bereits einige: „Kann ich eine Datenbank in Kubernetes unterbringen?“ Ich sage normalerweise, dass es nicht um Kubernetes geht, sondern um Docker. Wenn Sie bereit sind, dass Ihre Datenbank in Containern läuft, funktioniert sie auch. Mir wird geantwortet: „Nein, nein, nein, warten Sie. In Container gehört nicht rein. Wir brauchen es in Kubernetes. Wir binden es an einen Knoten. Es wird also alles so sein, wie wir es jetzt haben, nur wird Kubernetes alles verwalten.“ Und das ist eigentlich eine gute Idee. Kubernetes ist eine solche Lösung, dass man in ein Unternehmen gehen kann, und wenn das Unternehmen Kubernetes hat und die Prozesse darauf aufgebaut sind, dann reicht es für jemanden, der sich damit auskennt, ein paar Tage zu schauen, um zu sagen: „Ich bin bereit, Sie komplett zu unterstützen. Ich habe verstanden, wie Ihre Systeme funktionieren.“ Im Gegensatz zu Ansätzen ohne Kubernetes — hier wurden ein paar Provisorien reingepackt, dort ein paar andere. Hier Ansible, dort Terraform. Das alles wurde von jemandem geschrieben, und es dauert ein halbes Jahr, um es zu verstehen. Also, ob Kubernetes der de facto Standard wird, weiß ich nicht. Im Moment wirkt es viel ehrgeiziger und überzeugter als die Lösungen, die es drumherum gibt.
Azat Khadiev: Der Vergleich mit Linux ist schon gewagt. Es läuft schließlich auf einer Maschine – und das war's. Kubernetes hingegen läuft auf vielen Maschinen. Sofort entstehen eine Million Variationen und Gründe. Ja, das ist mutig. Man muss nur bedenken, dass es Konkurrenz zu diesem Paradigma gibt. Zum Beispiel Serverless. Ist Kubernetes in Gefahr durch solche Konkurrenten?
Pavel Selivanov: Von Serverless… (lacht) Serverless – wir müssen schließlich verstehen, dass Server es das trotzdem gibt. Ich habe neulich einen Vortrag darüber gehört. Dort hat jemand gesagt, dass es immer noch Server gibt – und das ist die Cloud. Aber wir müssen immer verstehen, dass es auch in der Cloud Server gibt. Dort stehen echte physische Server, Racks, und die sind irgendwo installiert. Das ist die Cloud. Darüber hinaus gibt es Serverless, wo Server «Nein». Also, wird Serverless Kubernetes die Zukunft sein? Ich denke, dass Serverless in Kubernetes integriert werden wird. Für Anbieter, die Serverless-Dienste anbieten, ist Kubernetes eine sehr geeignete Plattform. Ja, möglicherweise werden wir irgendwann aufhören, über Kubernetes im Allgemeinen als das gängige Werkzeug für die Entwicklung von Geschäftsanwendungen zu sprechen. Aber tief im Inneren wird Kubernetes bei Anbietern und Ingenieuren die Basis sein, auf der alles umgesetzt wird.
Azat Khadiev: Ein etwas anderes Thema. Es gibt das Konzept des Fullstack-Ingenieurs. Was hältst du davon? Existieren die überhaupt?
Pawel Selivanov: Ähm... Fullstack-Entwickler... Ich denke, dass es wichtig ist, zwischen diesen Dingen zu unterscheiden, denn... Weißt du, es gibt so etwas wie T-förmige Personen. Brauchen wir solche Menschen in der heutigen Branche? Ja, ohne Zweifel. Wir benötigen Personen, die einen breiten Horizont haben, aber dennoch Spezialisten in ihrem spezifischen Bereich sind. Und hier ist es bei einem Fullstack-Entwickler das Gleiche – eine Person, die alles macht. Vom Frontend-Entwicklung, über Testing, Backend, Server und alles andere. Ich glaube nicht, dass in einem großen Unternehmen eine einzige Person all dies bewältigen kann, ohne spezifische Fachkenntnisse in jedem dieser Bereiche zu haben. Aber gleichzeitig funktioniert es in der modernen Welt auch nicht, einfach nur eine enge Spezialisierung zu haben und nichts anderes darüber zu wissen. Ich würde sagen… das Wort Fullstack würde ich zurückstellen. Wir brauchen sehr dringend Ingenieure. DevOps sind ebenfalls wichtig für uns. Ich habe das Gefühl, dass wir diesen Punkt bald überdenken werden. Und vielleicht werden sie nicht mehr benötigt.
Azat Khadiev: Kannst du das näher erläutern?
Pavel Selivanov: Ich denke, dass wir in der Branche dazu kommen werden, dass die Rollen von Dev und Ops bald überflüssig sein werden. Wenn wir Spezialisten benötigen und wir sie suchen... Wir brauchen diesen oder jenen Entwickler, wir brauchen solche Administratoren, wir brauchen DevOps-Ingenieure – und jetzt haben wir sie, und bald werden wir auch Produktionsingenieure und SRE-Ingenieure haben. Obwohl das, was wir wirklich brauchen, Ingenieure sind, die wir einstellen möchten. Der Hintergrund ist im Grunde genommen nicht wichtig. Denn... Zum Beispiel sagen SREs, dass die Infrastrukturprobleme immer softwarebedingt sind. Also, warum nicht Entwickler einstellen – aus der Perspektive, dass ein Entwickler ein Ingenieur ist – sie in die Support-Abteilung setzen, und sie werden diese Probleme genau so lösen, wie sie geschäftliche Probleme mit Code und Ingenieurwesen lösen.
Azat Khadiyev: Und aus diesem Blickwinkel... Wie führt man Gespräche mit solchen Ingenieuren?
Pavel Selivanov: Oh, das ist eine gute Frage. Er liegt wahrscheinlich schon außerhalb dessen, was ich im Leben verstehe. Aber ich würde ein Beispiel geben. Es hat nichts mit einem Vorstellungsgespräch zu tun. Es geht um unser Bildungssystem in Russland. Im IT-Bereich wissen wir, dass unser Bildungssystem in Russland für die IT-Welt sehr veraltet ist, es ist nicht so, wie es sein sollte. Ich spreche, allgemeiner gesagt, über Russland und was dort passiert. Es kommen Menschen heraus, die absolut nicht bereit sind, morgen nach dem Abschluss in die Webentwicklung oder in ein Technologieunternehmen zu gehen. Und das ist schlecht. Wir bringen ihnen irgendwelche seltsamen Dinge bei, obwohl wir sie eigentlich darauf vorbereiten sollten, für Android, für iOS zu entwickeln, Git zu nutzen und all diese Dinge zu lernen. In Wirklichkeit geschieht das jedoch nicht. Die Hochschule ist die Zeit, in der vor allem die Eltern für dich zahlen. Für dein ganzes Leben. Und du kannst fünf Jahre deines Lebens darauf verwenden, um vertieft zu lernen. Und all diese T-Formate zu studieren. Während du an der Hochschule lernen kannst, was ein Versionskontrollsystem ist, welche Entwicklungsmuster es gibt, wie man das Ganze testet, welche Datenbanken und Lastenausgleicher es gibt. Und wenn du dann ins Berufsleben eintrittst, beginnst du, dich auf einem bestimmten Gebiet zu vertiefen. Auf diese Weise erhalten wir Ingenieure. Und unser Bildungssystem in Russland ist dieser Realität viel näher, als wir denken. Wir erhalten eine gute mathematische Ausbildung, eine solide algorithmische Vorbereitung, und wir bekommen eine Vorstellung von Programmiersprachen. Und ich denke, das hat etwas damit zu tun, was Vorstellungsgespräche betrifft. Wir müssen Ingenieure interviewen. Wir benötigen den oberen Teil des T von T-shaped. Denn die vertikale Linie des Buchstabens T wird er sich aneignen.
Azat Khadiev: Ja, interessant. Fünf Jahre nach dem Studium dachte ich, meine Ausbildung sei irgendwie seltsam und unangemessen. Doch im Verlauf meiner Arbeit, als die Aufgaben komplexer wurden und die Projekte größer, wurde mir klar, dass ich wichtige Dinge gelernt hatte. Pavel, danke dir. Es war sehr interessant, deine Antworten zu hören. Lass uns deinen Vortrag anhören.
Pavel Selivanov: Danke Ihnen.
Quelle: habr.com
