Letztes Update des Artikels: 16.05.2024
Der Trend zur Remote-Entwicklung hat zugenommen. Die Zusammenarbeit mit Freelancer_innen oder Mitarbeiter_innen in Telearbeit gehört zum Arbeitsalltag. Cloud-Dienste sind eine Schlüsseltechnologie, die dies möglich macht. COVID-19 hat den Trend zur Remote-Arbeit verstärkt. Unternehmen mussten sich schnell auf die Pandemie einstellen und neue Arbeitsregelungen einführen. IT-Teams mussten sich um die Sicherheit kümmern und sich mit neuen Tools für Remote-Development beschäftigen.
Remote-Development kann bedeuten,
- dass IDEs über die Cloud verwendet werden können.
- dass die lokale Entwicklungsumgebung durch eine Remote-Entwicklungsumgebung ersetzt wird.
Unternehmen wie Slack und Uber setzen bereits auf Remote Development Environments (Auch als Cloud Development Environments bezeichnet / Eine einheitliche Definition gibt es nicht – hier mehr dazu). Der Trend wird sich wahrscheinlich fortsetzen, weil immer mehr Unternehmen Telearbeit oder ein Hybrid-Modell einführen und Tools benötigen, um ihren Mitarbeiter_innen ein schnelles und unkompliziertes Entwickeln zu ermöglichen.
Welche Tools gibt es für den Einsatz von Remote Development Environments / Cloud Development Environments?
#1 Cloudomation DevStack
Cloudomation DevStack Cloud Development Environments (CDEs) sind vollwertig äquivalent mit lokalen Entwicklungsumgebungen. Komplexe Applikationen können direkt in der CDE betrieben werden. Der Source Code kann lokal gespiegelt werden, wodurch auch lokale IDEs verwendet werden können. So müssen Entwickler:innen bestehende Arbetsweisen nicht ändern, sondern arbeiten mit CDEs wie lokal – nur mit mehr Ressourcen und ohne Troubleshooting von lokalen Deployments.
Key Features:
- Keine Editor- / IDE-Einschränkung – Nutzung jeder IDE möglich, wie z. B. Visual Studio Code, Jetbrains mit und ohne ssh, Eclipse, WebIDEs uvm.
- Portforwarding zw. Workspace und der lokalen Maschine
- Betreiben der zu entwickelnden Software direkt in der CDE – auch mit komplexen, schwergewichtigen Applikationen möglich
- Self-hosted, managed on-prem oder SaaS verfügbar
- Cloud Development Environments als VM (kein Kubernetes erforderlich).
- Transparente, Python-basierte Automatisierung zur Erstellung von CDEs kann beliebig erweitert und angepasst werden
Website: https://cloudomation.com/devstack/
Preise: https://cloudomation.com/devstack/devstack-preise/
Kurzübersicht als PDF: Cloudomation DevStack Infoblatt
Whitepaper
Whitepaper: Full list of CDE vendors (+ feature comparison table)
Erhalten Sie eine detaillierte Darstellung, wie Cloud Development Environments funktionieren und vergleichen Sie alle Anbieter.
Zum Whitepaper#2 Gitpod
Gitpod ist eine Open-Source-Plattform für Entwickler_innen, über die Entwicklungsumgebungen automatisiert zur Verfügung gestellt werden.
Key Features:
- Cloud-Entwicklungsumgebung in einem Container aufsetzen
- Artefakte werden von einer zentralen Stelle aus erstellt
- Zusammenarbeit in einem Shared Workspace möglich
- GitHub, GitLab, Bitbucket Integration
Website: gitpod.io
Vergleich: Gitpod vs. Cloudomation
#3 Usenimbus
Edit 08.11.2023: Wir haben Nimbus angeschrieben und nach ihrem Produkt gefragt. Die Gründer teilten uns mit, dass Nimbus nicht mehr weiter entwickelt wird.
Nimbus will die Verwaltung von Entwicklungsumgebungen vereinfachen und die Verwaltung und Codierung in der Cloud zentralisieren.
Key Features:
Dedizierte InstanzTerraform IntegrationSSO / SAMLAWS Services Integration
Website: usenimbus.com
#4 Coder
Das Ziel von Coder ist, die Softwareentwicklung von lokalen Rechnern auf eine On-Premise- und Public-Cloud-Infrastruktur zu verlagern.
Key Features:
- Self Service
- Nutzung von Web IDEs, JetBrains Gateway und VS Code Remote
- Scheduling der Umgebungen (Start / Stop)
- Portforwarding zw. Workspace und der lokalen Maschine
- GitHub, GitLab, Bitbucket Integration
Website: coder.com
Vergleich: Coder vs. Cloudomation
#5 Github Codespaces
GitHub kennt wohl jede_r Entwickler_in. Der Name kommt von Git, dem bekannten Versionsverwaltungssystem. Codesapace ist eine Cloud-Entwicklungsumgebung.
Key Features:
- Dev-Container-Dateien fürs Repository konfigurieren, wodurch eine wiederholbare Codespace-Konfiguration entsteht
- Hosting in einem Docker-Container, der auf einer VM läuft
- Nutzung von Visual Studio Code, Jupyter, JetBrains (Web oder lokal)
- Browser-Vorschau und Portweiterleitung
Website: https://github.com/features/codespaces
#6 Gitlab Workspaces
GitLab ist eine Anwendung für die Versionsverwaltung auf Git-Basis. Das Unternehmen bietet weitere Funktionen für die Softwareentwicklung an. Im Jahr 2023 ist ein Remote Development Angebot angekündigt worden. Das Produkt „Workspaces“ ist jetzt im Ultimate und Enterprise Pricing verfügbar.
Key Features:
- Virtuelle Sandkastenumgebung für den Code in GitLab
- Isolierte Entwicklungsumgebungen für GitLab-Projekte erstellen und verwalten
- Jeder Workspace enthält individuelle Abhängigkeiten, Tools etc.
- GitLab agent muss konfiguriert werden
Website: https://docs.gitlab.com/ee/user/workspace/
#7 JetBrains Space
Update 2024-01-11: JetBrains Space hinzugefügt
JetBrains ist vor allem für seine beliebte IntelliJ IDE bekannt, die eine ssh-fähige IDE ist. Das bedeutet, dass Entwickler_innen einen IDE Thin Client lokal installieren, der sich über ssh mit einem IDE Backend verbindet. JetBrains Space ist das CDE-Produkt von JetBrains. Es handelt sich um einen Management-Layer, mit der Sie CDEs anpassen und verwalten können. Space- und IDE-Lizenzen müssen separat erworben werden.
Key Features:
- CDEs laufen als Container auf VMs (Zugriffsmöglichkeit nur auf Container)
- Der Container kann mit einem Dockerfile und devfile.yml angepasst werden
- Funktioniert nur mit JetBrains IDEs
Website: https://www.jetbrains.com/space/
Weitere Anbieter
Einen Überblick über weitere Tools / Anbieter wie beispielsweise
- Koding
- Red Hat Openshift
- Replit
- Codesandbox
- Stackblitz
- Okteto
- DevZero
- Microsoft Dev Box
- IDX by Google
- …
Fazit
Immer mehr Entwickler-Tools wandern in die Cloud. So auch die Entwicklungsumgebungen. Zu beachten ist, dass nicht jeder Anbieter mit dem Begriff „Cloud Development Environments“ bzw. “Remote Development Environments” dasselbe meint. Bei der Auswahl eines Tools ist es deshalb wichtig, die individuellen Anforderungen zu bewerten, um dann das richtige Tool auszuwählen. Wir bei Cloudomation wollen lokale Entwicklungsumgebungen durch CDEs obsolet machen. Sehen Sie sich jetzt Cloudomation DevStack an!
Jetzt den Cloudomation-Newsletter abonnieren
Werden Sie Cloudomation-Insider. Immer am Ende des Monats neue News zum Thema „Cloud Development Environments“ und „DevOps“ erhalten.