Cloud-Native Architecture and Pipeline Optimization for Built-Environment Data
Diese Forschung schlägt ein Cloud-natives Framework vor und evaluiert dieses, welches Containerisierung, Microservices und fortschrittliche Strategien zur Pipeline-Optimierung integriert, um die Skalierbarkeit, Effizienz und Resilienz der Verwaltung von Daten der gebauten Umwelt innerhalb von CI/CD-Pipelines zu verbessern.
Originalarbeit lizenziert unter CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
In der modernen Welt der Softwareentwicklung ist das Erstellen eines Programms kein einsamer Akt mehr, der auf einem einzelnen Computer durchgeführt wird. Es hat sich zu einer massiven, industriellen Operation entwickelt, bei der Code ständig zusammengestellt, getestet und rund um die Uhr an die Nutzer ausgeliefert wird. Dieser Prozess erzeugt eine riesige Menge digitaler Nebenprodukte: die fertigen Softwaredateien, die Aufzeichnungen darüber, was geändert wurde, und die Protokolle, die zeigen, wie lange jeder Schritt gedauert hat. Forscher nennen dies die „Built-Environment-Daten“. Wenn Unternehmen von Dutzenden von Ingenieuren auf Tausende wachsen, schwillt das Volumen dieser Daten oft an und überfordert die traditionellen Systeme, die für deren Verwaltung konzipiert wurden. Diese älteren Systeme wurden für statische, unveränderliche Umgebungen gebaut, ganz ähnlich wie eine Fabrik mit einer festen Anzahl von Maschinen, die niemals schlafen. Wenn die Nachfrage sprunghaft ansteigt, verstopfen diese Fabriken, was zu Verzögerungen führt und Geld verschwendet. Um dies zu lösen, haben Experten einen neuen Weg zur Organisation dieser digitalen Fabriken gefunden, der Softwarekomponenten wie tragbare Container behandelt, die je nach Bedarf sofort erstellt, bewegt und verworfen werden können. Dieser Ansatz, bekannt als Cloud-Native-Architektur, verspricht, den gesamten Prozess flexibel und effizient zu gestalten, erfordert jedoch eine neue Art des Managements, um wirklich zu funktionieren.
Jim Dorsey, ein Forscher an der Miami University of Science and Technology, untersuchte, wie man diese flexible, containerbasierte Architektur am besten mit spezifischen Strategien kombiniert, um den Erstellungsprozess zu beschleunigen. Die Kernfrage war, ob der bloße Wechsel zu einem modernen, cloudbasierten System ausreichte oder ob es mit klugen Tricks kombiniert werden musste, um den Arbeitsfluss zu steuern. Die Studie konzentrierte sich auf die „Pipeline“, die Abfolge von Schritten, die aus rohem Code ein fertiges Produkt macht. Dorsey schlug ein Framework vor, das diese tragbaren Container nutzt, um die Arbeit zu bewältigen, während gleichzeitig Techniken wie das gleichzeitige Ausführen unabhängiger Aufgaben, das Speichern der Ergebnisse teurer Schritte zur späteren Wiederverwendung und die dynamische Anpassung der verfügbaren Rechenleistung je nach Auslastung des Systems angewendet werden. Das Ziel war zu sehen, ob diese Kombination die Zeit verkürzen kann, die zum Bauen der Software benötigt wird, die Kosten für den Betrieb der Systeme senken und den gesamten Prozess zuverlässiger machen kann.
Um diese Idee zu testen, baute der Forscher ein kontrolliertes Experiment unter Verwendung einer simulierten Umgebung, die ein reales Cloud-Setup nachahmte. Er erstellte drei verschiedene Versionen eines Software-Bausystems, um diese miteinander zu vergleichen. Das erste war ein traditionelles Setup, das die ältere, statische Art darstellte, bei der Computer immer laufen, egal ob sie gerade benötigt werden oder nicht. Die zweite Version nutzte den modernen Cloud-Native-Ansatz, bei dem Computer nur gestartet werden, wenn Arbeit ansteht, und unmittelbar nach Abschluss wieder abgeschaltet werden. Die dritte Version nahm diesen modernen Ansatz und fügte die zusätzlichen Optimierungsstrategien hinzu, wie etwa das intelligente Scheduling und das Caching, die zuvor erwähnt wurden. Die Forscher ließen eine Reihe realistischer Softwareprojekte durch jedes dieser drei Systeme laufen und wiederholten den Prozess dutzendfach, um genaue Daten darüber zu sammeln, wie lange jeder Build dauerte und wie viel er kostete.
Die Ergebnisse zeigten eine klare Progression in der Leistung. Das traditionelle System benötigte im Durchschnitt 18,4 Minuten, um einen Build abzuschließen. Als die Forscher zum modernen Cloud-Native-System wechselten, ohne zusätzliche Kniffe anzuwenden, sank die Zeit auf 12,7 Minuten, was eine signifikante Verbesserung von etwa 31 Prozent darstellte. Den größten Sprung jedoch machte das voll optimierte System. Durch das Hinzufügen der Strategien für parallele Arbeit und intelligente Ressourcennutzung sank die durchschnittliche Build-Zeit weiter auf nur noch 7,2 Minuten. Dies entsprach einer Gesamtreduktion von fast 61 Prozent gegenüber der alten Methode. Die Geschwindigkeitssteigerung war nicht nur eine Frage der Zeit; sie bedeutete auch, dass das System mehr Builds pro Stunde abschließen konnte – von etwa 3,3 Builds pro Stunde im alten System auf 8,3 im voll optimierten System.
Über die Geschwindigkeit hinaus untersuchte die Studie, wie effizient das System seine Ressourcen nutzte und wie hoch die Betriebskosten waren. Im traditionellen Setup standen die Computer oft untätig herum und warteten auf Arbeit, was eine sehr niedrige Auslastungsrate von etwa 23 Prozent zur Folge hatte. Dies verschwendete Energie und Geld. Das moderne Cloud-Native-System verbesserte dies auf 47 Prozent, und die voll optimierte Version erreichte 62 Prozent, was bedeutete, dass die Computer wesentlich intensiver arbeiteten, wenn sie in Betrieb waren. Diese Effizienz schlug sich direkt in Einsparungen nieder. Die Kosten für den Bau eines einzelnen Softwarestücks sanken von 4,82 $ im traditionellen System auf 3,15 $ im modernen System und schließlich auf 1,87 $ im optimierten System. Dies war eine Reduktion der Kosten um mehr als 60 Prozent, was bewies, dass die Kombination aus der neuen Architektur und den Optimierungsstrategien nicht nur schneller, sondern auch viel kostengünstiger war.
Auch die Zuverlässigkeit und die Fähigkeit, Einblicke in das Innere des Systems zu gewinnen, verbesserten sich. Das ältere System hatte eine Erfolgsquote von etwa 94 Prozent, was bedeutete, dass einige Builds fehlschlugen. Das optimierte System steigerte diesen Wert auf 98,4 Prozent, da weniger Fehler durch mangelnde Rechenleistung auftraten. Darüber hinaus stieg die Fähigkeit, das System zu verfolgen und dessen Leistung zu verstehen – bekannt als Observability – von 68 Prozent im alten System auf 97 Prozent im optimierten System. Dies bedeutet, dass es viel einfacher war, die Ursache zu finden, wenn etwas schiefging. Die Studie stellte jedoch fest, dass diese Gewinne nicht ohne Preis kamen. Das am stärksten optimierte System war das komplexeste in Bezug auf Einrichtung und Verwaltung. Es erforderte eine sorgfältigere Planung und tieferes technisches Wissen für die Wartung. Die Forscher fanden heraus, dass, obwohl die Vorteile beträchtlich waren, Organisationen die Geschwindigkeit und die niedrigen Kosten gegen die erhöhte Komplexität abwägen mussten, die ein solch anspruchsvolles System mit sich bringt.
Die Studie kam zu dem Schluss, dass die bloße Einführung einer modernen, cloudbasierten Architektur zwar ein notwendiger erster Schritt ist, aber allein nicht ausreicht, um die Probleme von Geschwindigkeit und Kosten zu lösen. Die Architektur bietet das flexible Fundament, aber es sind die spezifischen Optimierungsstrategien – wie das parallele Ausführen von Aufgaben und die Wiederverwendung früherer Arbeit – die das volle Potenzial freisetzen. Die Forschung legt nahe, dass für Organisationen, die modernisieren wollen, der beste Weg darin besteht, zuerst ein System aufzubauen, das beobachtet und gemessen werden kann, und dann diese Optimierungstechniken darauf aufzubauen. Während das fortschrittlichste Setup die beste Leistung bietet, deutet die Studie darauf hin, dass ein Mittelweg oft ausreichend ist, da er signifikante Verbesserungen gegenüber den alten Methoden bietet, ohne die extreme Komplexität der voll optimierten Version mit sich zu bringen. Letztendlich bietet die Arbeit einen klaren Fahrplan dafür, wie man die wachsende Flut digitaler Daten in der Softwareentwicklung verwaltet und sie von einem potenziellen Engpass in einen gestrafften, effizienten Motor verwandelt.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.