Warum brauchen Sie Terraform? Artikel und Schulungsvideo / Sudo Null IT News

Hallo zusammen. Mein Name ist Victor und ich bin ein DevOps-Ingenieur im Nixys-Team. Wir haben uns entschieden, ein Tutorial-Video zu veröffentlichen, das für Neulinge in der Welt von DevOps nützlich sein wird. Das Thema des heutigen Tutorials lautet „Einführung in Terraform“. Außerdem werden wir unter dem Video die unserer Meinung nach wichtigsten Vorteile dieses Tools teilen.

Übrigens gibt es eine kleine Geschichte darüber, warum wir uns überhaupt entschieden haben, Videos zu posten. Vor einiger Zeit haben wir einige Trainingsvideos für den internen Gebrauch gedreht, die wir auf YouTube hatten – zum Zeitpunkt des Schreibens hatten wir 7 Videos: 5 für Juni und 2 für Mitte. Und einmal teilte einer der Typen, die ich kannte, mit uns, dass er laut unseren Schulungsvideos (die, wie wir eigentlich dachten, im PRIVAT-Modus waren) eine Testaufgabe in einem der IT-Unternehmen erledigte. Dank dieser blinden Chance haben wir festgestellt, dass die Anzahl der Aufrufe einiger Videos die Anzahl der Mitarbeiter des Unternehmens bei weitem übersteigt, was bedeutet, dass sie auch ohne unser Wissen einen gewissen Nutzen bringen. Also haben wir uns entschieden, unser Wissen gezielt mit einem breiteren Publikum zu teilen (wir sind es nicht gewohnt, gierig zu sein).

Also hier ist ein Video namens:

„DevOps mit Nixys | Einführung in Terraform – Tutorial für Anfänger Nr. 1“.

Bei der Erstellung eines Videos sind wir noch keine Zauberer, sondern lernen nur, es gibt einige Pfosten und Rauheiten, wir bitten Sie, diese nicht streng zu beurteilen, aber wir freuen uns über Ratschläge in den Kommentaren, was wir bei dem berücksichtigen sollten Zukunft.

Worum geht es in dem Video selbst?

Das Video demonstriert die Möglichkeiten eines speziellen Ansatzes zur Verwaltung Ihrer Infrastruktur im Code – Infrastruktur als Codeoder IaC. Wie der Name schon sagt, ist dies ein Ansatz zur Verwaltung und Beschreibung Ihrer Infrastruktur durch Konfigurationsdateien und nicht durch manuelles Bearbeiten von Konfigurationen auf Servern oder interaktive Interaktion. Mit Hilfe des wunderbaren Terraform-Tools stellen wir eine kleine Cloud-Infrastruktur in Yandex Cloud bereit.

Heute zeigen wir nicht, wie man Code in Terraform korrekt schreibt, sondern demonstrieren nur einen Bruchteil seiner Möglichkeiten. Insbesondere haben wir ein Netzwerk und ein Subnetz bereitgestellt, in dem wir eine virtuelle Maschine erstellt haben, an die wir eine konfigurierte Sicherheitsgruppe angehängt und eine statische IP zugewiesen haben. In der VM selbst haben wir auch den primitivsten Webserver konfiguriert. Außerdem konfiguriert die Speicherung der Zustandsdatei terraform.tfstate im Objektspeicher.

Nun, wozu brauchen wir dieses Terraform von Ihnen?

