[DOCKER] Ich habe versucht, die Infrastrukturtechnologie der Ingenieure heutzutage mit dem Kochen zu vergleichen.

Einführung

Die Zielgruppe für diesen Artikel ist

――Ich bin kein Ingenieur (Entwickler) »Aber ich bin mit Ingenieuren beschäftigt. (Planung und Verwaltung) ――Daher werden die Ingenieure wütend, wenn Sie nicht mindestens die Infrastruktur des Ingenieurs kennen und sagen: "Weißt du das nicht? »Aber ich habe ein bisschen gegoogelt, aber ich verstehe nichts.

Menschen

Egal welche Art von Person es gibt, niemand wird es nicht essen, also habe ich versucht, es mit dem Kochen zu vergleichen.

Die Ingenieure, die normalerweise den Server berühren, sind also nicht so zielgerichtet Vielleicht hilft es Leuten, die programmieren können, aber nichts über die Infrastruktur wissen. Es darf nicht sein.

Über bestimmte Technologie

--Cloud (sogenannte öffentliche Cloud. AWS / Azure / GCP ...)

Ich werde ungefähr berühren Wir wollen die Atmosphäre vermitteln. Genau genommen kann es also etwas anders sein. bitte beachten Sie

Ich schreibe keine Lüge. Hier ist es anders! Ich würde mich freuen, wenn Sie einen Kommentar abgeben könnten, wenn es so etwas gibt.

Hauptthema

Dann ist es das Hauptthema.

1. Konventionell

Du bist ein ** Koch ** (Ingenieur) ** Kochen ** (Codieren / Programmieren) Es kann jedoch nicht für Kunden bereitgestellt werden (kann nicht bereitgestellt werden). Bereiten Sie zuerst einen ** Tisch (physischer Server) ** vor, bereiten Sie einen ** Teller (Bibliothek usw.) ** vor und servieren Sie ** Essen (Code) ** darauf (bereitstellen) )

Sie müssen also jedes Mal ** Tisch ** und ** Teller ** vorbereiten. Insbesondere ist es mühsam, jedes Mal einen ** Tisch ** vorzubereiten. Es ist schwer und teuer.

2. Cloud

Dort wurde ** Cloud ** geboren. ** Cloud ** wird hergestellt, indem mehr als 1000 ** Tische (physische Server) ** angeordnet und ein riesiges weißes Tischtuch gezeichnet werden. Der Inhalt ist also eine Reihe von ** Tabellen **, aber von oben gesehen ist es nur eine weiße ** riesige Tabelle **.

Erstellen Sie eine Partition auf dem ** riesigen Tisch ** und teilen Sie sie in einzelne Bereiche auf. Im Folgenden wird dieser eine Bereich als ** Tabelle (vorläufig) ** bezeichnet. (** Instanz des virtuellen Servers ** / EC2). Es mag etwas schwer vorstellbar sein, aber stellen Sie sich ** Tabelle (vorläufig) ** als normale ** Tabelle ** vor. Wir werden es ** Köchen ** zur Verfügung stellen. "Wie viele ** Tische (vorübergehend) ** benötigen Sie?" "Dies ist Ihr ** Tisch (vorübergehend) **" "Bitte verwenden Sie, wie Sie möchten" "Die Mietgebühr beträgt ** 1 Tisch (vorübergehend) ** Es ist der ** Cloud-Betreiber ** (AWS / Azure / GCP…), der "wie viel kostet es pro Monat" vermietet.

Schließlich müssen Sie jedoch ** Teller (Bibliothek usw.) ** auf dem ** Tisch (vorübergehend) ** vorbereiten. Wenn Sie an mehreren ** Tischen (vorläufig) ** servieren möchten, müssen Sie jeweils ** Teller ** kaufen und platzieren und dann ** Gerichte ** auf jedem Tisch arrangieren. Ein schönes Arrangement ist ebenfalls erforderlich. Langweilig.

3. Behälter

Dort wurde der ** Container ** geboren. Stellen Sie sich einen ** Container ** als ** Lieferbox ** vor. Es ist ** Okamochi **. Füllen Sie die Schachtel mit ** Tellern ** und ** Geschirr **. Das schöne Arrangement endet auch hier. Sobald Sie ** Okamochi ** gemacht haben, müssen Sie es nur noch auf den ** Tisch ** legen.

(Der Container selbst funktioniert sowohl auf physischen als auch auf virtuellen Servern. In der zusätzlichen Ausgabe unten erfahren Sie, warum wir dies in dieser Reihenfolge erläutern.)

Und von jetzt an unterscheidet es sich von der Realität, aber dieses ** Okamochi ** kann genau dasselbe duplizieren. Ich konnte mir hier keine gute Analogie vorstellen. Wenn Sie dieses ** Okamochi ** eingeben, denken Sie bitte, dass Sie einen 3D-Drucker mit Super Science verwenden können.

