Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 8 Min.

Moderne Staging-Systeme

Betriebssicherheit bei der Low-Code-Platform erhöhen.
© Simple Development(Bild 1)-Autor
Staging-Systeme sind mittlerweile ein selbstverständlicher Bestandteil jeder guten Softwarearchitektur. Durch sie lassen sich einzelne Komponenten testen, noch bevor diese in das produktive Live-System eingespielt werden. So werden potenzielle Fehler frühzeitig erkannt, ohne dass die Effizienz im täglichen Betrieb nachlässt.Vor allem aber in der Low-Code-Entwicklung von Micro­soft Power Apps, also von anwendbaren Betriebslösungen für Smartphones, Tablets und PCs, die Bestandteil des Microsoft-Systems Power Platform sind, sind Staging-Systeme bisher jedoch noch nicht überall angekommen.In Deployment-Prozessen bleibt das Staging bisher somit weitgehend unberücksichtigt, obwohl es als Maßstab für alle gängigen Softwareentwicklungen Erleichterungen schaffen könnte.Doch wie sieht es in Zukunft mit dem Staging als Teil der Softwareentwicklung aus und welche Maßstäbe gilt es dabei zu setzen?

Wie Staging-Systeme die Low-Code-Entwicklung prägen können

An vielen Kundenbeispielen wird klar erkennbar, dass Tests und sichere Analysen der Entwicklungs- und Kontrollumgebung eher halbherzig praktiziert werden. Die meisten Kunden testen Programme lediglich in der Default-Umgebung, was für eine funktionale Entwicklung mehr als fahrlässig ist.Sogar Microsoft selbst beschreibt die vorherigen Funktionalitätstests als einen wichtigen Ansatz, um die einzelnen Prozesse der Entwicklung sicher zu prüfen.Doch warum ist es verheerend, wenn das Testen auf einem einsatznahen System fehlt?
  • Einige Tests sind nur im produktiven Live-System möglich.
  • Aufwendige Rechte-Systeme lassen sich nur im Live-Einsatz simulieren.
  • Drastische Fehler sind nur sehr aufwendig zu beheben.
  • Die Bereitstellung klassischer Testdaten ist kaum möglich.
  • Funktionsupdates durch Microsoft können Fortschritte gefährden.
Genau diese Probleme zeigen, wie wichtig neue Alternativen für eine gelungene und stets vollwertige Testumgebung sind. Vor allem das Staging sticht dabei hervor, da es den klaren Fokus auf die vielen Abläufe innerhalb der Power Platform ermöglicht und gleichzeitig einwandfreie Strukturen schafft. So lassen sich die vielen Entwicklungsprozesse durch das Staging Schritt für Schritt weiter optimieren.

Die wichtigsten Begriffsdefinitionen rund um das Staging

Um sich näher mit dem Staging zu befassen, kommt es zunächst jedoch auf die Umgebungen an, die bei Microsoft eine Rolle spielen. Bei einer Umgebung handelt es sich immer um einen Container, den Administratoren zur Verwaltung von Anwendungen, zur Automatisierung und für Verbindungen mit anderen Assets nutzen können.Dabei gibt es mehrere Umgebungen, die sich anhand ihrer Eigenschaften stark unterscheiden. Folgende Details sind dabei zu beachten:
  • Default: Dieses Environment wird automatisch in jedem lizenzierten Power-Platform-Mandanten erstellt. Es kann für Evaluierungen, Proofs of Concept und vieles mehr verwendet werden, aber nicht für die Entwicklung komplexer Lösungen oder in produktiver Umgebung [1].
  • Trial: Am besten geeignet zum Testen bestimmter Produktfunktionen, für Lösungen von Drittanbietern, zu Demonstrationszwecken und in ähnlichen Bereichen.
  • Developer: Nur im CommunityPlan enthalten. Volle Funktionalitäten sind gegeben, jedoch nur für einen Benutzer (Single User); daher nicht für Entwicklerteams geeignet.
  • Sandbox: Pre-Production-Zwecke ohne Auswirkungen auf den Live-Betrieb.
  • Production: Produktive Umgebung als Container für ganzheitliche Funktionstests.
  • Support: Microsoft-Support-spezifisch. Bestehendes Environment wird repliziert, um Fehler­identifizierung zu betreiben. Am Ende wird das Environment dann wieder gelöscht.

Das Grundkonzept der ­Staging-Entwicklung

Die Entwicklung einer Umgebungsstrategie [2] bedeutet, alle Ebenen der Datensicherheit (DLP) so zu konfigurieren, dass die produktive Entwicklung in einem ­Unternehmen unterstützt wird. Gleichzeitig zielt diese Strategie allerdings auch darauf ab, die Ressourcen abzusichern und zu organisieren.Wenn man die Grundsätze des Application Lifecycle Managements (ALM) [3] befolgen möchte, benötigt man getrennte Umgebungen für die Anwendungsentwicklung und die Produktion. Obwohl ein grundlegendes ALM auch mit getrennten Entwicklungs- und Produktionsumgebungen durchgeführt werden kann, empfiehlt es sich, mindestens eine­ Testumgebung, eine sogenannte Staging-Umgebung zu unterhalten, die von den Entwicklungs- und Produktionsumgebungen getrennt ist.Diese Staging-Umgebung beschreibt eine Umgebungsinstanz, welche mit der Umgebung des Produktivsystems möglichst identisch sein sollte. Auf dem Staging-System dürfen sich ausschließlich die Änderungen befinden, die auch tatsächlich integriert wurden und live gehen sollen. Mit solch einer Instanz lassen sich die angesprochenen Nachteile vermeiden.

Diese Arten von Staging sind von Bedeutung

Wenn es um das klassische Staging-Konzept geht, kommt es auf drei zentrale Ebenen an. Rund um Development, Testing und Production werden jedoch nur einfache Entwicklungsprozesse in eher kleinen Teams abgedeckt.Darüber hinaus gibt es viele weiteren Arten des Stagings, die sich für die kundenspezifische und exakte Entwicklung eignen. Im Folgenden finden Sie einen Überblick über die drei gängigen Strategien des Stagings, die je nach Art und Größe eines Projekts gut geeignet sind:Simple DevelopmentBeim Simple Develpoment (Bild 1) handelt es sich um die einfachste und zudem minimal erforderliche Umgebungseinrichtung zur Entwicklung einer Power Platform Solution. Sie setzt sich aus den bereits beschriebenen Aspekten Development, Testing und Production zusammen.
Simple Development(Bild 1) © Autor
Vor allem für einfache Projekte, deren Komplexität begrenzt ist, kann sich eine solche Lösung anbieten. Sollte es sich bei einem Projekt jedoch um eine umfassendere Plattform handeln, ist die Zuweisung von separaten Umgebungen zum Testen durchaus relevant. Sonst kommen sich die Entwickler nämlich in die Quere.Complex Testing Best PracticeFür umfangreiche Projekte ist eine Ausweitung des Testens zu empfehlen (Bild 2). Dies gilt immer dann, wenn eine kundenspezifische Entwicklung gefragt ist, die sich in mehreren Teststufen genauestens anhand der erhaltenen Anforderungen umsetzen lässt.
Complex Testing(Bild 2) © Autor
Systemintegrationstests, Tests rund um die Benutzerakzeptanz und Betriebsakzeptanztests ermöglichen einen ganzheitlichen Einblick. Auf diese Weise lassen sich technische Lösungen als Ganzes testen, was auch für die möglichen Integrationen zu anderen IT-Systemen gilt. So kann die Microsoft Platform final Teil der Umgebung werden.Development Teams/WorkstreamsJe größer die Power Platform Solution ausfällt, desto wichtiger wird der Development-Prozess im Rahmen der kundenspezifischen Entwicklung. Da der vorhandene Aufwand in diesem Fall nur schwer mit einem Arbeitsstrom bewältigt werden kann, gilt es, die Komplexität zu prüfen. Je besser die einzelnen Teile der Lösung voneinander getrennt sind, desto einfacher lässt sich an den jeweiligen Lösungen und Funk­tionen arbeiten. Im Customization and Develpoment Build Master lassen sich dann alle Anpassungen im Dataverse zentral durchführen und übertragen (Bild 3).
Development Teams/Workstreams(Bild 3) © Autor

CI/CD-Pipelines als Bindemittel der Umgebungen

Grundsätzlich wäre es möglich, die Lösungen per Hand zu exportieren und wieder auf den Staging-Umgebungen zu importieren. Dies wäre aber nicht zielführend. Glücklicherweise gibt es zahlreiche CI/CD-Pipeline-Lösungen. Azure Dev­Ops bietet hierbei eine Basis, um Planning, Monitoring und Developement Workflows bei der Entwicklung abzudecken.Die Funktionalitäten, die am meisten benötigt werden, sind das Erstellen von CI/CD-Pipelines oder auch der Testautomationen. Dabei kommt es auf die Unternehmensprojekte an und auf die damit verbundene Vielzahl von projektspezifischen Problemen. Diese können natürlich auch durch benutzerdefinierte Skripte gelöst werden, aber die Implementierung eines soliden Prozesses für die angesprochenen Staging-Lösungen kann einen großen Unterschied machen. Eine Vielzahl von Tools mit oder ohne Azure DevOps steht zur Verfügung, wie zum Beispiel die folgenden:
  • Power Platform Build Tools (von Microsoft) [4]
  • Power DevOps Tools (Wael Hamze) [5]
  • KDTooling Deployment Manager [6]
Dies ist nur eine kleine Auswahl der Möglichkeiten, die man fürs Deployment nutzen kann [7]. Darüber hinaus gibt es viele weitere Optionen, um das Staging in den Prozess zu integrieren und an einer spürbaren Optimierung der Workflows zu arbeiten. Durch das Staging lässt sich der Development-Prozess in dieser Hinsicht spürbar vereinfachen und für jede Entwicklungsgröße flexibilisieren.

Der Stellenwert des Stagings innerhalb der Entwicklung

