Im Jahr 2011 veröffentlichte Adobe angekündigt Creative Cloud, eine SaaS-Anwendung zur Ersetzung der Adobe Creative Suite. Im Jahr 2013 führte das Unternehmen die Creative Cloud mit monatlichen und jährlichen Abonnements für verschiedene Toolsets auf den Markt. Zunächst war dies von Missbehagung bei den Nutzern, Petitionen und Klagen begleitet. Ein Rückgang der Einkommen um 35 Prozent. Doch dieses katastrophale Szenario erwies sich zunächst als Erfolg – etwas später. Im Jahr 2014 führte Adobe Creative Cloud zu Ein Anstieg von 44 Prozent In Bezug auf die Einnahmen stieg die Zahl der neuen Abonnenten um über 700.000. Diese Zahl entsprach zu diesem Zeitpunkt 30 Prozent der Gesamtzahl der Abonnenten.
Je weiter man ging, desto besser wurde es. Im Jahr 2017, Statista Es wurde prognostiziert, dass bis 2024 fast 20 Millionen Adobe Creative Cloud-Abonnenten vorhanden sein werden. Diese Prognose wurde jedoch übertroffen: Der Service erreichte die mehr als 22 Millionen Abonnenten im Jahr 2020.
Im Jahr 2021 wurde der Finanzbericht von Adobe für das dritte Quartal des Jahres veröffentlicht. angewiesen Die Umsätze von Creative Cloud stiegen im Vergleich zum gleichen Zeitraum des Vorjahres um 21 Prozent. In monetärer Hinsicht betrug dies $2,37 Milliarden Umsatz. Das ist ein großartiges Beispiel für eine erfolgreiche Cloudmigration mit SaaS-Technologie.
Einige andere zuvor streng auf Software spezialisierte Produkte sind nun online als monatliche Abonnement-Option erhältlich. Zu nennen sind hier Microsofts Office 365 und Kronos. Zahlreiche weitere beliebte Dienste haben von Anfang an das SaaS-Modell gewählt, wie GoSchedule, Twilio und Shopify. Die Gründe dafür sind klar. Wir haben diese in unserem Artikel besprochen. Artikel über die Entwicklung von SaaS-Apps.
Obwohl das Adobe-Szenario sehr inspirierend ist, ist der Übergang von der On-Premise-Implementierung zu SaaS nicht ganz einfach. Dies erfordert oft viele technologische Herausforderungen. Deshalb ist es entscheidend, sich an ein erfahrenes Software-Engineering-Unternehmen zu wenden, das Dienstleistungen für die Migration von SaaS-Software anbietet. In diesem Artikel beschreiben wir, wie Yalantis mit der Migration zu einem SaaS-Geschäftsmodell umgeht und unsere Erfahrungen sowie wertvolle Tipps und Empfehlungen zum korrekten Migrieren zu SaaS zusammenfasst.
Ist Ihr Unternehmen bereit, von der On-Premise-Lösung zu der SaaS-Lösung zu wechseln?
Der Wechsel zu SaaS führt zu drastischen Veränderungen sowohl des Produktes als auch des Denkens und der Strategie des Unternehmens. Wenn Sie sich nicht sicher sind, ob Sie bereit dafür sind, einen umfassenden Wechsel vorzunehmen, sollten Sie die unten dargestellten Fragen beantworten. Wenn Sie auf alle Antworten „Ja“ antworten, ist es an der Zeit, über eine Änderung der aktuellen Unternehmensstrategie nachzudenken:
Würden Ihre Kunden von einer SaaS-Lösung profitieren?
Angesichts der Vorteile, die Endnutzer von einer SaaS-Anwendung erhalten, bezweifeln wir, dass Sie unzufriedene Kunden haben werden. Allerdings kann dies dennoch vorkommen. Sie können Ihren Kunden mithilfe unseres Artikels zu der Entwicklung von SaaS-Anwendungen erklären, welche Vorteile sie von einer solchen Lösung erhalten. Zu diesen Vorteilen gehören niedrigere Kosten, bessere Supportleistungen, mehr Flexibilität in Bezug auf die Funktionalität der Funktionen, eine individuelle Anpassung der Benutzeroberfläche und die Verfügbarkeit auf mehreren Geräten.
Wir empfehlen unseren Kunden stets, Feedback von ihren Kunden zu möglichen Änderungen einzuholen. Ihre Anliegen können während des Migrationsprozesses wertvolle Einblicke bieten.
Füllt Ihr Produkt die Bedürfnisse einer neuen Zielgruppe und gewinnt Ihr Unternehmen den SaaS-Wettbewerb?
Sie sollten sich sicher sein, dass neue Zielgruppen Ihr Produkt als die attraktivste Option erkennen. Wenn Ihr Unternehmen einzigartige Dienstleistungen anbietet, müssen Sie sich kaum Sorgen machen. Wenn dies nicht der Fall ist, müssen Sie nach dem Einstieg in den SaaS-Markt mit anderen Anbietern konkurrieren. Mit einem traditionellen Software-Provisionmodell zahlen Ihre Kunden Ihr Produkt vollständig im Voraus, weshalb sie wahrscheinlich weiterhin damit arbeiten werden, nachdem sie den Kauf getätigt haben. Mit SaaS-Lösungen müssen Sie Ihre Zielgruppe kontinuierlich mit zusätzlichen Vorteilen belohnen, damit sie Sie weiterhin gegenüber anderen Anbietern wählen.
Sind Sie bereit für strenge Geschäfts- und Finanzpläne zur Skalierung Ihrer Lösung?
Die Fähigkeit, schnell und einfach skalieren zu können, ist ein zweischneidiges Schwert. Neben der Zufriedenstellung der Kunden durch regelmäßige Verbesserungen erfordert dies außerdem kontinuierliche Arbeit an Updates und finanzielle Investitionen. Die oberste Führung sollte dies im Voraus berücksichtigen und die Produktentwicklung genau planen. Fahren Sie nicht über die SaaS-Grenze, bevor Sie die notwendigen Vorbereitungsarbeiten, die wir weiter erläutern werden, gründlich durchgespielt haben.
Sind Sie bereit, die Arbeitsweise Ihrer Teams zu ändern?
Die Migration zu SaaS erfordert qualifizierte Spezialisten mit umfangreicher Erfahrung, die mit der IT-Infrastruktur und -Umgebungen arbeiten können. Idealerweise sind sie dafür verantwortlich, eine hohe Datensicherheit zu gewährleisten, die Bereitstellung und Überwachung zu automatisieren und eine hohe Verfügbarkeit zu gewährleisten. Diese Anforderungen können durch Schulung des Mitarbeiterstamms des Kunden oder durch den Austausch von Erfahrungen erfüllt werden. Bei Yalantis gibt es Fälle, in denen unsere Spezialisten Workshops für die Kundenentwicklungsteams durchgeführt haben.
Sind Sie bereit für den anspruchsvollen Migrationsprozess?
Der Wechsel zu einem SaaS-Geschäftsmodell erfordert erheblichen Zeitaufwand und finanzielle Investitionen, eine sorgfältig ausgearbeitete SaaS-Migrationstrategie und viel qualifizierte Fachkräfte, die in der Lage sein werden, unauffällige Hindernisse auf dem Weg zu überwinden und zu lösen. Manchmal wird dieser Prozess durch die Architektur der bestehenden Anwendung erschwert, die möglicherweise für SaaS ungeeignet ist. Da diese Architektur die Grundlage der zukünftigen SaaS-Anwendung darstellt, können Spezialisten viel Zeit damit verbringen, auf die Fehler zu reagieren, um eine effiziente Gestaltung zu erreichen.
Allerdings wird es egal, wie schwierig die Migration jetzt auch erscheinen mag: Am Ende wird sie sich lohnen. Eine SaaS-Anwendung eröffnet neben der Erstattung der Investitionen auch eine Reihe technischer, geschäftlicher und finanzieller Möglichkeiten. Das SaaS-Modell bietet:
- die Entwicklung neuer Funktionen durch eine verbesserte Architektur ermöglichen
- Neue Kunden anzuziehen dank der zahlreichen Vorteile von SaaS-Produkten, wie beispielsweise niedrigeren Kosten, 24/7-Support, Flexibilität der Funktionspalette usw.
- Erhöhen Sie Ihre Einnahmen dank eines neuen Monetarisierungskonzepts
- Verleihen Sie Ihrem zukünftigen Geschäftserfolg den nötigen Durchbruch
Wissen Sie, wie unsere Kunden von dem SaaS-Modell profitieren? Entdecken Sie es wie wir eine SaaS-Plattform für die Geräteverwaltung aufgebaut haben für die IoT-Branche.
Lassen Sie uns mit einer detaillierten Untersuchung des Migrationsprozesses beginnen.
Ein Schritt für Schritt-Handbuch zur SaaS-Migration
Wir werden Sie sorgfältig durch jeden Schritt dieses anspruchsvollen Prozesses führen und Ihnen einige Empfehlungen zur Planung und Neugestaltung geben, wie wir es in unserem Beispiel getan haben. früherer Artikel über die Entwicklung von SaaS-Lösungen. Lassen Sie uns die Migrationsreise anhand eines schrittweisen Plans erkunden:
Phase 1: Roadmapping
Die Roadmapping-Phase ist entscheidend, da sie dem Entwicklungsteam und dem Kunden hilft, die zu erledigende Arbeit zu erkennen und zu schätzen. Mit einer geeigneten Migrationsroadmap wird dieser Prozess unkompliziert und kosteneffizient sein. Im Allgemeinen umfasst die Roadmapping-Phase:
- Die Bewertung des bestehenden Produkts, seiner funktionalen und nicht-funktionalen Aspekte sowie der Geschäftsziele des Kunden
- Die Analyse der Branche des Kunden und der Nachfrage nach SaaS-Lösungen bei interessierten Zielgruppen
- Neues Überdenken und Modifizieren des Produkts
- Datenmigration und Aktualisierung der Anwendung in die Cloud
Im Vergleich zur Roadmapping-Phase für die Entwicklung von SaaS-Anwendungen umfasst die Migration viel mehr Aspekte, die berücksichtigt, besprochen und geplant werden müssen.
Forschung und Analyse
Diese Phase umfasst die folgenden Schritte:
- Analys der bestehenden Plattform
Geschäftsanalysten, Liefermanager, Anwendungsarchitekten und leitende Entwickler untersuchen:
- wie die bestehende Plattform funktioniert: welche geschäftlichen Ziele der Kunde definiert hat und wie die Lösung diese erfüllt
- wie es gebaut wurde: die Art der Architektur, deren Zustand, Integrationen und Abhängigkeiten von Drittanbietern
- wie es geschrieben wurde: Frameworks, Sprachen und Sicherheitsmaßnahmen
Darüber hinaus, Geschäftsanalysten Verfolgen Sie eine eingehende Untersuchung der Branche: wie sie funktioniert, was sie erfordert (Einhaltung von Gesetzen, Vorschriften und Normen) und welche Anforderungen die Endnutzer haben. Ein wichtiger Schritt hierbei ist die Analyse der Datenbankstruktur. Da SaaS-Produkte Cloud-Datenbanken verwenden, ist es entscheidend, zu entscheiden, wie aktuelle Datenbanken umgewandelt werden, wenn sie nicht für das SaaS-Modell geeignet sind.
- Kommunikation mit dem Produkt-Owner
In dieser Phase werden Lösungen für die Geschäftsziele des Kunden präsentiert und erläutert. Unser Team erläutert den Kunden die Kosten des Migrationsprozesses und die Vorteile, die sie mit einem neuen Geschäftsmodell erhalten. In der Regel umfasst dieser Prozess detaillierte Erläuterungen zu verschiedenen Aspekten: Zeitrahmen, Kosten, Entwicklungspfade und Produktanforderungen. Es ist notwendig, dem Kunden zu zeigen, was er in fünf bis zehn Jahren erwarten kann. So kann das Team in der langfristigen Partnerschaft auch post-MVP-Versionen in Betracht ziehen und die Grundlagen dafür legen.
Auch Kunden müssen sich für den Entwicklungspfad einer bestehenden Anwendung entscheiden. Sie haben in der Regel zwei Optionen:
Option 1: Stoppen Sie die Entwicklung des bestehenden Produkts und konzentrieren Sie sich ausschließlich auf die Migration. Diese Option ist finanziell günstiger; jedoch kann dies dazu führen, dass die Kunden des Kunden noch einige Zeit mit einer veralteten Technologie arbeiten müssen.
Option 2: Entwickeln Sie beide Anwendungen gleichzeitig. Diese Option erfordert erhebliche finanzielle und personelle Ressourcen. In diesem Fall benötigen wir zwei Entwicklungsteams. Das erste Team unterstützt die bestehende Anwendung, das zweite konzentriert sich ausschließlich auf die Migration zu SaaS.
Die Wahl hängt von den Fähigkeiten und den Prioritäten des Kunden ab.
- Die Präsentation des Prototyps
Nachdem die Diskussionen abgeschlossen sind, beginnen Businessanalysten und UX-Designer mit der Erstellung eines funktionalen Produktprototypes. Um ein brandneues Produktdesign zu erstellen, berücksichtigen sie die Funktionalität der bestehenden Anwendung und die von dem Kunden genehmigten Verbesserungen. Sie verwenden in der Regel fiktive Benutzerdaten, um das Produkt in seiner besten Form zu demonstrieren.
Nachdem der Prototyp genehmigt wurde, ist es an der Zeit, den gesamten Arbeitsprozess zu planen.
Strategisches Planen
Bei der Migration von Systemen ist es nur selten möglich, einen idealen Plan zu verfolgen. Projekt- und Liefermanager müssen die Zeit- und Budgetgrenzen für jeden Schritt der Migration präzise definieren. Manchmal ist es viel Zeit und Arbeit erforderlich, Fehler in einer bestehenden Anwendung zu beheben. Um diesen Prozess für alle Beteiligten so angenehm wie möglich zu gestalten, bevorzugt das Yalantis-Team, die Geschäftsprozesse schrittweise umzugestalten und die Architektur zu ändern.
Sobald die Liefer- und Projektmanager für jeden Schritt Fristen festlegen, beginnen sie, den Prozess in Workstreams aufzuteilen und Aufgaben an das Entwicklungsteam zu verteilen. Sie legen besonderen Wert auf eine genaue Planung, da es wichtig ist, zu entscheiden, in welcher Reihenfolge bestimmte Komponenten ausgetauscht werden sollen, um die Arbeit anderer Komponenten, wie z. B. Drittanbieter-Abhängigkeiten, nicht zu beeinträchtigen. Alle diese Aspekte können die Arbeitsroutinen der Kunden beeinflussen.
Im strategischen Planungsschritt muss das Team auch die Besonderheiten des Produktdesigns, der Betriebsabläufe und der Geschäftsabläufe berücksichtigen. Wenn beispielsweise Anwendungsarchitekten eine monolithische Architektur in eine Mikroservicearchitektur umbauen müssen, können sie mit einer Reihe von Problemen konfrontiert werden, die mit der Neugestaltung eines Datenmodells und dem Ausfall des bestehenden Dienstes während der Migration verbunden sind. Das Team muss Wege finden, alle Verluste zu minimieren und Schäden an der Reputation des Kunden oder die Zufriedenheit der Kunden zu vermeiden.
Nachdem der Kunde den Plan genehmigt hat, geht der nächste Schritt in die Architekturentwicklung.
Lesen Sie auch: Wie wir eine allumfassende medizinische SaaS-Lösung entwickelt haben
Phase 2: Architektur- und Datenbankbewertung und Umbau
Bevor mit der Neugestaltung der Architektur begonnen wird, bewerten Anwendungsarchitekten die bestehende Architektur, um den Umfang der Arbeiten einzuschätzen.
Architekturbewertung
In der Regel verwenden Anwendungsarchitekten die Architektur-Trade-off-Analyse-Methode (ATAM) und die perspektivbasierte Analyse-Methode (PBAM), um die Zustand und die Eignung der Architektur für ein SaaS-Modell zu bewerten.
- Mit ATAM, Die Architekten entscheiden sich dabei für die Auswahl der Komponenten, die sie beseitigen oder beibehalten möchten, um ein ausgewogenes Design zu entwickeln, das sie für ein neues Liefermodell nutzen können. Gleichzeitig suchen sie nach Möglichkeiten, die Vorteile zu maximieren und die Verluste zu minimieren.
- Mit PBAM, Architekten berücksichtigen dabei die geschäftlichen Ziele des Kunden sowie die zukünftige skalierbare Ausrichtung des Produktes und prüfen, wie gut die optimierte Architektur den Anforderungen von SaaS entspricht.
Es gibt einfacherere Ansätze, wie zum Beispiel die Kopplung und die Einschränkung des Anwendungsbereichs. Mit diesen Methoden bewerten Architekten, wie sich Anwendungskomponenten gegenseitig verhalten und wie sie kommunizieren, falls einige deaktiviert werden. Wenn die restlichen Komponenten unabhängig funktionieren, kann die Architektur als erfolgreich betrachtet werden und erfordert keine drastische Neugestaltung.
Wenn jedoch einige Änderungen im Codebasisbestand die Logik in der gesamten Lösung stören, müssen Spezialisten das System sowohl inhaltlich als auch strukturell neu überdenken. Ein Beispiel für eine schlechte Architektur ist eine monolithische Architektur in Bezug auf die Paketorganisation im Code. In der Regel wird eine monolithische Architektur auf Mikroservices umgestellt, sodass jede Komponente unabhängig arbeiten und Daten über APIs an andere Komponenten übermitteln kann.
Anwendungsarchitekten verwenden auch Architekturqualitätseigenschaften, um die Architektur zu bewerten, wie z. B.:
Lesen Sie auch: Wie Sie die für Ihr Unternehmen am besten geeignete Softwarearchitektur implementieren
Neben der Bewertung der Architektur ist es wichtig, eine Datenbankanalyse durchzuführen.
Datenbankanalyse und Umbau
Die Neugestaltung der Datenbank erfolgt im selben Stadium wie die Neugestaltung der Architektur, da die Details der Datenverarbeitung die Wahl der Cloud-Lösungen für die Verarbeitung der Daten beeinflussen. Wenn es beispielsweise um die Übertragung von Daten über mobile Geräte geht, müssen Architekten Cloud-Plattformdienste wie AWS Kinesis verwenden. Diese Dienste sammeln und verarbeiten eine große Menge an Streamingdaten in Echtzeit.
In dieser Phase überlegen Architekten das Cloud-Bereitstellungsmodell und die Datenbank-Freigabe zwischen mehreren Kunden.
Cloud-Bereitstellungsmodelle
Bei der Nutzung einer SaaS-Anwendung ist es möglich, je nach Bedarf des Kunden unterschiedliche Cloud-Bereitstellungsmodelle zu unterstützen.
- Die private Cloud Modell ermöglicht Kunden, Daten auf unabhängigen Cloud-Servern zu speichern.
- Die öffentliche Cloud Modell Betrifft alle Kunden, die eine gemeinsame Cloud und Infrastruktur nutzen.
- Das Hybridmodell Dies beinhaltet die parallele Nutzung von Public Cloud und On-Premises-Rechenzentren oder einer privaten Cloud. Die genaue Kombination hängt in der Regel von den Bedürfnissen des Kunden ab. Wenn beispielsweise ein Kunde isolierte physische Datenspeicherung fordert, verwenden wir dieses Modell und passen die Architektur entsprechend an.
- Das Multicloud-Modell Verwendet wird es, um Daten zu speichern und die Funktionalität einer Anwendung in der Cloud-Datenspeicherung mehrerer Cloud-Anbieter zu gewährleisten. Diese Option ist vorteilhaft, um vor plötzlichen Ausfällen zu schützen. Wenn beispielsweise eine Cloud-Speicherdienstleistung ausfällt, ist die Anwendung weiterhin über die Cloud-Speicherdienstleistung eines anderen Anbieters zugänglich.
- Das hybride Multicloud-Modell Erwiesenermaßen wird sowohl die Nutzung öffentlicher Cloud-Speicherdienste als auch die Nutzung privater Speicherlösungen vorausgesetzt.
Datenbank-Sharing
Wenn der Kunde ein Public-Cloud-Modell wählt, werden Kunden (unabhängige Organisationen oder “Cloud-Leihgeber”) dieselbe Hardware, Speicherplatz und Netzwerk nutzen. Es besteht die Möglichkeit, dass einige Kunden die Arbeit auf Datenbankebene separat von anderen Kunden abwickeln möchten. In der Regel gibt es zwei Möglichkeiten, Kundendaten zu trennen:
- Fysische Aufteilung in mehrere Datenbanken, die sowohl die Freiheit bei der Verwaltung bietet als auch mehr finanzielle Ressourcen erfordert
- Logische Aufteilung in Datenschemas innerhalb einer Datenbank, eine kostengünstigere Option mit bestimmten Risiken verbunden, da die Daten aller Benutzer an einem Ort gespeichert werden
Nachdem die Cloud-Bereitstellungs- und Datenbank-Sharing-Modelle ausgewählt wurden, ist es an der Zeit, an der Architekturumgestaltung zu arbeiten.
Architektur-Neugestaltung
Ohne eine Mikrodienstarchitektur wäre es schwierig, eine SaaS-Anwendung zu erstellen, da Mikroservices die am besten geeignete Architektur für ein SaaS-Produkt sind, wenn die zukünftige Skalierung berücksichtigt wird. Die beste Option ist es, eine geschichtete Mikrodienstarchitektur zu verwenden. In diesem Fall zerlegen Architekten die Architektur in mehrere logische Ebenen:
- Funktionelle Schicht
- Integrationslayer für Drittanbieter-Integrationen
- Datenebene
Der Vorteil dieser Vorgehensweise besteht darin, dass Entwickler jede Ebene unabhängig voneinander bearbeiten können. Wenn der Kunde einen Integrationspartner wechseln oder die Datenbank neu optimieren möchte, hat dies keine Auswirkungen auf die anderen logischen Ebenen und die Anwendung funktioniert reibungslos, während die Arbeit läuft.
Yalantis’ Erfahrung mit dem Übergang von einer monolithischen Architektur zu Mikroservices
Die Spezialisten von Yalantis arbeiteten daran, eine monolithische Architektur in eine Mikroservices-Architektur umzuwandeln. für ein großes Logistikunternehmen. Während der Arbeit an diesem Projekt war unsere Aufgabe, die monolithische Anwendung in Mikroservices aufzuteilen. Jeder Mikroservice musste für eine bestimmte Funktion verantwortlich sein. Wir konfigurierten die entsprechende Kommunikation und den Datenaustausch zwischen ihnen. Außerdem setzten wir den CI/CD-Pipeline und automatisierten den Testprozess der Anwendung.
Das zuständige Team führte außerdem eine Datenreplikation durch, um eine stabile Anwendungseffizienz zu gewährleisten, falls ein Datencenter nicht ordnungsgemäß funktioniert.
Es ist jedoch wichtig zu bedenken, dass die Fälle unterschiedlich sind. IoT Oder bei maschinellen Lernlösungen würden Architekten völlig andere Szenarien in Betracht ziehen.
Lesen Sie auchDie Bedeutung von IoT-Testdienstleistungen: ein Performance-Testing-Framework
Weitere Aspekte, die bei der Architekturplanung berücksichtigt werden müssen
Im Rahmen der Architektur-Neugestaltung berücksichtigen Anwendungsarchitekten außerdem Folgendes:
- Service-Level-Agreement (SLA). Die SLA umfasst das Ziel für die Wiederherstellungszeit (RTO), das Ziel für den Wiederherstellungszeitpunkt (RPO), die Zuverlässigkeit, die Latenz und die hohe Verfügbarkeit des Dienstes. Anwendungsarchitekten müssen Bedingungen schaffen, unter denen der Dienst die Anforderungen erfüllt, die für diese Metriken in Bezug auf die Leistung, Verfügbarkeit und schnelle Wiederherstellung bei plötzlichen Ereignissen für die Anwendung festgelegt sind.
Andernfalls kann eine schlechte Serviceleistung alle Beteiligten beeinträchtigen:
- Der Kunde kann aufgrund einer mangelhaften Leistung finanzielle Verluste erleiden.
- Unzufriedene Nutzer könnten den Dienst verlassen.
- Das Ansehen des Entwicklungsunternehmens wird beschädigt werden.
- Sicherheitsmaßnahmen. Neben der Implementierung von Mechanismen zur Verwaltung von Schlüsseln und Geheimnissen, der Zuweisung von Rollen und Verantwortlichkeiten sowie der Verschlüsselung von Kundendaten gibt es weitere Aspekte der Anwendungssicherheitsgarantien, die Anwendungsarchitekten beachten müssen. Es ist wichtig, die Sicherheitsanforderungen für die Speicherung der persönlichen Daten von Nutzern innerhalb einer bestimmten Branche und Region einzuhalten.
Wenn das Team von Yalantis beispielsweise eine SaaS-Lösung für die Terminplanung entwickelte, mussten die Entwickler sicherstellen, dass die Anforderungen an die Sicherheit und den Datenschutz eingehalten wurden. HIPAA-Anforderungen Für Gesundheitszentren. Es handelt sich um eine fortschrittliche Plattform zur Terminplanung für eine medizinische Praxis, die es Patienten ermöglicht, NPI-basierte Ärzte zu finden, Termine mit ihnen zu vereinbaren, online und offline Zahlungen für Arzttermine zu leisten usw. Lesen Sie diese Fallstudie Um zu sehen, wie wir diese SaaS-Lösung entwickelt haben.
Die Einhaltung der regulatorischen Vorschriften kann auch eng mit den Geschäftszielen des Kunden zusammenhängen. Wenn der Kunde beispielsweise plant, die Anwendung in Regionen außerhalb der USA zu verbreiten, müssen Anwendungsarchitekten dies frühzeitig berücksichtigen. Sie müssen beispielsweise die Anwendung so entwickeln, dass sie den Anforderungen der DSGVO entspricht.
Sobald die Architektur- und Datenbank-Neugestaltung abgeschlossen ist, können die Entwickler mit der Codeentwicklung beginnen.
Stufe 3: Aktualisierung des Codebases
Je nach Zustand des bestehenden Codes können Entwickler aus zwei Optionen wählen:
- Wenn es aufgrund ungeeigneter Frameworks oder Programmiersprachen zunächst unmöglich ist, den Code an das neue Bereitstellungsmodell anzupassen, schreiben Sie ihn von Grund auf neu. Es ist besser, von vorne anzufangen, um in Zukunft unerwartete Probleme zu vermeiden.
- Arbeiten an dem bestehenden Code, indem er optimiert und neue Funktionen geschrieben werden, falls dessen Zustand für die Cloud-Plattform geeignet ist.
Wenn die Entwickler die zweite Option wählen, gehen sie folgendermaßen vor:
- Codeoptimierung. Entwickler analysieren Code und optimieren ihn. Dies kann die Umarbeitung bestimmter Teile des Codes beinhalten, die nicht nach den Best Practices geschrieben wurden, Sicherheitslücken aufweisen oder eine übermäßige Anzahl unnötiger Elemente enthalten.
- Code-Update. Entwickler erstellen neue Komponenten, die für SaaS-Lösungen erforderlich sind und in traditionellen Anwendungen möglicherweise nicht verfügbar sind – zum Beispiel Administrationsdashboards für Kunden und Supportteams, zusätzliche Funktionen für die Abrechnung und das Accountmanagement sowie andere Elemente.
- Code-Fusion. Dadurch können Entwickler verschiedene Codeelemente kombinieren, die sie während der Optimierung unabhängig voneinander entwickelt haben, und sie in eine einzige Codebasis zusammenfassen.
- Codemigration. Kurz gesagt, handelt es sich bei diesem Vorgang um die Übertragung der Codebasis von einem System auf ein anderes.
Wenn die Anwendung bereit ist für die Datenmigration, erfolgt der nächste Schritt darin, sie zu testen, um Schwachstellen im Code zu identifizieren und Berichte an die Entwickler zu senden, um die gefundenen Sicherheitslücken zu beheben.
Stufe 4: Testen
In dieser Phase bewerten die Tester die Stabilität der Anwendung; führen Penetrationstests, Funktionstests und Lasttests durch; und testen Integrationsmodule, um sicherzustellen, dass alle Komponenten korrekt funktionieren und reibungslos zusammenarbeiten. Um Datenverluste zu vermeiden, arbeiten Tester und Entwickler mit fiktiven Daten.
Sobald das QA-Team bestätigt hat, dass die Anwendung korrekt funktioniert und das Entwicklungsteam die Optimierung der anfälligen Stellen abgeschlossen hat, ist es Zeit, die Daten zu migrieren.
Lesen Sie auch: Einheitstests für Web-Software: Warum sie notwendig sind und welche Frameworks verwendet werden können
Stufe 5: SaaS-Datenmigration
Die Datenmigration ist ein recht komplexer Prozess, der Vorbereitung und einen detaillierten Migrationsplan erfordert. Vor der Migration ist es entscheidend, eine kluge Wahl zu treffen:
- Datenmigrationmodell
- Datenmigration-Strategie
- Datenmigrationstool
Lassen Sie uns diese einzelnen Optionen im Detail besprechen.
Die Wahl eines Migrationsmodells
Das Migrationsmodell, das ein Kunde wählt, hängt von der Zeit ab, die er für die Migration der Daten bereitstellen kann, sowie von der akzeptablen Ausfallzeit:
Teilweise Datenmigration Dies geschieht durch einen schrittweisen Datentransfer über mehrere Sitzungen. Diese Option ist jedoch nicht besonders komfortabel, da sie eine lange Ausfallszeit des Dienstes erfordert. Manchmal können Kunden diese Variante nicht finanzieren, da die Branche, in der sie tätig sind, eine 24/7-Verfügbarkeit und stabile Leistung erfordert.
Es gibt auch andere Fälle, in denen Kunden möglicherweise nicht mehrere Stunden einen Dienst nutzen können. In diesem Fall kann das Team diese Zeit nutzen und Daten schrittweise migrieren. Dieses Schema funktioniert jedoch nur, wenn Datenmigrationstechniker akzeptable Zeitfenster auswählen und sicherstellen können, dass kein Kunde diese Zeiten für den Dienst nutzen muss. Es ist wichtig, die Zeitzone der Kunden zu berücksichtigen und die üblichen Aktivitätsphasen zu analysieren.
Das Verfahren verläuft in der Regel folgendermaßen:
- Dateningenieure bestimmen die genaue Zeitspanne, die sie zur Datenübertragung verwenden können.
- Dateningenieure führen die Segmentierung von Nutzern und Datenbanken durch, d. h. sie gruppieren Kunden anhand gemeinsamer Merkmale wie Unternehmensgröße, Branche und Art des Abonnementsmodells.
- Nach der Segmentierung werden neue Nutzer automatisch auf den neuen Dienst übertragen, während alte Nutzer weiterhin mit dem alten Dienst arbeiten und Spezialisten ihre Daten schrittweise migrieren.
- Wenn die Ingenieure alle Daten in die neue Datenbank migriert haben, deaktiviert das Team den alten Dienst.
Volle Datenmigration Betrifft die Übertragung aller Daten auf einmal. Das Problem bei dieser Methode ist, dass die Dienstleistung für die Kunden für eine lange Zeit nicht verfügbar sein wird. Die Menge der zu migrierenden Daten bestimmt die Dauer. In manchen Fällen kann die Migration mehrere Tage oder eine Woche dauern.
Daten-Speicherung Ist eine Form der Datenreplikation. Mit Data-Mirrored kopieren Datenmigrationsspezialisten Daten aus einer alten Anwendung in eine neue in Echtzeit. Diese Methode ist benutzerfreundlicher, da Kunden die bestehende Anwendung weiterhin verwenden können, ohne dass sich Änderungen bemerken. Mit Data-Mirrored kann das Team auch schrittweise eine bestimmte Anzahl von Benutzern in den neuen Service überführen, um zu prüfen, wie die Funktionalität funktioniert. Data-Engineering-Dienste Diesem Prozess kann man erheblich vereinfachen, indem man eine effiziente Datenverarbeitung und effektive Migrationsstrategien sicherstellt, die auf die spezifischen Geschäftsanforderungen zugeschnitten sind.
Mikrodienstmigration Wird verwendet, um Daten schrittweise und unsichtbar in die Cloud-Speicher einer neuen Anwendung zu übertragen. Für die Migration von Mikroservices implementieren Entwickler einen neu erstellten Mikroservice und übertragen ihn in eine neue Umgebung mit den mit der Funktionalität verbundenen Daten, für die dieser Mikroservice verantwortlich ist. Die alten Komponenten senden Daten schrittweise an den neuen Mikroservice, und im Laufe der Zeit erlangt der gesamte Dienst Daten aus der alten Anwendung.
Wenn die Datenmigration während des Ausfalls des Dienstes stattfindet, müssen DevOps berücksichtigen, dass einige Daten beschädigt werden können oder während des Prozesses unerwartete Fehler auftreten. Wenn dies passiert, müssen sie bereit sein, ein Team einzubinden und alle Probleme zu lösen. Eine solche Migration erfordert eine sorgfältige Planung der CI/CD-Pipeline-Jobs, fortgeschrittene Datensicherungen und Verantwortliche, die Probleme schnell lösen können.
Wir haben die häufigsten Migrationsmodelle beschrieben. Die Wahl des Modells hängt vom Geschäftsmodell und den Erwartungen des Kunden ab. Dank des SaaS-Modells können wir den Migrationsprozess an die spezifischen Bedürfnisse der Kunden anpassen.
Die Wahl einer SaaS-Migrationstrategie
Während ein Datenmigrationmodell eine Methode zur Übertragung von Daten in die Cloud-Speicherung darstellt, ist eine Datenmigrationstrategie ein Plan zur erfolgreichen Migration von Daten gemäß dem gewählten Modell. Sie können diese Strategien in unserem Artikel detailliert nachlesen. Cloud-Migration-Strategien.
In diesem Artikel möchten wir die Bedeutung einer geeigneten Migrationsstrategie betonen. Durch die Anwendung einer solchen Strategie optimieren Data-Engineers ein bestehendes Databasenformat, sodass es mit dem neuen Bereitstellungsmodell reibungslos funktioniert. Lassen Sie uns zwei Situationen vergleichen, um das besser zu verdeutlichen.
Es gibt einige ideale Szenarien für die Arbeit mit Daten. Zum Beispiel kann das Team die Lift-and-Shift-Strategie nutzen, wenn es nicht irgendwie die Datenbank selbst ändern muss, um sie an die Anforderungen von SaaS anzupassen. Mit der Lift-and-Shift-Strategie erstellt das Team einfach identische Tabellen und Diagramme in einer neuen Datenspeicherungsplattform und synchronisiert diese oder überträgt sie mithilfe von Snapshots. Dieser Prozess ist einfach.
Allerdings gibt es weniger rosige Szenarien. Manchmal muss das Engineering-Team beim Übertragen von Daten aus einer riesigen SQL-Datenbank diese in mehrere NoSQL-Datenbanken aufteilen. Dies erschwert den Prozess erheblich. Vor der Migration müssen die Ingenieure übermäßige Datenverarbeitung, Zerlegung, Denormalisierung und andere Verfahren durchführen.
Mit einer gut durchdachten Migrationsstrategie verlief die Datenmigration mit SaaS-Lösungen einfacher.
Nachdem das Datenmigration-Modell und die Strategie genehmigt wurden, kann das Team mit der Datenmigration beginnen.
Lesen Sie auch: Wichtige Dinge, die bei der Auswahl einer Datenbank für Ihre App berücksichtigt werden müssen
Aspekte, die bei der Auswahl von Datenmigrationstools zu berücksichtigen sind
Cloud-Anbieter bieten maßgeschneiderte Tools zur Datenmigration zu ihren eigenen Diensten an, wie beispielsweise Datenbankmigration-Services von AWS, Azure und Google. Vor der Datenmigration müssen IT-Experten alle Anforderungen und Risiken in Bezug auf die Datensicherheit berücksichtigen. Diese Tools müssen eine Reihe von Kriterien erfüllen:
- Zuverlässigkeit. Da die Datenmigration über SaaS eine ernsthafte und zeitaufwändige Aufgabe ist, ist es entscheidend, sicherzustellen, dass das ausgewählte Tool den gesamten Prozess ohne Unterbrechungen abwickeln kann.
- Sicherheit. Es ist notwendig, nur solche Tools zu wählen, die den Sicherheitsanforderungen bestimmter Gesetze, Normen, Frameworks, Vorschriften oder Richtlinien entsprechen, da Datenmigrationsexperten sensible Benutzerdaten migrieren und Datenlecks vermeiden müssen.
- Flexibilität. Cloud-basierte Dienste haben keine Probleme mit Flexibilität. Man weiß nie, was während der Datenmigration passieren kann. Dank der Flexibilität von Datenmigrationstools, wie der Möglichkeit, sich in der Mitte des Migrationsprozesses an Änderungen anzupassen, können Datenmigrationsspezialisten unerwartete Probleme schneller lösen.
- Preise. Die Kosten einer Migration hängen von der Menge der Daten ab und davon, wie lange diese Daten in die Cloud übertragen werden müssen. Es ist notwendig, alle Kosten zu berechnen, bevor man die passende Option auswählen kann.
Die Datenmigration ist eng mit dem stabilen Betrieb des Netzwerks verbunden, daher ist es entscheidend, alles im Voraus zu überprüfen.
Wir sind fast am Ende. Nach Abschluss der Datenmigration bleiben noch einige letzte Details zu erledigen.
Endphase: Testen, Bereitstellung und Messung
Diese Prozesse ähneln denen für die Entwicklung einer SaaS-Anwendung.
Nachdem die Daten migriert wurden, überprüft das QA-Team die Stabilität der Anwendung. Eine Gruppe von Benutzern, die als Beta-Tester bekannt ist, führt vor der Veröffentlichung die UAT-Prüfung durch. Sie nutzen eine Testumgebung, um zu überprüfen, wie die Anwendung mit realen geschäftlichen und funktionalen Aufgaben zurechtkommt, ob sie korrekt auf Anfragen der Benutzer reagiert und ob es Probleme bei der Arbeit mit realen Daten gibt. Wenn das QA-Team seine Zustimmung gibt, ist es Zeit, die Anwendung in die Produktionsumgebung zu implementieren.
Nach der Veröffentlichung der Anwendung ist es notwendig, die System- und Serverleistung ständig zu überwachen, den Komponentenaufwand und andere Kennzahlen zu verfolgen und Prozesse zu erkennen, die optimiert werden müssen.
Die nächsten Schritte sind die Erfassung von Feedback von Nutzern, die Erhebung und Analyse von Statistiken zur Leistung des Dienstes sowie die Entwicklung von Post-MVP-Versionen der Anwendung.
Folgen Sie dem Ansatz von Yalantis zur Prozessautomatisierung
Yalantis unterstützt aktiv die Automatisierung von Prozessen in allen Phasen der Entwicklung oder Migration einer Anwendung und ermutigt Kunden, diese Praxis anzuwenden. Dies betrifft insbesondere die Testung, Bereitstellung und Überwachung von Anwendungen. Diese Herangehensweise ist nicht nur für unser Unternehmen, sondern auch für unsere Kunden von Vorteil, da die Automatisierung von Prozessen dazu beitragen kann, weniger Geld für Personal auszugeben und dennoch eine qualitativ hochwertige Anwendung zu erhalten.
Beispielsweise berücksichtigen wir bei der Konzeption der Architektur einer Anwendung in der Regel die Implementierung von Mechanismen für die automatisierte Incident-Management-Abwicklung, die das Netzwerkbetriebszentrum (NOC) oder das Bereitschaftsteam über plötzliche Ereignisse informieren. Mit vordefinierten Risiko-Bewertung- und -Management-Strategien sind diese Spezialisten in der Lage, jedes Problem effektiv und schnell zu bewältigen.
Wir nutzen außerdem CI/CD-Pipelines für die kontinuierliche Integration und Bereitstellung und automatisieren den Code-Verifizierungsprozess mithilfe von statischen Anwendungssicherheitsprüfungs-Tools (SAST), um Schwachstellen zu identifizieren und diese in Echtzeit zu beheben.
Sie können mehr über solche Maßnahmen in unserem Artikel zu diesem Thema nachlesen. Die Entwicklung einer SaaS-Anwendung von Grund auf.
Lesen Sie auch: Unsere Expertise in der Entwicklung von SaaS-Lösungen
Fazit
Der Prozess der Migration von traditionellen Anwendungen zu SaaS-Lösungen ist zeitaufwändig und ressourcenintensiv. Diese Anstrengungen werden dem Kunden jedoch eine innovative Lösung mit den enormen Leistungsfähigkeiten und Vorteilen von SaaS-Produkten bringen und ihm einen Weg in eine zukunftsträchtige Zukunft eröffnen. Yalantis bietet SaaS-Softwaremigrationstermine und verfügt über Erfahrung in der Migration traditioneller Anwendungen in SaaS. in verschiedenen Bereichen. Aufgrund dieser ersten Erfahrung haben wir eine kosteneffiziente und effiziente Strategie für die Migration unserer Anwendungen entwickelt, die wir auch für Ihre Lösung bereit sind anzuwenden.
Wollen Sie Ihre Anwendung auf SaaS migrieren?
Wir helfen gerne weiter
FAQ
Wie können Sie den Prozess der Migration von SaaS-Anwendungen beschleunigen und beschleunigen?
Verfolgen Sie gründliche Analysen, erstellen Sie einen qualitativen Migrationsplan und wählen Sie das passende Datenmigrationmodell aus. Denken Sie daran, dass alle kleinen Schritte wichtig sind. Daher empfehlen wir Ihnen, einen zuverlässigen und erfahrenen SaaS-Migrationspartner zu finden, der gemeinsam mit Ihnen an den Ergebnissen arbeitet.
Wie viel Zeit und Ressourcen kostet der Wechsel von der On-Premise-Architektur in die SaaS-Architektur?
Die Anstrengungen bei der Migration, die Zeit und die Kosten können je nach der ursprünglichen Softwaregröße und -komplexität, der Anzahl der vorhandenen Kunden und Benutzer, dem Datenbankmodell und anderen Faktoren von Projekt zu Projekt variieren.
Warum unsere SaaS-Softwaremigration-Services wählen?
Wir verfügen über umfangreiche Erfahrung in der Umwandlung traditioneller Software in eine SaaS-App. Wir können Ihnen dabei helfen, ein modulares System mit Kernfunktionen zu erstellen, das schnell angepasst und in die Geschäftsprozesse Ihrer Kunden integriert werden kann.