Wenn Sie es also mehreren ** Tabellen ** zur Verfügung stellen möchten, können Sie alles lösen, indem Sie das duplizierte ** Okamochi ** zusammenfügen. Sie müssen nicht jedes Mal ** Teller (Bibliothek usw.) ** kaufen.

Die bekannteste dieser ** Container ** -Technologien ist der Container ** Docker **.

Aber auch hier gibt es ein Problem. Das heißt, wenn der ** Tisch ** bricht (bricht oder bricht in den Beinen), fällt der ** Okamochi (Behälter) ** darauf natürlich zusammen. Zum Beispiel ist es wichtig, ob es sich um ein Buffet handelt. Sie müssen Ihren Kunden immer ** Essen ** servieren, aber wenn es kaputt geht, ** Essen **, bis Sie ein anderes ** Okamochi (Behälter) ** auf einen anderen ** Tisch ** stellen ** Wird nicht verfügbar sein.

(Sie mögen denken, dass es nicht leicht kaputt geht, aber wenn es kaputt geht, ist es wirklich wichtig, also sind es die Infrastrukturingenieure, die es definitiv vermeiden wollen.)

  1. Kubernetes Dort wurde ** Kubernetes ** geboren. (K8s kurz) ** Kubernetes ** ist so etwas wie ein ** Kellner **. ** Superwaiter **. ** Kellner ** überprüfen ständig alle ** Tabellen (physische / virtuelle Server) ** in ihrem Geschäft. Dann gibt der ** Koch (Ingenieur) ** das ** Okamochi (Behälter) ** mit dem ** Essen **, das er in den ** Kellner ** geben möchte. Zum Beispiel "Ich möchte, dass Sie dieses ** gebratene Gemüse Okamochi ** setzen". Der ** Kellner ** sagt "klug" und legt ** gebratenes Gemüse Okamochi ** auf einen ** Tisch **.

Nehmen wir also an, dass ** table ** beschädigt ist. Natürlich fällt ** gebratenes Gemüse . Ich kann nicht essen. In der Vergangenheit bemerkten ** Köche ** mit einer Zeitverzögerung und stellten eilig ein neues " gebratenes Gemüse Okamochi **" auf einen anderen leeren ** Tisch ** und boten es den Kunden an. .. (Von dieser Pause bis Sie Okamochi auf einen neuen Tisch legen = Die Zeit, in der Sie dem Kunden kein Essen servieren können, ist eine Ausfallzeit. Es handelt sich um einen sogenannten Systemfehler, der bedeutet, dass Sie keine Verbindung zu Webdiensten usw. herstellen können. Es ist beängstigend. Ich hasse es absolut.)

Aber ** Super Kellner (Kubernetes) ** stören dich nicht. Der ** Kellner ** bemerkt sofort und sucht automatisch nach einem leeren ** Tisch ** und legt dort ein neues "** gebratenes Gemüse-Okamochi **" ab. Daher wird es möglich sein, es den Kunden weiterhin so zur Verfügung zu stellen, wie es ist. Auf diese Weise kann sich der ** Koch ** auf das ** Kochen ** konzentrieren.

Extra: Autoscale

Übrigens ist die "automatische Skalierung", die Sie von Zeit zu Zeit hören können, die ** Tabelle (vorläufig) **, die in 2 herauskam, wenn der im Voraus vorbereitete Betrag nicht ausreicht, die neue ** Tabelle (vorläufig). Es ist ein Mechanismus, der ** vorbereitet. Dies ist eine der größten Stärken der ** Wolke **, die ein riesiger Tisch ** ist.

So habe ich zum Beispiel festgestellt, dass die ** Tabelle (virtueller Server) ** mit 4 ** Kubernetes ** defekt ist, und "** gebratenes Gemüse Okamochi (Container) **" in eine andere geändert. Ich möchte es auf den ** Tisch ** legen, aber es gibt keinen freien ** Tisch ! gefährlich! Was soll ich machen! Als es passiert ist. Wenn Sie die automatische Skalierungsfunktion hinzufügen, werden Sie überrascht sein. Eine neue ** Tabelle (vorläufig) ** ist automatisch verfügbar. So kann ** Kellner ** an einem sonnigen Tag " gebratenes Gemüse Okamochi **" auf den neuen ** Tisch (vorläufig) ** legen.

Daher werden Kubernetes und die Cloud oft gleichzeitig verwendet (glaube ich).

Am Ende

Wie war das. Dieser Artikel wird in unserem Unternehmen in letzter Zeit häufig als ** Kubernetes! Kubernetes! ** bezeichnet, und der Abschnitt, in dem große Senioren, die keine Entwickler sind, denken: "Was ist ** Kubernetes ** ..." Ich schrieb es mit der Hoffnung, dass es für diese Leute einfacher sein würde, es sich vorzustellen.

