Challenge accepted

Remote-Development mit Visual Studio Code

von Chiara
authorImage
Challenge accepted: Remote-Development mit Visual Studio Code
Mit VSCode kann die Entwicklung ganz einfach auf Linux-Server in der Cloud ausgelagert werden. Damit wird die Developer-Experience (DX) bei der Arbeit mit Docker deutlich gesteigert. Ein Grund, der nahezu alle unsere Entwickler:innen dazu bewegt hat, auf dieses Entwicklungsmodell umzustellen. Wie es dazu kam? Das haben wir unseren Geschäftsführer und Ideengeber Maik gefragt!

Hi Maik! Erzähl mal, wie kam es dazu, dass du als Erster zum Remote-Development mit VSCode übergegangen bist?

Not macht erfinderisch!

Im Jahr 2020 kamen zwei unglückliche Umstände zusammen: Corona und eine angespannte Personalsituation zu Beginn eines neuen Projekts, also bin ich kurzerhand selbst wieder in die Entwicklung eingestiegen.

Was hat dich dann letztendlich dazu bewegt VS Code in der Remote Entwicklung einzusetzen?

Die ständigen Probleme mit Docker4Mac! Wir arbeiten schon sehr lange mit Docker, was unsere Deployments unter Linux angeht, aber in der Entwicklung den bei uns üblichen Macs hat sich das nicht so richtig durchgesetzt!

Veranschaulichendes Bild im Blogeintrag

...also nicht so optimal für die Entwicklung?

Nicht wirklich. Ich selbst bin ein großer Fan von Docker sowie einer perfekten Developer Experience. Eine gute DX heisst für mich: keine Wartezeiten, manuelle Handgriffe oder sonstige Frustmomente beim Ändern von Code, damit ich sofort sehen kann, was meine Änderungen bewirken. Also war meine Mission klar: Es muss doch möglich sein, ein reibungsfreies Setup mit Docker auch für die Entwicklung aufzusetzen.

Also war meine Mission klar: Es muss doch möglich sein, ein reibungsfreies Setup mit Docker auch für die Entwicklung aufzusetzen.
Maik Jablonski
Geschäftsführer

Und die war?!

Docker unter Linux: absolut keine Probleme! Auffällig war, dass alle Kolleg:innen, die unter Linux mit Docker arbeiteten, niemals über Probleme bei der lokalen Entwicklung geklagt haben. Das hat meinen Verdacht bestätigt, dass das Grundübel in Docker4Mac liegt, aber nicht in Docker selbst.

Was war am Ende die Rettung?

Remote-VSCoding zwischen Mac und Linux! Eher zufällig entdeckte ich die Möglichkeit in VSCode remote zu arbeiten. Auf dem “remote System” wird automatisch ein VSCode-Server installiert, der dort die eigentliche Arbeit macht und das lokale VSCode auf dem Mac funktioniert praktisch wie ein Browser auf diesem Server. Dabei werden nur minimale Datenpakete zwischen dem Server- und dem lokalen VSCode ausgetauscht, so dass weiterhin alles flüssig funktioniert…genauso wie wenn man lokal arbeiten würde.

Eher zufällig entdeckte ich die Möglichkeit in VSCode remote zu arbeiten.
Maik Jablonski
Geschäftsführer

Welche weiteren Vorteile ergeben sich aus dem remote VSCoding?

Die Anwendungen laufen unter einem nativen Docker auf einem Linux-System rasend schnell. Es entfällt einfach eine ansonsten notwendige “Zwischenvirtualisierung”, die andernfalls erheblich Ressourcen verbraucht.

Der Lüfter meines Macbooks springt gar nicht mehr an, weil die schwere Arbeit irgendwo in einem Rechenzentrum auf einem dafür optimierten Server ausgeführt wird.

Die ständigen Probleme mit gemounteten Host-Verzeichnissen in dem “doppelt-virtualisierten” Docker auf dem Mac: mal wurden Dateiänderungen im Docker sichtbar, mal nicht.

Es gibt auch eine lange Historie von ungelösten Bugs für diese Art von Problemen bei Docker4Mac…

Auf meinem Macbook gibt es außer der gängigen Business-Software und dem VSCode keinerlei Entwicklersoftware mehr. Das macht den Wechsel zwischen Rechnern deutlich einfacher.

Von dem Moment an verbreitete sich dieses Setup wie ein Lauffeuer durch die Agentur. So haben mittlerweile fast alle unserer Entwickler:innen auf Remote-Development mit VSCode umgestellt. Einzig die Kolleg:innen, die mit ihrem Herz noch an IntelliJ oder Webstorm hängen, tun sich mit dem Umstieg noch etwas schwer…Ein netter Nebeneffekt: alle Kolleg:innen sind jetzt auf sanfte Weise gezwungen, sich auch etwas mit Linux auseinanderzusetzen - für mich eine Basiskompetenz für alle professionelle:n Software-Entwickler:innen.

Klingt nach einer Erfolgsstory! Was sagst du Leuten mit Bedenken gegen Remote-Development

Kosten sind sicher ein Argument, dass relativiert sich aber schnell: wir zahlen für einen Remote-Server ca. 200 Euro / Jahr pro Entwickler:in, dass ist im Vergleich zum Wettrüsten in Bezug auf immer leistungsfähigere Macbooks auf Dauer ein sehr günstiger Preis. 

Das zweite Gegenargument: Was ist, wenn kein Internet da ist? Da die ausgetauschte Datenmenge zwischen Macbook und Server sehr gering ist, kann man selbst per Tethering mit Smartphones problemlos arbeiten. Und wenn das dann auch nicht geht: dann am Besten ein gutes Buch lesen! Es dürfte heute nur noch wenige EntwicklerInnen geben, die ganz ohne Internet sinnvoll an einem Projekt arbeiten können.

Alles in allem also eine echte Erfolgsstory!

VS Remote: https://code.visualstudio.com/docs/remote/remote-overview

Zurück zur Blogübersicht