Empfohlenes Webinar: MISRA C++ 2023: Alles, was Sie wissen müssen | Zum Video

Erstellen Sie kostengünstige Sandbox-Umgebungen mit API-Simulation

Headshot von Grigori Trofimov, Senior Solution Architect bei Parasoft
17. Dezember 2020
6 min lesen

Entwicklungs-Sandboxes können der Schlüssel zum Abschluss eines Verkaufs und zur Zufriedenheit Ihrer Kunden sein, wenn Sie im API-Geschäft tätig sind. Aber wie erstellt man eine kostengünstige Sandbox-Umgebung mit API-Simulation? In diesem Beitrag erfahren Sie, wie Sie beginnen können.

Beim Verkauf von Software, insbesondere von komplexen Unternehmensprodukten, verstehen wir, dass ein Verkauf nicht endet, wenn das Geld die Bank erreicht. Post-Sales-Support ist für das Kundenerlebnis genauso wichtig wie Pre-Sales. Tatsächlich ist der Kundenerfolg das, was den Umsatz antreibt, und es gibt zahlreiche Daten, die dies belegen. Khalid Saleh von Invesp schuf ein fantastisches Infografik dazu. Hier sind einige wichtige Erkenntnisse:

  • Die Gewinnung eines neuen Kunden ist fünfmal so teuer wie die Bindung eines bestehenden Kunden.
  • Die Wahrscheinlichkeit, an bestehende Kunden zu verkaufen, beträgt 60 - 70%, während die Wahrscheinlichkeit, an einen neuen Interessenten zu verkaufen, 5 - 20% beträgt.
  • Eine Erhöhung der Kundenbindungsrate um 5% erhöht den Gewinn um 25 - 95%.

Kundenerfolg ist entscheidend für das Geschäft

Grundsätzlich ist Kundenerfolg alles im Verkauf. Es bedeutet, dass Sie ein gutes Produkt haben. Dies bedeutet, dass Sie kostenlose Leads, kürzere Verkaufszyklen und höhere Conversion-Raten erhalten.

Alles beginnt mit Onboarding

Was ist ein wichtiger Weg für Plattformanbieter, um den Kundenerfolg zu steigern? Für Plattformen, Tools und Dienstleister bedeutet dies, dass sie sich wirklich auf das Onboarding konzentrieren müssen. Wenn Sie Kunden auf Ihre Plattform integrieren, müssen Sie Ihre Kunden mit Ihren Services vertraut machen, damit sie Ihre Tools wie Profis nutzen können.

Es bedeutet auch, Ihren Benutzern die Verwendung Ihrer APIs beizubringen, damit sie ihre eigenen Lösungen in Anwendungen erstellen können. Ein guter Onboarding-Prozess muss transparent und nahtlos sein. Entwickler möchten ihren „unbewiesenen“ Code nicht in die Produktion einbinden. Um diese Integrationen effektiv zu erstellen, benötigen Entwickler eine sichere Entwicklungsumgebung, um Ihr Produkt zu testen und sich mit ihm vertraut zu machen - eine Sandbox-Umgebung, in der sie unbewiesenen Code einfügen und ausprobieren können, bevor er in Produktion geht.

Entwickeln Sie kostengünstige Sandbox-Umgebungen für das Onboarding von Kunden

Wenn Sie APIs verkaufen, ist der Schlüssel zum Verkauf eine effiziente und überzeugende Möglichkeit, Ihren Kunden einen Mehrwert zu bieten. Entwicklungssandkästen sind dafür ideal, aber was sind die Voraussetzungen für den Erfolg?

  • Gut gebaut
  • Gut dokumentiert
  • Sofort verfügbar
  • Sicher

Gut gebaut

Ihre Kunden möchten keine unerwarteten Fehler, inkonsistenten oder unrealistischen Verhaltensweisen sehen. Die Erwartung ist, dass Ihre Sandbox-Umgebung denselben strengen Tests unterzogen wird wie Ihre Produktions- und QS-Umgebungen.

Gut dokumentiert

APIs sind nicht einfach, und Entwickler müssen sich schnell auf den neuesten Stand bringen, um sich mit Ihrem Produkt vertraut zu machen. Eine gut dokumentierte API- und Sandbox-Umgebung ist von entscheidender Bedeutung. Swagger und OpenAPI sind für die Dokumentation und Definition von APIs und Diensten erforderlich geworden. Ebenso wichtig ist die Überprüfung, ob das Verhalten dieser APIs dem in den veröffentlichten Definitionen definierten Schema entspricht.

Sofort verfügbar

Ihre Kunden möchten unbedingt loslegen, und der fehlende Zugriff auf ihr neu gekauftes Produkt ist ein wesentlicher Blocker für die Entwicklungs- und Testarbeit Ihrer Kunden. Jede Ausfallzeit kann zu einer negativen Erfahrung führen.

Sicher

In der Welt der PCI DSS- und GDPR-Konformität kann Sicherheit viele verschiedene Dinge bedeuten, aber im Kontext von API-Sandboxen sollten ausschließlich Testdaten anstelle von echten Kundendaten verwendet werden. Eine Sandbox sollte niemals Zugriff auf Kundendaten haben, und im Allgemeinen sollten Anwendungen ausreichend voneinander isoliert sein.

Auch hier ist eine gute Sandbox entscheidend für die Kundenzufriedenheit. Es gibt einen Grund, warum es jährliche gibt DevPortal-Auszeichnungen. Unternehmen, die sich viel Mühe geben, um eine gute API-Produkterfahrung zu erzielen, werden anerkannt.

Warum kostengünstige Sandbox-Umgebungen schwierig sind

Sandkästen sind nützlich, aber es gibt einen Haken. Sie können nicht einfach eine Reihe von Sandbox-Umgebungen einrichten und erwarten, dass sie funktionieren. Es ist nicht so einfach. APIs tun nichts für sich und erfordern eine Orchestrierung, die in mehrere interne und externe Dienste und Backend-Systeme integriert ist und Daten bereitstellt.

Das Einrichten einer Sandbox-Umgebung für eine einzelne API bedeutet, dass die gesamte Umgebung und nicht nur ein einzelner Dienst aktiviert wird. Dies kann schwierig sein.

4 Hauptherausforderungen kostengünstiger Sandbox-Umgebungen

Es gibt vier zentrale Herausforderungen beim Erstellen von Entwicklungssandboxen, die bequem auf die oben genannten Sandboxanforderungen abgestimmt sind - die ABCDs von Sandboxen:

  • Verfügbarkeit
  • Verhalten
  • Kosten
  • Datum

Verfügbarkeit

Einfach ausgedrückt muss eine Sandbox-Umgebung stabil sein, um verfügbar zu sein und ein positives Kundenerlebnis zu bieten. Organisationen kämpfen bereits mit ihrer eigenen QA-Umgebung. Eine Verfügbarkeit von 100 % aufrechtzuerhalten und bereitzustellen, ist unrealistisch, und Ausfallzeiten führen zu einer schlechten Benutzererfahrung.

Verhalten

Eine Sandbox-Umgebung sollte eine getreue Darstellung des realen Systems sein. Anfänglich eignen sich statische Antworten für einfache Anforderungen, komplexe Vorgänge erfordern jedoch eine Änderung des Status und der dynamischen Logik. Was passiert, wenn ein Kunde Leistungs- oder negative Pfadtests durchführen möchte? Komplizierte Testszenarien können in einem komplexen System schwierig zu simulieren sein.

Kosten

Die Pflege einer Testumgebung ist weder kostenlos noch externe Abhängigkeiten. Je mehr Benutzer, desto höher werden diese Kosten. Das Verständnis dieser Kosten und des Verwendungszwecks ist entscheidend für die Bestimmung des Preis- oder Rückerstattungsmodells, das Sie möglicherweise für Ihre Endbenutzer implementieren möchten.

Datum

Testdaten in einer Testumgebung ähneln stark einem Münzzählgerät. Ein Münzautomat nimmt Ihre Münzen und zählt sie. Es gibt eine gewisse Menge Bargeld zurück, aber wenn mehrere Personen gleichzeitig den Automaten benutzen, weiß niemand, welches Bargeld ihnen gehört. Dasselbe passiert mit gemeinsam genutzten Testdaten in gemeinsam genutzten Umgebungen. Sobald Daten verbraucht sind, können sie nicht mehr für andere Tests verwendet werden, es sei denn, Änderungen werden auf irgendeine Weise rückgängig gemacht, was komplex und zeitaufwändig ist.

Dies sind Herausforderungen, die wir hier sehen und die das widerspiegeln, was wir in vielen Unternehmen sehen, die auch versuchen, ihre Test- und Testautomatisierungspraktiken zu verbessern. Und ehrlich gesagt ist die Lösung ziemlich ähnlich.

Service-Virtualisierung Aktiviert die erforderlichen Kontrollkästchen

Die Dienstvirtualisierung ist eine Methode zum Emulieren des Verhaltens bestimmter Komponenten (Virtualisieren dieser Abhängigkeiten) in heterogenen komponentenbasierten Anwendungen, z. B.:

  • API-gesteuerte Anwendungen
  • Cloud-basierte Anwendungen
  • Serviceorientierte Architekturen

Es ist eine leistungsstarke Lösung für die API-Simulation, indem Testumgebungen stabilisiert und eine schnelle agile Entwicklung ermöglicht werden. Die Power Service-Virtualisierung für API- und SOA-Tests macht es zu einer guten Wahl für kostengünstige Sandbox-Server.

Virtualisierung bietet die Möglichkeit:

  • Erstellen Sie bei Bedarf komplexe Umgebungen.
  • Erstellen Sie realistische Services mit kontrolliertem individuellem Serviceverhalten.
  • Behalten Sie die Nutzung in all Ihren Sandboxen im Auge.
  • Erstellen und bearbeiten Sie Daten für jede eindeutige API und für jeden einzelnen Benutzer.

Wie Sie sehen können, aktiviert die Service-Virtualisierung wirklich die Kontrollkästchen.

Grafik mit Kontrollkästchen für die Service-Virtualisierung
Abbildung 1: Kontrollkästchen für die Servicevirtualisierung für kostengünstige Sandbox-Umgebungen.

Service-Virtualisierung ist der Sweet Spot für Sandbox-Umgebungen

In den Engagements, die Parasoft durchgeführt hat, haben wir eine 80: 20-Regel eingehalten. Einige Umgebungen erfordern nur einfache statische Antworten auf API-Aufrufe, sodass einfache Mocks ausreichen. Moderne API-Gateways bieten sehr gute Möglichkeiten zum Speichern dieser vordefinierten Antworten, z. B. wenn die Mocks integriert sind. Wenn dies wirklich alles ist, was benötigt wird, ist die Service-Virtualisierung möglicherweise zu viel des Guten.

Am anderen Ende des Spektrums muss die Umgebung sehr realistisch sein. API-Aufrufe erfordern echte Daten oder tatsächliche Aktualisierungen von Backend-Systemen. Es stellt sich die Frage, ob es kostengünstig ist, so viel vom realen System wie virtuelle Server zu replizieren. In diesen Fällen ist es möglicherweise besser, das reale System oder einen Klon zu verwenden.

In etwa 80% der Fälle liegen die Anforderungen jedoch irgendwo zwischen diesen Extremen. Die Service-Virtualisierung reicht aus, um realistische Simulationen für Test- und Validierungsszenarien zu erstellen.

Grafik mit 10% statischen Antworten, 80% realistischen Tests / Validierungen für die Servicevirtualisierung und 10% Workflows, die echte Backend-Systeme erfordern
Abbildung 2: Die Servicevirtualisierung erfüllt die meisten Anforderungen kostengünstiger Sandbox-Umgebungen.

Wie nutzen Kunden ihre Sandkästen?

Das grundlegende Ziel einer Sandbox besteht darin, APIs und Services, normalerweise Produkte von Drittanbietern, vor der Integration in Ihr Produktionssystem zu validieren. Es gibt jedoch eine Skala der Nutzungsreife, die wir in Praktiken zunehmender Komplexität sehen, die durch Tools und Service-Virtualisierung unterstützt werden.

  • Grundlegende Systemadministration, um zu überprüfen, ob Dienste ausgeführt werden, um auftretende Ausnahmen zu erkennen und um sicherzustellen, dass der Server über genügend Kapazität verfügt.
  • Validierung, um sicherzustellen, dass korrekte Nachrichten gesendet und die richtigen Workflows eingehalten werden.
  • Zertifizierung von B2B-Partnern in Ihrer Sandbox-Umgebung und eventuelle Monetarisierung.
  • Analyse und Berichterstellung zur Monetarisierung für die nutzungsbasierte Abrechnung.

Parasoft Virtualisieren Bietet Unterstützung für diese Anwendungsfälle sowie Überwachung, Analyse und Berichterstellung, die für eine komplexere Sandbox-Nutzung erforderlich sind.

Screenshot von Parasoft Virtualize Sandbox-Nutzungsanalyse und Berichterstellung
Abbildung 3: Analyse und Berichterstellung der Sandbox-Nutzung durch Parasoft Virtualize.

Zusammenfassung

Eine API-Sandbox ermöglicht ein reibungsloses Onboarding für API- und Serviceprodukte mit dem Ziel, den Kundenerfolg zu verbessern. Die Servicevirtualisierung reduziert die Komplexität, die Kosten und das Risiko von API-Sandboxen. Sandboxen benötigen nahezu reale Dienste, und Parasoft Virtualize bietet umfangreiche Funktionen, um dieses Verhalten schnell und zuverlässig zu replizieren.

Sandboxen müssen kosteneffizient sein und die Service-Virtualisierung bietet die Sweet-Spot-Lösung für die Schaffung einer realistischen Umgebung. Vor diesem Hintergrund bietet Parasoft Virtualize API-Sandboxen Skalierbarkeit und Sicherheit sowie eine Vielzahl von Bereitstellungsmodellen und einen modularen Ansatz für die Servicevirtualisierung und das Datenmanagement.

Mit zunehmender Komplexität in der Sandbox-Entwicklung kann die Service-Virtualisierung mit Ihnen skaliert werden und den nächsten Reifegrad ermöglichen.

Sehen Sie, wie Parasoft Virtualize die Komplexität, die Kosten und das Risiko von API-Sandboxen reduziert.