Lassen Sie uns jetzt darüber sprechen, warum Terraform wichtig und notwendig ist, über seine Vorteile. Wir werden nicht im Detail beschreiben, was Terraform im Allgemeinen ist, da sie es vor langer Zeit für uns getan haben – es gibt viele nützliche Artikel zu Theorie und Praxis zu Habré. Lassen Sie uns auf die Zweckmäßigkeit seiner Verwendung eingehen.

  1. Geschwindigkeits- und Kostenreduzierung

    Das manuelle Anheben der Infrastruktur nimmt weniger Zeit in Anspruch, ja. Aber nur das allererste Mal. Benötigen Sie eine Testumgebung? Ja. Und was, gleich nochmal aufziehen? Es scheint kein Problem zu sein, aber lassen Sie uns rechnen:

    1) Gehen wir der Einfachheit halber von runden Zahlen aus (sehr bedingt). Lassen Sie die Kosten für eine Arbeitsstunde eines Ingenieurs = 1000 Rubel. Nehmen wir an, wir erhöhen die Infrastruktur mit unseren Händen = 100 Stunden. Erhöhen Sie die Entwicklungsumgebung = 0,75 * 100 (der Ingenieur hat es bereits in den Händen, und beim zweiten Mal wird er es schneller tun). Wenn Sie eine Stufe benötigen, multiplizieren Sie mit zwei: 2 * 0,75 * 100. Insgesamt wurden 250 Stunden und 250.000 Rubel für alle Umgebungen aufgewendet.

    2) Und jetzt stellen wir uns vor (wiederum bedingt), dass das Rechenzentrum gefallen ist und Sie für die gleiche Arbeit erneut 250.000 Rubel bezahlen müssen. Insgesamt müssen über 500.000 Rubel die gleichen 100 Stunden warten, um zumindest die Produktionsumgebung zu erhöhen, Daten hochzuladen und auszuführen.

    3) Bei der Verwendung von Terraform dauert die Zeit zum Aufbau der Infrastruktur je nach Erfahrung des Ingenieurs und der Komplexität der Infrastruktur selbst unterschiedlich, aber normalerweise ist es irgendwo X2, d.h. 200 Stunden plus die Kosten einer Arbeitsstunde für einen Ingenieur, der mit einem solchen Werkzeug umgehen kann, sind bereits höher – beispielsweise 1.500 Rubel. Um die Test- und Stage-Umgebung zu erhöhen, müssen Sie nur ein paar Variablen im Code ändern – und das war’s! Ich weiß nicht einmal, wie ich es berechnen soll, lassen Sie es 0,05 * 100 sein (dh 5 Stunden pro Umgebung). Insgesamt – 210 Stunden und 315.000 Rubel. Bisher nicht so zufrieden…

    4) Und wenn wir den Fall des Rechenzentrums noch einmal simulieren? Wir haben immer noch den Code, also dauert es ungefähr 6 Stunden, um die neue Infrastruktur aufzubauen, oder fast einen Arbeitstag. Außerdem wird die meiste Zeit damit verbracht, Daten aus Backups wiederherzustellen (natürlich können sie gigantisch groß sein und dann dauert es länger, aber dagegen ist nichts zu tun). Das Ergebnis sind 321.000 Rubel und ein Tag Ausfallzeit 🙂

    Ja, der Sturz des Rechenzentrums ist sicherlich nicht das häufigste Ereignis, aber erstens gab es Präzedenzfälle und zweitens gibt es viele andere Ereignisse und Aufgaben (z. B. jede Skalierung), deren Kosten erheblich geringer sind mit Terraform. Damit erhalten Sie eine vollständig transparente Infrastruktur, die es Ihnen ermöglicht, sie mithilfe von Code weiter zu verwalten, und dadurch werden fast alle nachfolgenden Arbeiten viel schneller und besser erledigt.

  2. Ausschluss des menschlichen Faktors.

    Nehmen wir an, unser Server ist abgestürzt. Okay, der Ingenieur hat es kürzlich angesprochen, es wird ihm leicht fallen, alles wiederherzustellen. Aber angenommen, es ist viel Zeit vergangen und dieser Ingenieur hat bereits alle Feinheiten vergessen oder noch schlimmer, er hat aufgehört. In all diesen Fällen wird es einige Zeit dauern, sich vertraut zu machen, eine Reihe von Versuchen und Irrtümern.

    Was ist mit Terraform? Dies ist sein Vorteil, wenn die Konfiguration korrekt geschrieben ist, dann ist das Ergebnis immer dasselbe, egal wie viel Zeit vergeht und wie oft Sie Terraform apply ausführen. Sie können den Server bedenkenlos neu erstellen und dort bei Bedarf ein frisches Backup hochladen. Ich spreche nicht von Fällen, in denen dem Rechenzentrum etwas passieren kann.

  3. Standardisierung

    IaC standardisiert Ihre Infrastrukturen vollständig, was die Wahrscheinlichkeit von Fehlern oder Abweichungen reduziert. Mit dem richtigen Ansatz und der Verwendung von Terraform wird fast jeder Ingenieur eine identische Infrastruktur in einer anderen Region aufbauen, indem er einfach einen Parameter in der Konfigurationsdatei ändert.

  4. Versionskontrolle

    Der Infrastructure-as-Code-Ansatz impliziert, dass die Infrastruktur in Form von Code gespeichert wird, sodass wir so etwas wie ein Versionskontrollsystem verwenden können, d.h. Mit IaC können Sie jede Konfigurationsänderung dokumentieren, protokollieren und nachverfolgen. Nun, nur ein Märchen!

Und in Erwartung deiner anderen Frage..

Warum dann nicht eine hochqualifizierte Person einstellen, um den Code zu schreiben? Warum Ihren Mitarbeiter unterstützen oder ein anderes Unternehmen für Escort bezahlen?

Hier ist alles einfach. Wenn Sie planen, Releases zu entwickeln und zu veröffentlichen, wird Ihre Last irgendwo zunehmen, irgendwo wird es notwendig sein, einen neuen Service einzuführen oder einen bestehenden zu aktualisieren, und ohne einen intelligenten DevOps-Ingenieur werden Sie Ihre Konfiguration einfach nicht beibehalten können auf dem neuesten Stand, und jede Neuerung führt zu einer Reihe von Fehlern. Infolgedessen müssen Sie sich immer noch an einen Spezialisten wenden, obwohl in diesem Fall wertvolle Zeit verloren gehen kann, und im ASAP-Modus können die Servicekosten sogar um eine Größenordnung höher sein.

Fazit

Unserer Meinung nach ist Terraform auf jeden Fall eine coole Sache. Ja – es wird erfahrenere DevOps erfordern, ja – es dauert am Anfang länger, die Infrastruktur zum Laufen zu bringen, aber es ist eine großartige Investition für die Zukunft.

Vielen Dank für Ihre Aufmerksamkeit.

PS: Abonnieren Sie unseren Telegram-Kanal Entwicklerwo wir Neuigkeiten aus der DevOps-Welt posten.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *