SUS06-BP03 Höhere Auslastung von Entwicklungsumgebungen
Erhöhen Sie die Ausnutzung von Ressourcen zum Entwickeln, Testen und Erstellen Ihrer Workloads.
Typische Anti-Muster:
-
Sie stellen Ihre Build-Umgebungen manuell bereit oder beenden sie in dieser Weise.
-
Sie lassen Ihre Build-Umgebungen unabhängig von Test-, Build- oder Freigabeaktivitäten laufen (dazu gehört etwa der Betrieb einer Umgebung außerhalb der Arbeitszeit der Mitglieder Ihres Entwicklungsteams).
-
Sie stellen übermäßig viele Ressourcen für Ihre Build-Umgebung bereit.
Vorteile der Nutzung dieser bewährten Methode: Durch die Steigerung der Ausnutzung von Build-Umgebungen können Sie die allgemeine Effizienz Ihres Cloud-Workloads verbessern, da die Ressourcen in effizienter Weise Entwicklungs-, Test- und Build-Aktivitäten zugewiesen werden.
Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: niedrig
Implementierungsleitfaden
Verwenden Sie Automatisierung und „Infrastructure as Code“, um Build-Umgebungen in Betrieb zu nehmen, wenn sie gebraucht werden, und sie andernfalls zu deaktivieren. Eine typische Vorgehensweise besteht in der Planung von Verfügbarkeitszeiten, die mit den Arbeitszeiten der Entwicklungsteams übereinstimmen. Ihre Testumgebungen sollten der Produktionskonfiguration sehr stark ähneln. Suchen Sie aber nach Möglichkeiten, Instance-Typen mit Burst-Kapazität, Amazon EC2-Spot-Instances, automatisch skalierenden Datenbankservices, Containern und Serverless-Technologien zu verwenden, um die Entwicklungs- und Testkapazität an der Nutzung auszurichten. Begrenzen Sie das Datenvolumen auf die Testanforderungen. Wenn Sie Produktionsdaten für einen Test verwenden, sollten Sie nach Möglichkeiten suchen, Daten aus der Produktion gemeinsam zu nutzen, anstatt Daten hin- und herzuschieben.
Implementierungsschritte
-
Verwenden Sie „Infrastructure as Code“ zur Bereitstellung Ihrer Build-Umgebungen.
-
Nutzen Sie Automatisierungen, um den Lebenszyklus Ihrer Entwicklungs- und Testumgebungen zu verwalten und die Effizienz Ihrer Build-Ressourcen zu maximieren.
-
Verwenden Sie Strategien zur Maximierung der Nutzung von Entwicklungs- und Testumgebungen.
-
Verwenden Sie die geringstmögliche Zahl repräsentativer Umgebungen, um mögliche Verbesserungen zu entwickeln und zu testen.
-
Nutzen Sie nach Möglichkeit Serverless-Technologien.
-
Verwenden Sie On-Demand-Instances, um Entwicklergeräte zu ergänzen.
-
Verwenden Sie Instance-Typen mit Burst-Kapazität, Spot Instances und andere Technologien, um die Entwicklungskapazität an der Nutzung auszurichten.
-
Nutzen Sie native Cloud-Services für den sicheren Instance-Shell-Zugriff, statt Bastion-Host-Flotten bereitzustellen.
-
Skalieren Sie Ihre Build-Ressourcen automatisch je nach Build-Aktivität.
-
Ressourcen
Zugehörige Dokumente:
-
Amazon EC2 Burstable performance instances (Amazon EC2-Instances mit Spitzenlastleistung)
Zugehörige Videos:
-
Continuous Integration Best Practices
(Bewährte Methoden für die kontinuierliche Integration)