Skip to main navigation Skip to main content Skip to page footer

Devcontainer: Softwareentwicklung unabhängig von Ort und Gerät

| | C - Wachstum | Development | 5

Moderne Mechanismen zur Standardisierung der Entwicklungsumgebung im Team bieten viele Vorteile im Hinblick auf Effizienz, Effektivität und Flexibilität.

Das Aufsetzen einer Entwicklungsumgebung ist immer eine Wissenschaft für sich, die auch gern die "Stille-Post-Problematik" mit sich bringt. Ein Team muss sich, wenn es gemeinsam ein Produkt oder Modul weiterentwickeln will, auf teamweite Standards einigen. Meist ist es auch gezwungen, firmenweite Standards und regulatorische Vorgaben einzuhalten.

Development Containers verlagern die Entwicklungsumgebung in Container. Softwaredefiniert und zusammen mit dem zu entwickelnden Code in einer Versionshaltung abgelegt, steht diese Umgebung somit jedem mit Zugriff auf den Programmcode automatisch nutzbar zur Verfügung.

Durch Nutzung von Containern als Laufzeitumgebung eigenen sich prinzipiell beliebige Containerumgebungen, beginnend mit Docker und dessen kompatiblen Derivaten, über Kubernetes bis hin zu Cloudprovidern (AWS, Azure, GCloud, etc.) zur Verfügung. Das Betriebssystem des Entwicklersystems muss damit nicht mehr zwingend die Zielplattform abbilden.

Seitens des Entwickler-PCs wird im Grunde nur noch eine IDE (Integrated Development Environment, z.b. Visual Studio Code, IntelliJ, PHPStorm, etc.) benötigt, die Remote Development unterstützt. Natürlich ist die Realität nicht ganz so einfach und klar. Der Devcontainer-Standard existiert zwar bereits einige Zeit, bei der Unterstützung dieses Standards bildeten sich jedoch verschiedene Implementierungen / Provider heraus (ohne Anspruch auf Vollständigkeit):

  • Github Codespaces
    Microsoft als Treiber des Devcontainer-Standards sowie Anbieter von Visual Studio Code und Github bietet m.E. die beste Integration seiner Tools mit dem Standard. Wird ein Repository in Github gehostet und mit Devcontainer-Dateien angereichert, kann eine Entwicklung direkt über Github Codespaces auf Containern von Github erfolgen. Es stehen sogar unterschiedlich stark dimensionierte Containerconfigurationen (mehr CPU oder RAM) zur Verfügung. Als IDE kann direkt mit Visual Studio Code im Browser oder lokal installiert genutzt werden. Andere IDEs, wie z.B. die Produkte von Jetbrains über das Jetbrains Gateway können ggf. über SSH-Verbindung auf gestartete Codespaces zugreifen. Diese Website wird komplett über Github Codespaces entwickelt.
  • Ona
    Der Dienst hieß früher Gitpod und wurde nun deutlich mit zusätzlichen Dienstmerkmalen, wie z.B. künstlicher Intelligenz, angereichert.
  • Coder
    Die Software dieses Cloudangebots steht auch als OpenSource zur Verfügung und kann damit auf eigener Infrastruktur eingerichtet werden.
  • Devpod
    Diese OpenSource-Lösung nimmt insofern eine Sonderposition ein, als dass sie nicht nur die Nutzung verschiedener Cloudprovider unterstützt. Sie bietet zudem die Möglichkeit, das Devcontainer-Konzept sehr flexibel lokal auf dem eigenen PC zu nutzen, u.a.: 

    • Docker
      • Docker Desktop
      • Docker in WSL
    • Rancher Desktop
    • Kubernetes mit Minikube


    Damit steigen zwar wieder die Anforderungen an die PC-Hardware, die softwaredefinierte Entwicklungsumgebung kann aber dennoch genutzt werden.

Zurück