Die Teilnehmer kommen zu einem Kurs oder Intensivtraining. Sie sehen die gut organisierten Reihen des technischen Supports, sauber verlegte Stromkabel, die ordentliche Anordnung des Hörsaals, lebendige Bilder und Diagramme auf den Folien. Die Referenten liefern ihre Informationen mit Witzen und Lächeln, sodass man nur versuchen kann, alles zu verstehen. Die Stände sind eingerichtet, die praktischen Aufgaben lösen sich fast von selbst, einzig gelegentlich ist Hilfe vom technischen Support nötig.
Und auch Kaffeepausen mit Gleichgesinnten, eine energische und lebendige Atmosphäre, Erfahrungsaustausch, die unerwartetsten Fragen an die Referenten. Sowohl die Antworten als auch Informationen, die man in Handbüchern nicht findet, sondern nur in der Praxis.
Wie lange, glauben Sie, hat es gebraucht, um es genau so aussehen zu lassen?

Ein Dankeschön an Wladimir Gurjanow, zertifizierten Kubernetes-Administrator und Engineer/Teamleiter bei Southbridge, der von Anfang an Zeuge und aktiver Teilnehmer an der Erstellung vieler Kurse von Slurm war.
Er hat die Hintergründe der Kurserstellung gesehen – die Schwierigkeiten und die schmerzhaften Stolpersteine, Einsichten und unerwartete Lösungen. Und die bereits vertrauten Intensivkurse zu Kubernetes, wie das Slurm Basis- und das Slurm Mega. Und natürlich den neuen, in vielerlei Hinsicht überarbeiteten Kurs. , die unaufhaltsam näher rückt und am 19. August beginnt.

Doch genug der Lyrik, kommen wir zur eigentlichen Geschichte. Wie aus einigen Themen des Intensivprogramms allmählich ein durchaus eigenständiger und facettenreicher . Ich beginne also mit der Erzählung, wie Kurse entstehen und sich entwickeln – sozusagen "Vor langer Zeit in einer weit, weit entfernten Galaxie…"
Was passiert hinter den Kulissen?
Wenn Sie fragen, wie wir Kurse erstellen und wo alles beginnt, antworte ich einfach: "Alles beginnt mit einer Idee".
In der Regel kommt die Idee irgendwoher – wir sind nicht in den Keller gefesselt, während wir darüber nachdenken: „Welches Thema sollten wir für den Kurs wählen?“. Die Ideen kommen oft von außen. Manchmal beginnen die Leute aktiv zu fragen: „Was wissen Sie über eine bestimmte Technologie?“. So war es auch mit Docker; es ließ sich nicht ins Timing des Intensivprogramms integrieren – offensichtlich musste es nach außen getragen werden, damit wir im Rahmen des Intensivprogramms ausreichend darüber berichten können.