Ich habe es mit viel Schwung geschrieben. Ich trinke ehrlich Wenn es also zu viele Kritikpunkte gibt, kann ich sie löschen, weil ich ruhig war

Vielen Dank, dass Sie so weit gelesen haben, sowohl im Kaninchen als auch in der Ecke.

Recommended Posts

Ich habe versucht, die Infrastrukturtechnologie der Ingenieure heutzutage mit dem Kochen zu vergleichen.
Ich habe versucht, die Geschwindigkeit von Graal VM mit JMH zu messen und zu vergleichen
Ich habe versucht, das Problem der "mehrstufigen Auswahl" mit Ruby zu lösen
Ich habe versucht, mit Docker eine Plant UML Server-Umgebung zu erstellen
Ich habe versucht, den Betrieb des gRPC-Servers mit grpcurl zu überprüfen
Ich habe versucht, den Zugriff von Lambda → Athena mit AWS X-Ray zu visualisieren
05. Ich habe versucht, die Quelle von Spring Boot zu löschen
Ich habe versucht, die Kapazität von Spring Boot zu reduzieren
Ich habe versucht, den Betrieb der http-Anfrage (Put) mit dem Talented API Tester zu überprüfen
Ich habe versucht, den Mechanismus von Emscripten mit einem deutschen Löser zu untersuchen
Ich habe versucht, die Verarbeitungsgeschwindigkeit mit spiritueller Technik zu erhöhen
Ich habe versucht, die Grundlagen von Kotlin und Java zusammenzufassen
Ich habe die grundlegende Grammatik von Ruby kurz zusammengefasst
Ich habe versucht, eine Umgebung mit WSL2 + Docker + VSCode zu erstellen
Stellen Sie sicher, dass Sie das Java compareTo-Ergebnis mit 0 vergleichen
Ich habe versucht, mit Java zu interagieren
Ich habe versucht, die Methode zu erklären
Ich habe versucht, die Bildvorschau mit Rails / jQuery zu implementieren
Ich habe versucht, die Methoden von Java String und StringBuilder zusammenzufassen
Ich habe versucht, das Problem des Google Tech Dev Guide zu lösen
Ich habe versucht, die Ergebnisse vor und nach der Date-Klasse mit einer geraden Zahl auszudrücken
Ich habe versucht, die verwendeten Methoden zusammenzufassen
Ich habe versucht, mit Web Assembly zu beginnen
Ich habe versucht, die wichtigsten Punkte des gRPC-Designs und der Entwicklung zusammenzufassen
Ich habe versucht, das Iterator-Muster zu implementieren
Ich habe versucht, das Problem der Tribonacci-Sequenz in Ruby mit Wiederholung zu lösen.
Ich habe versucht, die Stream-API zusammenzufassen
Ich habe versucht, den CPU-Kern mit Ruby voll auszunutzen
Immerhin wollte ich den Inhalt von MySQL mit Docker in der Vorschau anzeigen ...
Java-Ingenieure im Vergleich zum Erlernen der grundlegenden Grammatik von Ruby jetzt Teil 1 (Basic, Variablen)
Ich habe versucht, mit HCE-F von Android eine Funktion zu implementieren, die Felica Lite entspricht
Was ich versucht habe, als ich alle Felder einer Bohne bekommen wollte
Ich habe versucht, eine Webanwendung voller Fehler mit Spring Boot zu klonen
Ich habe versucht, AdoptOpenJDK 11 (11.0.2) mit dem Docker-Image zu überprüfen
Ich habe versucht, eine Standardauthentifizierung mit Java durchzuführen
Ich habe versucht, die Federbeinkonfiguration mit Coggle zu verwalten
[Rails] Ich habe versucht, die Version von Rails von 5.0 auf 5.2 zu erhöhen
Ich habe versucht, Anmeldeinformationen mit JMX zu verwalten
C # (Grund der Kapselung)
Ich möchte den Inhalt der Absicht var_dump
Ich habe versucht, Tomcat so einzustellen, dass das Servlet ausgeführt wird.
Ich habe versucht, den Profiler von IntelliJ IDEA zu verwenden
Ich habe versucht, den Block mit Java zu brechen (1)
Ich habe die Anzahl der Taxis mit Ruby überprüft
Sazae's Janken Ich habe versucht, den theoretischen Wert und den gemessenen Wert der Wahrscheinlichkeit derselben Hand 5 Mal hintereinander mit Ruby zu überprüfen
Ich habe versucht, ein Tool zum Vergleichen von Amazon-Produktpreisen auf der ganzen Welt mit Java, der Amazon Product Advertising API und der Currency API (29.01.2017) zu erstellen.
Java-Ingenieure vergleichen nun, um die grundlegende Grammatik von Ruby Teil 2 (Klassen, Methoden) zu lernen.