Wie entscheiden Sie bei dem riesigen Angebot an Cloud- und Automatisierungskenntnissen, was Sie lernen möchten? In früheren Artikeln haben wir die betrieblichen Änderungen besprochen, die private Clouds mit sich bringen, sowie die neue Art von Arbeit , die ein Betriebsteam im Cloud-Zeitalter leisten wird.
Für die meisten von uns bedeutet dies, dass wir einige neue allgemeine Konzepte und einige spezifische technische Fähigkeiten erlernen müssen. Wenn Sie Glück haben (oder Pech, je nach den Einzelheiten), wird die Suite an Automatisierungs- und Orchestrierungstools für Ihre Umgebungen entweder per Dekret oder durch allgemeine Übernahme bereitgestellt. In diesem Fall geht es normalerweise nur darum, die gewünschte Lernmethode zu finden, eine Art Labor- oder Testumgebung bereitzustellen (und hier kommen häufig die öffentlichen Cloud-Anbieter mit ihren „First-Hit-is-gratis“-Guthaben ins Spiel) und sich an die Arbeit zu machen.
Aber was ist, wenn Sie bei Null anfangen und entweder Ihr eigenes Automatisierungs-Toolset aufbauen oder es einfach nur lernen, weil Sie es in nicht allzu ferner Zukunft kommen sehen? Es ist toll, eine Auswahl zu haben, aber im Bereich Automatisierung gibt es sicher eine große Auswahl. Eine Möglichkeit, sich auf das zu konzentrieren, was Sie lernen sollten, besteht darin, den Text in größere Bereiche aufzuteilen.
Systeme zur Versionskontrolle des Quellcode . Es ist wichtig, Versionskontrollsysteme in den Griff zu bekommen, weil A) Sie beim Erstellen der Skripts und Tools, die Sie zum Erstellen der Schaltflächen benötigen, einen Ort brauchen, an dem Sie diese aufbewahren und die Versionskontrolle verwalten können, und B) Ihre Kollegen in den Entwicklungsteams oder DevOps-Gruppen diese Systeme verwenden werden. Der naheliegendste Ausgangspunkt ist hier Git/Github – obwohl natürlich auch viele andere Systeme verfügbar sind – von denen einige möglicherweise sogar besser zu Ihrer Organisation passen. Aber Git ist allgegenwärtig und ein portables Skillset.
Tools für kontinuierliche Integration/kontinuierliche Bereitstellung (CI/CD) . In vielen Fällen werden Änderungen und Bereitstellungen von einem Tool wie Jenkins verwaltet, das ein gutes Beispiel für eine CI/CD Application ist. Jenkins erstellt Bereitstellungspipelines, in denen Application in einem geordneten und automatisierten Workflow kompiliert, getestet und bereitgestellt werden kann. Die meisten CI/CD Applications sind durch die Verwendung von Plug-Ins erweiterbar, mit denen eine Vielzahl von Aktivitäten verwaltet werden können, darunter die Bereitstellung neuer Serverinstanzen oder die Konfiguration von Infrastrukturkomponenten.
Die für uns interessanten Tools, die in einem CI/CD-Workflow genutzt werden könnten, dienen in erster Linie der Automatisierung der Infrastruktur . Die Auswahl an Tools ist recht groß und jedes hat seine Stärken und Schwächen. Da F5 mit vielen dieser Anbieter gut zusammenarbeitet, werde ich keinen bestimmten empfehlen, es gibt jedoch zahlreiche gute Artikel, in denen die Unterschiede ausführlich erläutert werden. Ich rate Ihnen, mit der Aufgabe zu beginnen, die Ihnen, nachdem Sie sich ein wenig darüber informiert haben, am einfachsten erscheint. Das mag wie ein höchst subjektiver und unspezifischer Ratschlag klingen, aber jedes Gehirn ist anders, und wenn es keine triftigen Gründe dafür gibt, lohnt es sich, ein Dienstprogramm zu finden, mit dem Sie sich schnell vertraut machen können. Tools wie Ansible, Puppet, Chef, Salt oder Terraform sind alle gut dokumentiert und haben eine beträchtliche Benutzerbasis.
Abschließend – oder zunächst, wenn Sie dem letzten Abschnitt dieses Blogs Glauben schenken – möchten Sie sich wahrscheinlich mit einer grundlegenden Skriptsprache vertraut machen. Der klare Gewinner für die Netzwerkautomatisierung ist Python, da dafür SDKs von vielen wichtigen Anbietern oder Softwareprojekten verfügbar sind, darunter auch F5 .
Hier ist also ein kurzer Überblick über einige wichtige Automatisierungstechnologien, für deren Erlernen es sich vielleicht lohnt, etwas Zeit aufzuwenden. Nun, mehr als ein bisschen. Ich würde sagen, es liegen einige Monate Studium vor Ihnen, vorausgesetzt, Sie haben einen Tagesjob. Und zum Schluss: Mein Rat ist, mit dem letzten Punkt auf der Liste – Python – zu beginnen und von dort aus „upstream“ zu arbeiten. Wenn Sie verstehen, wie Tools programmgesteuert mit Ihren Komponenten kommunizieren, können Sie die Feinheiten beim Aufstieg im Stapel viel leichter erarbeiten und werden die Freuden der Quellcodeverwaltung wahrscheinlich auch viel mehr zu schätzen wissen, wenn Sie dort angekommen sind.