Ephemere Umgebung
Was ist eine ephemere Umgebung?
Wirft man Google an, um nach “ephemere Umgebung” zu suchen, ist die Ausbeute an Erklärungen mager. Im englischen Sprachraum sieht es anders aus: “Ephemeral Environments” liefert viele Treffer und einige Erklärungen. Scheinbar ist der Begriff im DACH-Raum noch nicht stark angekommen. Deshalb wollen wir in diesem Glossareintrag für die deutschsprachige IT-Welt eine Erklärung anbieten.
Die Definition von ephemere Entwicklungsumgebung
Ephemer bedeutet erstmal “flüchtig” oder “nur kurze Zeit bestehend”. Eine ephemere Entwicklungsumgebung ist demnach eine Umgebung, die so lange bestehen bleibt, wie sie benötigt wird. Sie kann beliebig oft hoch- und runtergefahren werden. Die Umgebung ist je nach Bedarf anpassbar. Der Grundgedanke ist also, dass es sich um für begrenzte Zeit erstellte Umgebungen handelt, die dann wieder gelöscht werden.
Oft wird von ephemeren Entwicklungsumgebungen gesprochen, wenn es ums Testen geht. Diese Einschränkung ist allerdings nicht hilfreich. Warum? Beispielsweise müssen auch Entwickler_innen eine Entwicklungsumgebung einrichten – in diesem Fall lokal – um arbeiten zu können. Dazu gehört nicht nur die IDE, sondern auch die zu entwickelnde Software.
Es handelt sich also um eine statische Arbeitsumgebung. Mit einer ephemeren Entwicklungsumgebung wird es möglich, Entwickler_innen eine passende, dynamisch erstellte Umgebung sofort zur Verfügung zu stellen.
Was sind die Charakteristiken von ephemeren Entwicklungsumgebungen?
- Automatisierung: Die Umgebung kann automatisiert und On-Demand erstellt werden.
- Laufzeit: Sie sollten nur eine kurze Zeit bestehen.
Was sind die Vorteile?
- Verschiedene Versionen schnell testen: Wenn verschiedene Softwareversionen zur Verfügung stehen, kann jedes Mal eine temporäre Umgebung erstellt werden. In dieser kann schnell gearbeitet und getestet werden, ohne langes Einrichten aller Komponenten. Beispiel: Bugfixing in einer alten Version – mit ephemeren Entwicklungsumgebungen kann direkt die passende Umgebung gestartet werden, ohne lokal etwas zu ändern.
- Flexibel: Jede_r Entwickler_in kann Änderungen in der ephemeren Umgebung vornehmen und sofort testen, ob Änderungen funktionieren. Ein unabhängiges Arbeiten ist möglich. Fehler können schnell erkannt und behoben werden. Das reduziert Probleme im späteren Verlauf und führt zu weniger Bugs.
- Frei von Altlasten: Sauber heißt, dass die Entwicklungsumgebung frei von unerwünschten Dingen ist. Es sind keine Codereste oä. vorhanden.
Was sind Nachteile?
- Ressourcen: Das Erstellen von ephemeren Umgebungen benötigt entsprechende Infrastruktur-Ressourcen.
- Zeitaufwand: Die erstmalige Einrichtung erfordert eine Einarbeitung. Die Einrichtung von Nicht-Automatisierten-Umgebungen ist allerdings auf Dauer aufwändiger.