Das optimale DevOps Tooling

Es scheint eine banale Sache zu sein, aber ich habe relativ viel Zeit für die Suche der für mich besten Tools verwendet. Nachfolgend möchte ich einen kleinen Einblick in meine DevOps Entwicklungsumgebung geben.

Betriebssystem

Ich verwende, wie wahrscheinlich einige von euch, mehrere Laptops und einen festen PC. Der feste PC besitzt 2 installierte Betriebssysteme.

Windows 10 HomeKubuntu 20.04 LTS
OfficeHauptsystem für DevOps Entwicklung
WSL und WSL2 EntwicklungNative Unterstützung für Docker
PowerShell Entwicklung
Cross Plattform testen

Für den DevOps und Softwareentwicklungsteil bin ich hauptsächlich im Ubuntu System unterwegs. Hier funktionieren viele Tools nativ und benötigen keiner weiteren Virtualisierung. Weiterhin laufen ja auch die meisten Zielsysteme mit einem Linux System. Das Windows wird für Office Dokumentationen und zum Teil für das Testen von Cross Plattform genutzt. Auch für die Entwicklung auf der WSL und mit PowerShell ist Windows das System der Wahl.

Code Editor

Seit ein paar Jahren hat sich ein Editor zum Platzhirsch erhoben und punktet durch einfache Bedienbarkeit, eine sehr große Extensions Auswahl und Cross Platform Fähigkeit: Microsoft Visual Studio Code.

Damit gelingt die Entwicklung in Scriptsprachen wie

  • Python
  • Ruby
  • Powershell
  • Powershell Core
  • Bash

Oder in Beschreibungssprachen wie

  • YAML
  • HTML

Oder auch in Hochsprachen wie

  • C++
  • C
  • C#
  • Java

Um nur ein paar Beispiele zu nennen. Die Integration der dafür benötigten Interpreter oder Compiler gelingt dabei meist sehr gut und die Unterstützung durch weitere nützliche Erweiterungen, wie Code Templates oder Auto Formatter, hilft beim Arbeitsfluss ungemein.

Eine detailliert Auseinandersetzung mit Visual Studio Code wird später noch folgen.

Code Repository

Wie es sehr viele machen, habe ich derzeit noch die meisten Projekte auf Github gehostet. Das ist super einfach und schnell eingerichtet. Man kann von jedem Client, der GIT installiert hat auf seine Repositories zugreifen.

Allerdings stelle ich aus Gründen der Integration mit anderen Tools und auch der Möglichkeit, viele private Repositories, ohne Mehrkosten zu haben, derzeit auf Azure DevOps um.

Hier hat man neben dem Repository mit der Code Basis, alle DevOps Tools beisammen

  • Ein Board für die Work Items (Tasks)
  • Eine Möglichkeit zur Erstellung von Sprints
  • Pipelines für das Deployment
  • Erstellen und Ausführen von Test Plänen
  • Speicher von generierten Artefakten für das Deployment

Und wenn die Aufgaben doch größer und größer werden, kann man hier auch einfach weitere Entwickler in seinen Space berechtigen (Microsoft Account vorausgesetzt).

Lokale Container Entwicklung

Um lokal Container bauen zu können, braucht man natürlich erst einmal eine Container Runtime. Die aktuell verbreitetste ist immer noch Docker. Andere Runtimes sind hier auf den Vormarsch. Man sollte ebenfalls einen Blick auf Podman und cri-o werfen.

Ich habe aktuell Docker installiert, in der Version 19.03. Die anderen Runtimes sind nahezu 100% mit der Docker Beschreibungssprache kompatibel.

Um das ganze, wie in der freien Wildbahn, mit einem Kubernetes Cluster zu testen, bedient man sich am besten Minikube.

Somit besitzt man eine vollständige Entwicklungsumgebung für Container und Kubernetes.

Hinterlasse einen Kommentar