So werden Sie in sechs Monaten oder noch schneller DevOps-Ingenieur. Teil 3. Versionen

So werden Sie in sechs Monaten oder noch schneller DevOps-Ingenieur. Teil 1. Einführung
So werden Sie in sechs Monaten oder noch schneller DevOps-Ingenieur. Teil 2. Konfiguration



Aktualisieren Sie den Speicher


Im ersten Teil sprachen wir über die Kultur und die Ziele von DevOps, im zweiten Teil darüber, wie die Grundlage für zukünftige Codebereitstellungen mit Terraform gelegt werden kann, das selbst Code ist. Im dritten Teil werden wir diskutieren, wie all diese Teile des Codes vor völligem Durcheinander geschützt werden können. Spoiler: Alles dreht sich um Git!

Bonus: Wir werden auch darüber sprechen, wie Sie mit demselben Git Ihre eigene Marke erstellen und bewerben können. Das Bild zeigt, wo wir jetzt sind.



Warum sich damit beschäftigen?


Was ist mit Versionierung gemeint? Stellen Sie sich vor, Sie arbeiten an einer Software und nehmen ständig Änderungen daran vor, indem Sie nach Bedarf Funktionen hinzufügen oder entfernen. Oft ist die letzte Änderung eine grundlegende Änderung, die alles zerstört, was früher geschaffen wurde. Wenn Sie ein Vertreter einer alten Schule sind, werden Sie wahrscheinlich Ihre erste Datei awesome_code.p1 benennen.

Dann nehmen Sie Änderungen vor und müssen speichern, was funktioniert, falls Sie darauf zurückgreifen müssen. Daher benennen Sie Ihre Datei wie folgt um: awesome_code.12.25.2018.p1.

Alles funktioniert einwandfrei, bis Sie am selben Tag einige Änderungen vornehmen und die neue Datei awesome_code.GOOD.12.25.2018.p1 benennen müssen. Und mach weiter so.

In einem professionellen Umfeld arbeiten höchstwahrscheinlich mehrere Teams in derselben Codebasis zusammen, was dieses Modell weiter verletzt. Unnötig zu erwähnen, dass dieser verrückte Zug schnell entgleist.

Versionskontrollsystem zur Quellcodeverwaltung





Verwenden Sie das SCC-Versionskontrollsystem. Auf diese Weise können Sie Ihre Dateien an einem zentralen Ort speichern, an dem mehrere Teams auf einer gemeinsamen Codebasis zusammenarbeiten können. Diese Idee ist nicht neu. Die früheste Erwähnung des SCC-Systems, das ich gefunden habe, stammt aus dem Jahr 1972. Daher ist die Idee, dass wir unseren Code an einem Ort zentralisieren sollten, definitiv veraltet.

Die Idee, dass alle produzierten Artefakte versioniert werden sollten, ist jedoch relativ neu. Dies bedeutet, dass alles, was mit Ihrer Produktionsumgebung zu tun hat, im Versionskontrollsystem gespeichert werden sollte, vorbehaltlich der Verfolgung, Überprüfung und Aufzeichnung des Änderungsverlaufs.

Darüber hinaus führt die Anwendung des Gesetzes „Alle Produktartefakte müssen versioniert werden“ dazu, dass Sie Probleme nach dem Prinzip „Automatisierung zuerst“ angehen.

Wenn Sie beispielsweise einfach auf ein komplexes Problem in Ihrer AWS-Entwicklungsumgebung klicken, können Sie innehalten und überlegen: "Ist dies ein Klick auf ein versioniertes Artefakt?" Die Antwort

lautet natürlich "Nein". Obwohl es üblich ist, schnelle Prototypen über die Benutzeroberfläche zu erstellen, um festzustellen, ob etwas funktioniert oder nicht, ist Ihre Arbeit nur von kurzer Dauer. Wenn Sie also vielversprechende und zeitaufwändige Arbeiten ausführen, sollten Sie dies unbedingt tun Denken Sie daran, dass Sie versionierte Artefakte verwalten und über das Git-Repository speichern müssen, um sie in Terraform oder einem anderen Tool für die Infrastruktur als Code zu speichern.

Git-Repository


Vor Git war die Verwendung von SCCS wie SVN umständlich, nicht benutzerfreundlich und im Allgemeinen eine ziemlich schmerzhafte Erfahrung. Der Unterschied zu Git besteht darin, dass es eine verteilte Versionskontrolle bietet. Einfach ausgedrückt, Sie blockieren keine anderen Benutzer des zentralen Quellcode-Repositorys, während Sie an Ihren Änderungen arbeiten, sondern arbeiten mit einer vollständigen Kopie der Codebasis. Nach Abschluss Ihrer Arbeit wird diese Kopie in das Master-Repository eingebettet.

Beachten Sie, dass dies eine grobe Vereinfachung der Funktionsweise darstellt. Eine solche Beschreibung ist für die Zwecke dieses Artikels ausreichend. Eine detaillierte Kenntnis von Git ist jedoch eine mühsame, aber lohnende Erfahrung.



Denken Sie vorerst daran, dass Git nicht wie SVN funktioniert. Dies ist ein verteiltes Quellcode-Verwaltungssystem (Version), in dem mehrere Entwicklungsteams sicher und zuverlässig auf einer gemeinsamen Codebasis arbeiten können.

Warum musst du das wissen?


Ich bestätige nachdrücklich, dass Sie niemals ein professioneller DevOps (Cloud) -Ingenieur werden werden, ohne zu wissen, wie Git funktioniert. Wie lerne ich es? Beachten Sie, dass ein Google-Suchergebnis für "Git Tutorial" normalerweise Links zu extrem aufgeblähten und verwirrenden Tutorials enthält. Trotzdem stoßen einige wirklich vernünftige Lehrbücher auf sie.

Eine solche Reihe von Tutorials, die ich jedem empfehlen kann, um sie zu lesen, zu studieren und in der Praxis anzuwenden, sind die Git-Tutorials von Atlassian . Sie sind alle gut genug, aber ein Abschnitt, Git Workflows , der die Workflows dieses Repositorys beschreibt, wird von professionellen Programmierern auf der ganzen Welt verwendet.

Ein weiteres wirklich gutes Tutorial befasst sich mit der Verzweigung des Learn Git Branching-Repositorys. Atlassian-Tutorials basieren auf dem Prinzip „Lesen und Lernen“, und Learn Git Branching ist ein interaktives Tutorial. In jedem Fall werden Sie beim Erlernen von DevOps nur dann weit kommen, wenn Sie verstehen, wie dieses Repository funktioniert.



Ich stelle fest, dass 99% der Bewerber für die Kandidatur des DevOps-Entwicklungsingenieurs während eines Interviews ertrinken, weil sie nicht verstehen, wie die Git-Verzweigungsfunktion funktioniert, oder wenn sie nicht erklären können, was Gitflow ist. Dies ist der entscheidende Punkt - Sie können zu einem Vorstellungsgespräch kommen und Terraform oder ein anderes modernes Tool für die Infrastruktur als Code nicht kennen. Dies ist normal, da Sie es dabei studieren können. Die Unkenntnis der Arbeit von Git zeigt jedoch, dass Ihnen die Grundlagen moderner Best Practices in der Softwareentwicklung fehlen. Es spielt keine Rolle, ob es sich um DevOps handelt oder nicht. Dies signalisiert den Personalchefs, dass Ihre Lernkurve zu ungleichmäßig ist.

Umgekehrt sagt Ihre Fähigkeit, sicher über die Best Practices von Git zu sprechen, den Einstellungsmanagern, dass Sie die Installation für die Softwareentwicklung zuerst erstellt haben, und dies ist genau das Image, das Sie projizieren möchten. Fazit: Sie müssen nicht der weltweit führende Git-Experte werden, um diesen großartigen DevOps-Job zu bekommen, aber Sie müssen Git eine Weile leben und atmen, um sicher darüber zu sprechen, was damit passiert. Um dies zu tun, sollten Sie mindestens ein gutes Verständnis dafür haben, wie Sie Folgendes tun:

  • Erstellen Sie eine Kopie des Repositorys (Fork a Repo).
  • Erstellen Sie einen Git-Zweig
  • Synchronisieren Sie den Stream mit dem Repository und umgekehrt.
  • Erstellen Sie eine Pull-Anfrage.

Was weiter?


Wenn Sie die Einführungslektionen in Git gelernt haben, erstellen Sie einen Account bei GitHub. Dies ist das am häufigsten verwendete Open-Source-Git-Repository, und Sie werden wahrscheinlich mit den anderen Followern von Git zusammen sein wollen.

Sobald Sie Ihr Konto bei GitHub haben, geben Sie Ihren Code ein. Korrigieren Sie alles, was Sie zum Schreiben von Code während der Arbeit an GitHub benötigen. Dies vermittelt nicht nur eine gute Disziplin im Umgang mit Versionen, sondern hilft Ihnen auch beim Erstellen Ihrer eigenen Marke.

Hinweis: Wenn Sie die Verwendung von git + GitHub untersuchen, achten Sie besonders auf Pull Request (oder PRs, wenn Sie cool sein möchten).

Die Marke


Apropos Steilheit: Eigenmarke ist eine Möglichkeit, der Welt zu demonstrieren, wozu Sie in der Lage sind. Eine Möglichkeit (dies ist derzeit eine der besten Möglichkeiten!) Besteht darin, GitHub als Proxy für Ihre Marke fest zu binden. Fast alle Arbeitgeber werden heutzutage auf die eine oder andere Weise danach fragen. Daher sollten Sie sich bemühen, ein ordentliches, sorgfältig überwachtes GitHub-Konto zu haben. Dies ist etwas, auf das Sie Ihren Lebenslauf setzen und auf das Sie stolz sein können.



In den folgenden Artikeln werde ich Ihnen zeigen, wie Sie mit dem statischen Hugo-Site-Generator eine einfache, aber coole Site auf GitHub erstellen. Es ist in Go geschrieben und vielleicht heute das schnellste unter den Analoga. Hugo sammelt in 6 Sekunden etwa 5.000 Seiten, was der 75-fachen Geschwindigkeit von Middleman entspricht. Aber jetzt müssen Sie nur Ihren Code auf GitHub setzen.
Wenn Sie später Erfahrung sammeln, sollten Sie über zwei GitHub-Konten nachdenken. Eine zum Speichern Ihrer eigenen schriftlichen Anwendung, Ihres Arbeitscodes und die andere zum Speichern des Codes, den Sie anderen anzeigen möchten.

Also fassen wir das Obige zusammen:

  • lerne git;
  • Poste auf GitHub alles, was du lernst
  • Verwenden Sie zwei Konten, um alles zu speichern und zu demonstrieren, was Sie gelernt haben, um davon
    zu profitieren!

Ergebnisse


Bleiben Sie über die neuesten Entwicklungen in diesem Bereich wie GitOps auf dem Laufenden. GitOps bringt alle Ideen, die wir bisher besprochen haben, auf eine neue Ebene, wo alles mit Git, Pull-Anforderungen und Bereitstellungs-Pipelines erledigt wird.

Bitte beachten Sie, dass GitOps und ähnliche Entwicklungen über die geschäftliche Seite der Dinge sprechen, dh darauf hinweisen, dass Sie Git nicht nur verwenden, weil es cool und modisch ist. Sie nutzen es, um geschäftliche Flexibilität zu gewährleisten, Innovationen zu beschleunigen und schnellere Funktionen bereitzustellen, um letztendlich mehr Geld zu verdienen!

So werden Sie in sechs Monaten oder noch schneller DevOps-Ingenieur. Teil 4. Software-Verpackung

Ein bisschen Werbung :)


Vielen Dank für Ihren Aufenthalt bei uns. Gefällt dir unser Artikel? Möchten Sie weitere interessante Materialien sehen? Unterstützen Sie uns, indem Sie eine Bestellung aufgeben oder Ihren Freunden Cloud-basiertes VPS für Entwickler ab 4,99 US-Dollar empfehlen , ein einzigartiges Analogon von Einstiegsservern, das von uns für Sie erfunden wurde: Die ganze Wahrheit über VPS (KVM) E5-2697 v3 (6 Kerne) 10 GB DDR4 480 GB SSD 1 Gbit / s ab 19 $ oder wie teilt man den Server? (Optionen sind mit RAID1 und RAID10, bis zu 24 Kernen und bis zu 40 GB DDR4 verfügbar).

Dell R730xd 2-mal günstiger im Equinix Tier IV-Rechenzentrum in Amsterdam? Nur wir haben 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2,6 GHz 14C 64 GB DDR4 4 x 960 GB SSD 1 Gbit / s 100 TV von 199 US-Dollar in den Niederlanden!Dell R420 - 2x E5-2430 2,2 GHz 6C 128 GB DDR3 2x960 GB SSD 1 Gbit / s 100 TB - ab 99 US-Dollar! Lesen Sie, wie Sie eine Infrastruktur aufbauen Klasse C mit Dell R730xd E5-2650 v4-Servern für 9.000 Euro für einen Cent?

All Articles