So entsteht die Idee.
Nachdem sie erschienen ist, beginnt meiner Meinung nach der schwierigste Teil – zu verstehen, was genau in diesen Kurs aufgenommen werden soll. Das ist sehr vergleichbar mit der Vorbereitung von Referenten für verschiedene Konferenzen.
Es gibt ein zentrales Problem: Man hat ein Thema gewählt und denkt: 'Was kann ich darüber erzählen? Das ist zu einfach, das ist offensichtlich, das weiß doch jeder.'
Aber in Wirklichkeit ist das nicht so. Ich sage oft, dass das, was dir offensichtlich erscheint, für diejenigen, die dir zuhören oder den Kurs absolvieren, bei weitem nicht so offensichtlich ist. Hier entsteht ein großer Arbeitsaufwand und ein innerer Konflikt darüber, was in den Kurs aufgenommen werden soll. Infolgedessen ergibt sich eine Liste von Kapiteln, die grob umreißen, worum es in dem Kurs gehen wird.
Danach beginnt die einfache Routinearbeit:
- Materialauswahl
- Es ist wichtig, die Dokumentation zur aktuellen Version aufmerksam zu lesen, denn die IT-Welt entwickelt sich momentan in rasantem Tempo. Selbst wenn Sie an etwas arbeiten und dazu einen Kurs erstellen, bleibt Ihnen nichts anderes übrig, als in die Dokumentation zu gehen und zu schauen, was neu dazugekommen ist, was interessant ist zu erzählen und was besonders erwähnenswert sein könnte.
- So entsteht gewissermaßen das Grundgerüst des Kurses, in dem bereits ein Großteil der Themen grob skizziert ist, und man hat den Eindruck, dass man einfach nur Videos aufnehmen und sie in die Produktion bringen muss.
- Aber in Wirklichkeit ist das nicht der Fall; es beginnt harte Arbeit, allerdings nicht für die Kursautoren, sondern für die Testpersonen. In der Regel übernimmt der technische Support die Rolle der Alpha-Tester, die erstens die Kurse auf syntaktische und grammatikalische Fehler überprüfen. Zweitens werden wir oft scharf kritisiert, wenn es einige äußerst unklare oder schwer verständliche Passagen gibt. Wenn in den Texten komplexe, zusammengesetzte Sätze über mehrere Seiten vorkommen oder offensichtlich unsinnige Stellen auftreten, heben sie all dies hervor und überprüfen es sorgfältig.
- Dann beginnt die Testphase der Praxis, in der auch einige offensichtliche Probleme identifiziert werden und bestimmte Aspekte aufgezeigt werden, die möglicherweise komplizierter gestaltet werden sollten, da es ansonsten wenig spannend ist, einfach nur zu kopieren. Dabei werden auch Stellen erkannt, an denen wir von den Teilnehmern des Kurses viel verlangen. Dann kommen die Empfehlungen: 'Macht es hier einfacher, das wird besser verstanden und bringt mehr Nutzen.'
- Nachdem dieser Arbeitsumfang erledigt ist, wurde der Teil, der sich auf das Video bezieht, erstellt und sieht vielversprechend aus. Wir können mit der Veröffentlichung und der Werbung für diesen Kurs beginnen. Aber es ist noch zu früh, denn in letzter Zeit haben wir begonnen, uns selbst weniger zu vertrauen und mehr mit Feedback zu arbeiten. Es gibt jetzt eine Art Beta-Testing, bei dem wir externe Personen einladen, die nichts mit unserem Unternehmen zu tun haben, und ihnen für kleine Anreize alle Teile des Kurses, Videos, Texte und praktische Aufgaben zeigen, damit sie die Qualität und Zugänglichkeit des Materials bewerten und uns helfen, den Kurs bestmöglich zu gestalten.
- Wenn mehrere solcher Iterationen mit den Referenten, Alpha-Tests in Form von technischen Support, Beta-Tests und Überarbeitungen durchlaufen wurden, beginnt alles von vorne—technischer Support, Beta-Tests, Überarbeitungen.
- Und irgendwann kommt das Verständnis, dass wir entweder mit den Anpassungen aufhören müssen, weil es völlig unrealistisch ist, es jedem recht zu machen, oder es müssen radikale Entscheidungen getroffen werden. Wenn sehr viele Anmerkungen zu bestimmten Punkten kritisch sind, müssen sie global überarbeitet werden, weil etwas nicht richtig gelaufen ist.
- Dann kommt die Zeit für geringfügige Anpassungen – hier ist ein Satz nicht besonders elegant formuliert, dort gefällt jemand die Schriftart nicht, 14,5, aber schöner wäre 15,7.
- Wenn nur noch solche Anmerkungen übrig bleiben, dann öffnet sich der Kurs mehr oder weniger, und die offiziellen Verkäufe beginnen.
Und auf den ersten Blick scheint die Aufgabe, einen Kurs zu erstellen, kurz und einfach zu sein, aber sie erweist sich als alles andere als einfach und nimmt unglaublich viel Zeit in Anspruch.
Ein weiterer wichtiger Punkt ist, dass die Arbeit mit dem Kurs nicht endet, wenn dieser veröffentlicht wird. Zunächst einmal lesen wir sorgfältig die Kommentare, die zu den einzelnen Teilen hinterlassen werden. Und trotz all der Anstrengungen, die wir unternommen haben, werden dennoch einige Mängel und Fehler festgestellt, die in Echtzeit behoben und nachgebessert werden, damit jeder nachfolgende Nutzer einen qualitativ hochwertigeren Service erhält.

Jeder Kurs hat einen eigenen Produktverantwortlichen, der nicht nur das Gesamtkonzept festlegt und die Fristen überprüft, sondern sich auch Notizen am Rand macht. Wenn die Zeit kommt, um den Kurs vollständig neu zu gestalten – und diese Zeit wird sicher kommen, denn in ein oder zwei Jahren wird ein Teil dessen, was wir heute vermitteln, aufgrund moralischer Veralterung nicht mehr relevant sein. Der Produktverantwortliche macht Randnotizen, um festzuhalten, worüber Leute häufig Fragen stellen, welche Aspekte unklar waren, welche Aufgaben als sehr schwierig und welche als sehr einfach empfunden wurden. Diese Punkte fließen in die Neugestaltung des Kurses und in jeden Refaktorierungsprozess ein, damit jede globale Iteration des Kurses besser, benutzerfreundlicher und angenehmer wird.
So entstehen die Kurse.
Wie der Kurs über Docker entstand
Das ist ein eigenes und sogar ungewöhnliches Thema für uns. Einerseits hatten wir nicht vor, ihn zu erstellen, da viele Online-Schulen ihn anbieten. Andererseits hat sich das Thema von selbst aufgedrängt und fand einen logischen Platz in unserem Konzept zur Ausbildung von IT-Spezialisten für Kubernetes.
Wenn wir sehr allgemein sprechen, begann alles ursprünglich mit einem Kurs über Kubernetes, als dieser gerade gestartet wurde, glaube ich, nach dem ersten Slurm. Wir haben Feedback gesammelt und festgestellt, dass viele Teilnehmer noch weitere Informationen über Docker lesen möchten und viele, die zum Basiskurs über Kubernetes kommen, nicht wissen, was genau das ist. .
Deshalb haben wir zum zweiten Slurm einen Kurs erstellt – besser gesagt, wir haben ein paar Kapitel über Docker erstellt. Darin haben wir die grundlegendsten Dinge erklärt, damit die Menschen, die am Intensivkurs teilnehmen, sich nicht benachteiligt fühlen und generell verstehen, was vor sich geht.

Dann entwickelten sich die Ereignisse ungefähr so. Die Menge an Material wuchs und passte nicht mehr in 3 Tage. Folglich kam die logische und offensichtliche Idee auf: Warum nicht aus dem, was wir im Basiskurs über Slurm erzählen, einen kleinen Kurs machen, auf den wir die Leute schicken können, die vor dem Intensivkurs über Kubernetes etwas über Docker anschauen möchten.
Slurm Junior ist im Grunde genommen die Zusammenführung mehrerer solcher Basiskurse. Am Ende wurde der Kurs über Docker zu einem Teil von Slurm Junior. Das heißt, es ist eine Art Einstiegskurs vor und . Und dann gab es dort ganz fundamental einfache Abstraktionen.

Irgendwann fragten die Leute: „Leute, das ist alles großartig, das genügt, um zu verstehen, was ihr in den Intensivkursen erzählt. Wo kann man denn mehr über Docker erfahren, was es kann, wie man damit arbeitet und was es überhaupt ist?“ So entstand die Idee, daraus einen zu entwickeln, um erstens weiterhin die Personen, die sich für Kubernetes interessieren, zu erreichen und zweitens auch für die, die sich in diesem Stadium nicht für Kubernetes interessieren. Damit IT-Profis unseren Docker-Kurs besuchen können, um ihren evolutionären Weg einfach mit reinem Docker zu beginnen. Damit wir einen solchen vollständigen, abgeschlossenen Kurs haben – und viele, die nach dem Anschauen dieses Kurses eine Zeit lang mit reinem Docker gearbeitet haben, warten dann auf den Punkt, an dem sie Kubernetes oder ein anderes Orchestrierungssystem benötigen. Und letztendlich kommen sie zu uns.
Manchmal wird die Frage aufgeworfen: "Wer könnte heutzutage kein Kubernetes benötigen?" Doch diese Frage bezieht sich eher auf Unternehmen als auf Menschen. Es ist wichtig zu verstehen, dass Kubernetes bestimmte Anwendungsfälle hat, in denen es gut funktioniert, und Aufgaben, die es effektiv löst. Auf der anderen Seite gibt es Szenarien, in denen die Nutzung von Kubernetes mehr Probleme und Frustrationen verursacht. Daher hängt es nicht von den Menschen ab, sondern davon, was und wie lange Unternehmen entwickeln.
Zum Beispiel, ein schreckliches Legacy-Monolith — es macht wahrscheinlich keinen Sinn, diesen in Kubernetes zu implementieren, da es mehr Probleme als Vorteile bringen würde. Oder wenn es sich um ein kleines Projekt handelt — mit geringen Anforderungen oder einfach nicht genug Geld und Ressourcen. In diesem Fall hat es keinen Sinn, Kubernetes einzuführen.
Wenn Sie sich fragen: „Brauche ich Kubernetes?“, dann ist die Wahrscheinlichkeit hoch, dass Sie es nicht brauchen. Ich kann mich nicht erinnern, wer das zuerst gesagt hat, aber ich glaube, es war Pasha Selivanov. Ich stimme dem zu 100 % zu. Man muss erst einen gewissen Punkt erreichen, an dem man versteht, dass man wirklich Kubernetes benötigt und es für unser Unternehmen hilfreich ist. Wenn diese Erkenntnis kommt, lohnt es sich, zu lernen und herauszufinden, wie man es richtig konfiguriert, damit der Übergang zu Kubernetes nicht zu schmerzhaft wird.
Einige einfache Probleme und sogar auch nicht so einfache Dinge kann man bei uns erfahren, anstatt die eigenen Fehler und Schmerzen durchzumachen.
Viele Unternehmen haben den Weg beschritten, dass sie zunächst eine einfache Infrastruktur ohne Containerisierung hatten. Dann stießen sie an die Grenzen der Verwaltung, wechselten zu Docker und erreichten schließlich den Punkt, an dem es innerhalb von Docker und dessen Angeboten zu eng wurde. Sie begannen, sich umzusehen und nach Systemen zu suchen, die diese Probleme lösen, und Kubernetes ist eines dieser Systeme, das hilft, wenn die Funktionalität von reinem Docker nicht ausreicht. Dies ist ein hervorragendes Beispiel dafür, wie Nutzer schrittweise aufwärts gehen: Sie erkennen, dass diese Technologie nicht genügt und steigen auf die nächste Ebene um. Nach der Nutzung von etwas war es wieder nicht genug — und sie gehen weiter.
Das ist eine bewusste Entscheidung — und das ist großartig.
Ich sehe wirklich, dass unser System sehr gut strukturiert ist, zum Beispiel, , sogar über Videokurse. Nach Docker kommt dann , dann , dann . Alles ist logisch aufgebaut — der Teilnehmer durchläuft es und erhält damit einen zusammenhängenden Beruf.
Im Grunde genommen ermöglicht das Kursangebot das Abdecken vieler zeitgemäßer Anwendungsfälle. Es gibt jedoch Bereiche, die weiterhin in der Grauzone verbleiben. Ich hoffe, dass wir bald einige Kurse entwickeln können, die diese grauen Bereiche abdecken, insbesondere in Bezug auf Sicherheit. Denn das wird zunehmend wichtig.
Kurz gesagt, haben wir einige graue Bereiche, die idealerweise abgeklebt werden sollten, um ein ganzheitliches Bild zu schaffen – sodass die Menschen kommen können und wie beim Lego-Konstrukteur alles zusammenstellen können. Wenn noch etwas fehlt, kann man es ergänzen. So sollte es auch mit unseren Kursen sein, damit die Leute verstehen, was sie brauchen, um ein Puzzle aus unseren Kursen zusammenzustellen.

Wenn man sich die ehrliche Frage stellt: "Wer benötigt aktuell einen aktiven Docker-Kurs?", dann:
- Für Studenten, die gerade anfangen, sich damit auseinanderzusetzen.
- Für Mitarbeiter der Testabteilung.
- Es gibt tatsächlich viele Unternehmen, in denen nicht nur keine Docker-Technologien genutzt werden, sondern wo niemand jemals von dieser Technologie gehört hat und nicht weiß, wie man sie einsetzen kann. Ich kenne mehrere große Unternehmen in St. Petersburg, die seit vielen Jahren in der Softwareentwicklung tätig sind, und sie setzen immer noch auf veraltete Technologien. Insbesondere für solche Unternehmen und ihre Ingenieure könnte dieser Kurs sehr interessant sein, da er zum einen einen schnellen Einstieg in diese Technologie ermöglicht und zum anderen, sobald einige Ingenieure verstehen, wie das Ganze funktioniert, sie dieses Wissen ins Unternehmen tragen können, um die Kultur und die Richtung intern weiterzuentwickeln.
- Meiner Meinung nach kann dieser Kurs auch für diejenigen nützlich sein, die bereits ein wenig mit Docker gearbeitet haben, jedoch nur oberflächlich und eher im Stil "Mach dies, mach das". Wenn sie nun vorhaben, sich in irgendeiner Weise mit Kubernetes zu beschäftigen, bringt das gewisse Verpflichtungen mit sich. Wenn man nur oberflächliche Kenntnisse darüber hat, was Docker ist, wie man es startet, aber nicht weiß, wie es intern funktioniert oder was man damit am besten tun sollte und was nicht, dann ist dieser Kurs ideal, um das Wissen zu systematisieren und zu vertiefen.
Wenn Ihr Wissen jedoch auf dem Niveau ist: "Ich weiß nicht, wie man Docker-Dateien richtig schreibt, ich habe eine Vorstellung davon, was Namespaces sind, wie Container funktionieren und wie sie auf Betriebssystemebene tatsächlich implementiert sind", dann gibt es keinen Sinn, zu uns zu kommen. Sie werden nichts Neues lernen und könnten traurig über das investierte Geld und die Zeit sein.
Um die Vorteile unseres Kurses zusammenzufassen:
- Wir haben diesen Kurs so gestaltet, dass er ausreichend praktische Fallstudien enthält, die Ihnen nicht nur helfen, den theoretischen Teil zu verstehen, sondern auch, warum dies für Sie wichtig ist und wie Sie es in Zukunft anwenden werden;
- Es gibt mehrere Abschnitte, die sehr selten vorkommen – und insgesamt gibt es dazu nicht so viele Materialien. Diese beziehen sich auf die Interaktion von Docker mit dem Betriebssystem, auch wenn es nicht ganz so einfach ist. Welche Mechanismen hat Docker vom Betriebssystem übernommen, um ein Containerisierungssystem zu realisieren – und das bietet ein tieferes Verständnis für die gesamte Thematik des Starts von Containern im Rahmen des Betriebssystems Linux. Wie das funktioniert, wie es innerhalb und außerhalb des Betriebssystems interagiert und so weiter.
Das ist ein wirklich tiefgehender Blick, der eher selten vorkommt, und meiner Meinung nach sehr wichtig ist. Wenn Sie wirklich gut mit einer Technologie umgehen und verstehen möchten, was Sie von ihr erwarten können, müssen Sie zumindest grob vorstellen, wie sie auf niedriger Ebene funktioniert.
Unser Kurs zeigt und erklärt, wie alles aus Sicht des Betriebssystems funktioniert. Auf der einen Seite nutzen alle Containerisierungssysteme die gleichen Mechanismen des Betriebssystems. Auf der anderen Seite greifen sie auf das zurück, was im Linux-Betriebssystem vorhanden ist, wie Docker. Andere Containerisierungssysteme haben nichts Neues erfunden – sie haben das, was bereits in Linux existiert, übernommen und eine praktische Schnittstelle geschaffen, die es ermöglicht, diese Funktionen schnell aufzurufen, zu starten oder damit zu interagieren. Docker ist eine relativ dünne Schicht zwischen dem Betriebssystem und der Kommandozeile; es ist ein nützliches Tool, das es ermöglicht, nicht Hunderte von Kommandos oder C-Code zu schreiben, um einen Container zu erstellen, sondern dies einfach mit ein paar Zeilen im Terminal zu tun.
Und zusätzlich, wenn wir speziell über Docker sprechen, ist das, was Docker tatsächlich in die IT-Welt gebracht hat, die Standards. Wie eine Anwendung gestartet werden sollte, wie sie funktionieren sollte, welche Anforderungen an die Protokolle bestehen, welche Anforderungen es an die Skalierung und die Konfiguration der Anwendung gibt.
In vielerlei Hinsicht geht es bei Docker um Standards.
Standards ziehen ebenfalls in Kubernetes um – und dort gelten dieselben Standards. Wenn Sie Ihre Anwendung gut in Docker zum Laufen bringen, wird sie zu 99 % auch in Kubernetes gut funktionieren.
Falls Sie nicht nur interessiert sind, wie der Docker-Kurs erstellt wurde und auch an anderen Kursen interessiert sind, sondern auch der Kurs selbst aus praktischer Sicht Ihr Interesse weckt, dann
Wir freuen uns auf Ihren Besuch!
Quelle: habr.com