Wie bereits erwähnt, ist das Staging in vielen Betrieben für die Entwicklung noch nicht gänzlich angekommen. Dennoch zeigt sich an vielen Best-Practice-Beispielen, wie wichtig eine exakte und professionelle Analyse zur Durchführung ist. Nur im Staging wird es dadurch möglich, für eine gelungene Interaktion mit der Benutzeroberfläche zu sorgen und viele Szenarien vorab im Rahmen von Tests abzubilden. Das spart beim Erstellen, Optimieren und Überprüfen kostbare Zeit, um die gewünschten Funktionen sicherzustellen. Genau dabei wird Staging zur besten Entlastung.

Das effektive Aufsetzen moderner Staging-Systeme

Staging kann aber natürlich nur dann funktionieren, wenn die damit verbundenen Systeme so effektiv wie möglich aufgesetzt werden. Ziel der Einbindung einer Staging-Umgebung sollte es daher sein, eine direkte Nähe zum produktiven System zu schaffen, um entsprechende Variablen bei der Prüfung exakt unter die Lupe zu nehmen. So lässt sich eine deutlich größere Anzahl möglicher Prozesse integrieren und die beste Performance für den weiteren Betrieb ideal sicherstellen. Investitionen im Bereich Staging ermöglichen dadurch eine deutliche Qualitätsverbesserung für bereits vorhandene Deployment-Setups.Wer auf Staging verzichten und so Zeit und Kosten sparen möchte, sollte sich diesen Schritt gut überlegen. Durch Staging rund um den Developing- und Testing-Prozess verbessern sich Fehlerfreiheit, Einfachheit und Übersichtlichkeit in jeder Hinsicht.

Staging-Systeme – die Zukunft

Staging-Systeme sind keine Einheitslösung. Sie müssen so gestaltet werden, dass sie zu den vorhandenen Anforderungen passen. Der Umfang und die Ausgereiftheit der Strategie dahinter sollte von Projekt zu Projekt entschieden werden. Es ist wichtig, die Entwicklungsmethodik zu verstehen, die das Projektteam für den Entwurf der Lösung verwendet. Die Staging-Strategie muss dabei so beeinflusst werden, dass sie Projektteams unterstützt. Wenn dies geschieht, lässt sich ein Staging-Prozess problemlos in den täglichen Unternehmens- und Projektprozess einbinden, um die Koordination stets weiter zu optimieren.

Fussnoten

  1. The default environment, http://www.dotnetpro.de/SL2209Staging1
  2. Defining a Power Platform Environment Strategy, http://www.dotnetpro.de/SL2209Staging2
  3. ALM-Grundlagen mit Microsoft Power Platform, http://www.dotnetpro.de/SL2209Staging3
  4. Microsoft Power Platform Build Tools for Azure DevOps, http://www.dotnetpro.de/SL2209Staging4
  5. Power DevOps Tools, http://www.dotnetpro.de/SL2208Staging5
  6. Kupp Deployment Manager, http://www.dotnetpro.de/SL2209Staging6
  7. Power Platform Build Tools vs. Third-party tooling (technical review & comparison), http://www.dotnetpro.de/SL2209Staging7

Neueste Beiträge

DWX hakt nach: Wie stellt man Daten besonders lesbar dar?
Dass das Design von Websites maßgeblich für die Lesbarkeit der Inhalte verantwortlich ist, ist klar. Das gleiche gilt aber auch für die Aufbereitung von Daten für Berichte. Worauf besonders zu achten ist, erklären Dr. Ina Humpert und Dr. Julia Norget.
3 Minuten
27. Jun 2025
DWX hakt nach: Wie gestaltet man intuitive User Experiences?
DWX hakt nach: Wie gestaltet man intuitive User Experiences? Intuitive Bedienbarkeit klingt gut – doch wie gelingt sie in der Praxis? UX-Expertin Vicky Pirker verrät auf der Developer Week, worauf es wirklich ankommt. Hier gibt sie vorab einen Einblick in ihre Session.
4 Minuten
27. Jun 2025
„Sieh die KI als Juniorentwickler“
CTO Christian Weyer fühlt sich jung wie schon lange nicht mehr. Woran das liegt und warum er keine Angst um seinen Job hat, erzählt er im dotnetpro-Interview.
15 Minuten
27. Jun 2025
Miscellaneous

Das könnte Dich auch interessieren

UIs für Linux - Bedienoberflächen entwickeln mithilfe von C#, .NET und Avalonia
Es gibt viele UI-Frameworks für .NET, doch nur sehr wenige davon unterstützen Linux. Avalonia schafft als etabliertes Open-Source-Projekt Abhilfe.
16 Minuten
16. Jun 2025
Mythos Motivation - Teamentwicklung
Entwickler bringen Arbeitsfreude und Engagement meist schon von Haus aus mit. Diesen inneren Antrieb zu erhalten sollte für Führungskräfte im Fokus stehen.
13 Minuten
19. Jan 2017
Evolutionäres Prototyping von Business-Apps - Low Code/No Code und KI mit Power Apps
Microsoft baut Power Apps zunehmend mit Features aus, um die Low-Code-/No-Code-Welt mit der KI und der professionellen Programmierung zu verbinden.
19 Minuten
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige