ProHoster > Blog > Verwaltung > Übersicht über Cloud-Dienste für die Backend-Entwicklung mobiler Apps
Übersicht über Cloud-Dienste für die Backend-Entwicklung mobiler Apps
Die Backend-Entwicklung ist ein komplexer und kostspieliger Prozess. Bei der Entwicklung mobiler Anwendungen wird dieser oft unangemessen mehr Aufmerksamkeit geschenkt. Dies ist ungerechtfertigt, da jedes Mal typische Szenarien für mobile Anwendungen implementiert werden müssen: Push-Benachrichtigung senden, herausfinden, wie viele Benutzer an der Aktion interessiert sind, eine Bestellung aufgeben usw. Ich möchte eine Lösung, die es Ihnen ermöglicht, sich auf die für die Anwendung wichtigen Dinge zu konzentrieren, ohne dass bei der Umsetzung zweitrangiger Dinge Qualität und Details verloren gehen. Und es gibt Lösungen!
Solche Dienste werden Mobile Backend-as-a-Service (MBaaS) genannt. Die Prozesse zur Erstellung eines Backends mit ihrer Hilfe werden im Vergleich zur „manuellen“ Entwicklung vereinfacht. Dies sind die Einsparungen bei der Einstellung eines separaten Backend-Entwicklers. Und die Tatsache, dass sich der MBaaS-Anbieter um alle Probleme im Zusammenhang mit Serverstabilität, Lastausgleich, Skalierbarkeit und anderen Infrastrukturschwierigkeiten kümmert, gibt Vertrauen in die Qualität des Ergebnisses und ist der Hauptvorteil solcher Dienste.
In diesem Artikel betrachten wir mehrere große und bewährte Dienste: Microsoft Azure, AWS Amplify, Google Firebase, Kumulos.
Die Punkte, nach denen wir die Dienste betrachten werden: die Funktionalität des Backends und der Analyse, die Komplexität der Integration des Dienstes, die Zuverlässigkeit und Stabilität der Arbeit sowie die Preispolitik. Lassen Sie uns jeden Dienst durchgehen und seine Funktionen anhand dieser Kriterien notieren.
Microsoft Azure
Microsoft Azure - Infrastructure-As-A-Service (IaaS) ist ein Dienst, der vollwertige BaaS-Funktionalität enthält und bei der Erstellung eines Backends für mobile Anwendungen hilft.
MBaaS
Microsoft Azure verfügt über alle Funktionen zum Erstellen eines Backends für eine mobile Anwendung. Verarbeitung von Push-Benachrichtigungen, automatische Skalierung, Datensynchronisierung, Social-Media-Integration und mehr.
Ein wichtiges Merkmal von Azure ist der geografische Standort der Server. Sie befinden sich in 54 Regionen der Welt, was die Wahrscheinlichkeit erhöht, einen Server auszuwählen, der hinsichtlich der Latenz zu Ihnen passt. Da bei einer Störung am häufigsten nur bestimmte Regionen leiden, kann davon ausgegangen werden, dass es umso unwahrscheinlicher ist, dass es sich um die sehr „instabile“ Region handelt, je mehr Regionen es gibt. Microsoft behauptet, mehr Regionen zu haben als jeder andere Cloud-Anbieter. Das ist definitiv ein Plus.
Analytics
Der Dienst bietet die Möglichkeit, die Leistung von Anwendungen in Echtzeit zu überwachen und Berichte über „Ausfälle“ zu sammeln. Dadurch können Sie das Problem sofort lokalisieren und lösen.
Außerdem können Sie in Azure eine eigene Bibliothek verwenden, um Analysen in Anwendungen zu sammeln: Sammeln Sie grundlegende Metriken (Geräteinformationen, Sitzungsinformationen, Benutzeraktivität usw.) und erstellen Sie benutzerdefinierte Ereignisse zur Nachverfolgung. Alle gesammelten Daten werden sofort nach Azure exportiert, sodass Sie damit in einem praktischen Format analytische Arbeiten durchführen können
Zusätzliche Funktionalität
Es gibt auch interessante Funktionen wie das Testen von Anwendungs-Builds auf realen Geräten, CI/CD-Einstellungen zur Automatisierung des Entwicklungsprozesses und Tools zum Einreichen von Anwendungs-Builds für Betatests oder direkt an den App Store oder Google Play
Mit Azure können Sie ein sofort einsatzbereites Framework verwenden, das für die Arbeit mit Karten und Geodaten entwickelt wurde, was die Arbeit mit diesem Format erleichtert.
Von besonderem Interesse ist die Möglichkeit, Probleme mithilfe von zu lösen künstliche Intelligenz, mit dem Sie verschiedene analytische Indikatoren vorhersagen und gebrauchsfertige Tools für Computer Vision, Spracherkennung und vieles mehr nutzen können.
Komplexität der Integration
Der Microsoft Azure-Dienst bietet SDK für große mobile Plattformen (iOS und Android) und, was selten vorkommt, für plattformübergreifende Lösungen (Xamarin und PhoneGap).
Im Allgemeinen beschweren sich Benutzer über die komplexe Benutzeroberfläche und die hohe Eintrittsbarriere. Dies weist auf mögliche Probleme bei der Integration des Dienstes hin.
Es ist wichtig zu verstehen, dass eine hohe Eintrittsschwelle kein Sonderfall bei Azure ist, sondern ein generelles Problem für IaaS. Auch Amazon Web Services, auf die wir als nächstes eingehen, ist beispielsweise noch anfälliger für diese Krankheit.
Zuverlässigkeit
Die Stabilität des Dienstes von Microsoft sieht ordentlich aus. Es ist erkennbar, dass es in verschiedenen Regionen mindestens einmal im Monat zu kurzfristigen Problemen kommen kann. Dieses Bild spricht für die ausreichende Stabilität des Dienstes. Probleme treten in bestimmten Regionen selten auf und werden äußerst schnell behoben, sodass der Dienst eine angemessene Betriebszeit aufrechterhalten kann.
Dies wird durch die Liste der jüngsten Vorfälle auf Azure-Servern bestätigt – die meisten davon sind kurzfristige Warnungen, und der letzte Ausfall der Server war Anfang Mai. Statistiken bestätigen das Bild eines stabilen Dienstes.
Kosten
В Preispolitik Microsoft Azure bietet für den Dienst unterschiedliche Zahlungstarife an, es gibt auch einen kostenlosen Tarif mit gewissen Limits, der zum Testen ausreicht. Es ist wichtig zu bedenken, dass es sich bei Azure um einen IaaS-Dienst handelt, bei dem es bei den meisten aufgrund ihrer Besonderheiten und der Komplexität der Berechnung verbrauchter Ressourcen schwierig ist, die Arbeitskosten vorherzusagen. Viele stehen vor Schwierigkeiten und oft sogar vor der Unfähigkeit, die genutzte Kapazität richtig zu berechnen. Die tatsächliche Rechnung kann erheblich von der erwarteten abweichen.
Darüber hinaus verfügt Azure zusätzlich zu diesen Plänen über separate kostenpflichtige Dienste: App Service Domain, Azure App Service-Zertifikate und SSL-Verbindungen. Sie beziehen sich alle auf die Verwaltung Ihrer Infrastruktur, wir gehen nicht näher darauf ein.
In vielen Rezensionen beschweren sich Nutzer über die komplexe Preispolitik und die Unfähigkeit, die Kosten des Dienstes vorherzusagen. Der von Microsoft vorgeschlagene Rechner wird als nutzlos bezeichnet und der Dienst selbst ist extrem teuer.
Fazit für Azure
Der Azure-Dienst von Microsoft ist ein funktionales und stabiles Tool für den Einsatz als Haupt-MBaaS-Anbieter. Dadurch, dass der Dienst zunächst eine vollständige Infrastruktur bereitstellt, eröffnen sich viele Möglichkeiten zur Weiterentwicklung Ihres Backends über mobile Anwendungen hinaus. Eine große Anzahl von Servern und eine große Anzahl an Regionen, in denen sie sich befinden, hilft Ihnen bei der Auswahl der richtigen Latenzzeit. Positive Nutzerbewertungen bestätigen dies. Zu den negativen Punkten zählen eine hohe Eintrittsschwelle und die Schwierigkeit, die Kosten der Dienstleistung vorherzusagen.
Passt? Folgen Sie diesen Links, um Microsoft Azure genauer kennenzulernen, alle Details zu erfahren und mit der Nutzung zu beginnen:
Amazon Web Services (AWS) ist das zweite IaaS, das es in unsere Auswahl geschafft hat. Es stellt eine große Anzahl von Diensten dar und ist interessant, weil es in Analogie zu Microsoft Azure über einen dedizierten Funktionsumfang namens „ AWS verstärken, das im Wesentlichen das mobile Backend ist. Vielleicht haben Sie schon einmal den Namen AWS Mobile Hub gehört, der seit langem der Hauptdienst ist, der MBaaS-Funktionalität bereitstellt. Wie schreiben Amazon selbst, Amplify ist ein überarbeiteter und verbesserter Mobile Hub, der die Hauptprobleme seines Vorgängers löst.
Laut Amazon genießt Amplify das Vertrauen vieler großer Unternehmen, darunter Netflix, Airbnb und viele andere.
MBaaS
Mit der mobilen Lösung von Amazon können Sie schnell alle notwendigen Funktionen für eine mobile Anwendung konfigurieren. Ob es um Serverlogik, Datenspeicherung, Benutzerautorisierung oder Inhaltsverarbeitung und -bereitstellung, Benachrichtigungen und Analysen geht.
Auch in Sachen Infrastruktur stellt Amazon alle notwendigen Voraussetzungen wie Skalierung, Lastverteilung und mehr bereit.
Analytics
Für die Analytik ist ein eigener Dienst zuständig Amazon-Pinpoint, wo Sie die Zielgruppe segmentieren und groß angelegte Targeting-Kampagnen über verschiedene Kanäle (Push-Benachrichtigungen, SMS und E-Mail) durchführen können, um Benutzer für den Dienst zu gewinnen.
Pinpoint liefert Echtzeitdaten. Sie können dynamische Zielgruppensegmente erstellen, deren Engagement analysieren und Ihre Marketingstrategie basierend auf diesen Daten optimieren.
Zusätzliche Funktionalität
Amazon Amplify bietet Zugriff auf den Dienst AWS-Gerätefarm um Builds Ihrer Anwendungen auf realen Geräten zu testen. Mit dem Dienst können Sie parallel automatisierte Tests Ihrer Anwendungen auf verschiedenen physischen Geräten durchführen. Manuelle Tests sind ebenfalls verfügbar.
Service AWS Amplify-Konsole ist ein Tool zum Bereitstellen und Hosten von Serverressourcen und Webanwendungen mit der Möglichkeit, CI/CD zu konfigurieren, um den Entwicklungsprozess zu automatisieren.
Ungewöhnlich ist auch die Möglichkeit, Sprach- und Textbots „out of the box“ als Schnittstelle für die Benutzerinteraktion in mobile Anwendungen einzuführen. Es funktioniert mit dem Dienst Amazon Lex.
Interessanterweise bietet AWS Amplify auch eine kleine Bibliothek vorgefertigte UI-Komponenten für Ihre React Native-Anwendung, die als leichte Beschleunigung des Entwicklungsprozesses dienen oder in einem Prototyp oder MVP Ihres Projekts verwendet werden können.
Komplexität der Integration
Amazon Amplify bietet ein SDK für iOS, Android, JavaScript и React Native und ziemlich detailliert. Dokumentation. Es ist wichtig zu beachten, dass der Dienst neben REST auch GraphQL unterstützt.
Wie im Azure-Analyseprozess erläutert, ist eine hohe Eintrittsbarriere ein häufiges Problem für alle IaaS. Amazon ist keine Ausnahme, ganz im Gegenteil. Dies ist wahrscheinlich einer der am schwierigsten zu verstehenden Dienste. Dies liegt an der großen Anzahl unterschiedlicher Tools, über die AWS verfügt. Das Erlernen von AWS von Grund auf wird viel Zeit in Anspruch nehmen. Wenn Sie sich jedoch nur auf Amplify beschränken, können Sie in einem angemessenen Zeitrahmen eine funktionierende Lösung implementieren.
Zuverlässigkeit
Der Dienst von Amazon sieht statistisch gesehen weniger stabil aus als Azure. Aber erfreulich ist die geringe Zahl vollwertiger Abschaltungen (rote Zellen). Im Grunde kommt es lediglich zu Warnungen und Instabilität bei einigen Diensten.
Dies wird durch die Liste der jüngsten Vorfälle auf AWS-Servern bestätigt – einige davon sind Warnungen unterschiedlicher Dauer (manchmal bis zu 16 Stunden), und der letzte Ausfall der Server war Mitte Juni. Im Allgemeinen macht es einen recht stabilen Eindruck.
Kosten
Preispolitik Amazon Web Services ist auf den ersten Blick ganz einfach: Zahlen Sie nur für das, was Sie über das kostenlose Limit hinaus nutzen. Aber wie bei Microsoft Azure ist es umso schwieriger, die Gesamtkosten der Arbeit vorherzusagen, je mehr Dienste Sie nutzen.
Im Internet gibt es viele Rezensionen, die AWS als zu teuer bezeichnen. Was können wir sagen, wenn es seit langem Unternehmen gibt, die gegen einen gesonderten Betrag bereit sind, Ihre Nutzung von AWS zu optimieren und die monatlichen Rechnungen so weit wie möglich zu minimieren?
Fazit von Amazon Amplify
Generell ähnelt die Geschichte bei Amazon Amplify der von Azure. In vielerlei Hinsicht die gleiche Funktionalität für MBaaS, Bereitstellung einer vollwertigen Infrastruktur und der Möglichkeit, Ihr eigenes Backend zu entwickeln. Positiv stechen die Marketingtools von Amazon hervor, insbesondere Pinpoint.
Auf der negativen Seite erinnern wir uns an die nicht weniger hohe Eintrittsschwelle als bei Azure und die gleichen Schwierigkeiten bei der Kostenprognose. Hinzu kommt ein weniger stabiler Service und, den Bewertungen nach zu urteilen, ein nicht reaktionsfähiger technischer Support.
Passt? Folgen Sie diesen Links, um mehr über Amazon Amplify zu erfahren, alle Details zu erfahren und mit der Nutzung zu beginnen:
Service Firebase von Google ist eine der interessantesten Möglichkeiten als MBaaS-Dienst für Ihre Bewerbung. Es hat sich längst als nützliches Tool etabliert und ist es auch für viele bekannte Anwendungen: Shazam, Duolingo, Lyft und andere.
MBaaS
Firebase kümmert sich um alles, was Ihre mobile App benötigt. Der Dienst vereint vollwertige Backend-Funktionen wie Datenspeicherung, Synchronisierung, Authentifizierung und Cloud-Funktionen (Backend-Code-Ausführung) und befindet sich derzeit in der Beta-Phase Kit für maschinelles Lernen, mit dem die Anwendung verschiedene auf maschinellem Lernen basierende Funktionen implementiert (Erkennung von Text, Objekten in Fotos und vieles mehr).
Analytics
Ein wichtiges Merkmal von Firebase ist, dass der Dienst neben der Backend-Funktionalität auch vielfältige Möglichkeiten zur Anwendungsanalyse bietet. Integriertes Google Analytics, Benutzerbasissegmentierung und Push-Benachrichtigungen. Ebenfalls im Jahr 2017 tätigte Google eine große Akquisition, indem es den weit verbreiteten Fabric-Dienst kaufte und ihn zusammen mit Crashlytics in Firebase integrierte, einem sehr nützlichen Tool zum Verfolgen von App-Fehlern und zum Sammeln von Statistiken und Berichten über Abstürze, die auf den Geräten der Benutzer aufgetreten sind.
Zusätzliche Funktionalität
Firebase stellt ein Tool bereit Firebase Dynamic Links Um dynamische Links zu Ihren Inhalten zu verarbeiten, können Sie mit diesem Tool Links generieren, die zur Anwendung führen, wenn diese installiert ist. Andernfalls wird der Benutzer zur Installation an den App Store oder Google Play weitergeleitet. Außerdem funktionieren solche Links abhängig von dem Gerät, auf dem sie geöffnet werden. Wenn es sich um einen Computer handelt, wird die Seite im Browser geöffnet, und wenn es sich bei dem Gerät um einen Übergang zur Anwendung handelt.
Mit Google können Sie Ihre Anwendungen auch A/B-Tests durchführen Firebase A/B-Tests und richten Sie die Fernkonfiguration mit dem Tool ein Remote-Konfiguration.
Komplexität der Integration
Es wird deutlich, dass dieser Dienst äußerst viele Funktionen für Ihre Anwendung vereint. Für die Firebase-Integration sollten Sie verwenden SDK notwendige Plattform, einschließlich iOS, Android, JavaScript sowie für C++ und Unity, was sehr nützlich sein wird, wenn Sie Spiele entwickeln. Es ist wichtig zu beachten, dass Firebase über eine ziemlich detaillierte Dokumentation und eine breite Entwickler-Benutzerbasis verfügt und daher viele unterstützende Inhalte im Web, seien es Antworten auf Fragen oder Übersichtsartikel.
Zuverlässigkeit
Ob man sich auf Google verlassen sollte, ist Gegenstand eines separaten Artikels. Einerseits hat man einen sehr stabilen und funktionierenden Anbieter, andererseits weiß man nie, wann „Google diesen Dienst auch schließen wird.“ Kein Wunder, dass Google von seiner Mission ausgeschlossen wurde „Sei nicht böse“.
Wenn ein Anbieter über solche Ressourcen verfügt, sollte die Betriebszeit scheinbar bei 100 % liegen, es gibt jedoch immer noch viele Berichte über Probleme mit dem Dienst, z. B. zitieren einer der Benutzer: Es kommt zu Ausfallzeiten. Im Fall von Firebase könnte man sagen, dass „Verfügbarkeit“ stattfindet.. Und tatsächlich: Wenn Sie sich die Statistiken zu Ereignissen mit Firebase-Diensten ansehen, werden wir feststellen, dass es sowohl zu kleinen Ausfallzeiten als auch zu vollständigen Ausfällen für 5–7 Stunden kommt, was für Ihren Dienst von entscheidender Bedeutung sein kann.
Und manchmal dauern die Probleme wochenlang. Wir dürfen nicht vergessen, dass kritischer und lebenswichtiger Code für das Produkt auf diesen Diensten ausgeführt werden kann. Diese Statistik sieht nicht sehr erfreulich aus.
Kosten
Preispolitik Firebase ist klar und einfach, es gibt 3 Pläne: Spark, Flame und Blaze. Sie unterscheiden sich ideologisch voneinander. Während es sich bei Spark um einen kostenlosen Plan mit Einschränkungen handelt, können Sie einen erheblichen Teil der Funktionalität der Plattform bereitstellen und testen. Die Flame- und Blaze-Pläne haben eine kostenpflichtige Nutzung. Flame kostet pauschal 25 US-Dollar pro Monat, aber im Wesentlichen erhalten Sie den gleichen Spark, nur mit deutlich höheren Limits.
Blaze ist anders als die anderen. Es ermöglicht Ihnen, die Funktionen der Plattform in unbegrenzter Menge zu nutzen, während Sie proportional zu den von Ihnen genutzten Ressourcen bezahlen. Dies ist ein äußerst flexibler Plan, bei dem Sie nur für die Funktionen bezahlen, die Sie nutzen. Wenn Sie sich beispielsweise dafür entscheiden, die Plattform nur zum Testen von Anwendungen zu nutzen, zahlen Sie nur für die Überschreitung der kostenlosen Testgrenzen.
Alles in allem ist die Preisgestaltung von Firebase sehr transparent und vorhersehbar. Dabei verstehen Sie, wie viel diese oder jene Funktionalität kosten wird, und kalkulieren auch die Kosten bei der Skalierung oder Änderung des Dienstes.
Zusammenfassung von Firebase
Der Firebase-Dienst von Google ist ein vollwertiger MBaaS-Anbieter, der die infrastrukturellen Komplexitäten begrenzt, mit denen AWS und Azure direkt verbunden sind. Alle für die Entwicklung eines Cloud-Backends erforderlichen Funktionen sind vorhanden, es gibt zahlreiche Analysemöglichkeiten, eine relativ einfache Integration, eine relativ niedrige Einstiegsschwelle und eine transparente Preisgestaltung.
Von den negativen Seiten - Probleme mit der Stabilität des Dienstes. Eine Möglichkeit, darauf Einfluss zu nehmen, gibt es leider nicht, wir können nur auf die Google-Ingenieure hoffen.
Passend für dich? Folgen Sie diesen Links, um Google Firebase genauer kennenzulernen, alle Details zu erfahren und mit der Nutzung zu beginnen:
Kumulos ist ein unabhängiger MBaaS-Dienst, der 2011 gegründet wurde.
MBaaS
Als mobiles Backend bietet Kumulos viele Standardtools, die wir bereits in früheren Diensten gesehen haben. Es ist auch möglich, umfassende Kampagnen basierend auf dem Zeitplan und dem geografischen Standort zu erstellen, Stürze zu verfolgen und zu diagnostizieren, eine bequeme Integration mit Slack, Trello und Jira, Datenspeicherung und Benutzerautorisierungsverarbeitung.
Wie Firebase kümmert sich der Dienst um alle Probleme mit Lastausgleich, Skalierung und anderen Infrastrukturproblemen.
Analytics
In Kumulos sind umfangreiche Analysen integriert, darunter regelmäßige Berichte, Benutzersegmentierung, detaillierte Verhaltensanalysen, Kohortenanalysen und mehr. Die Plattform wurde ursprünglich für Big Data entwickelt und ist bereit, mit großen Datenmengen zu arbeiten. Alle Analysen werden in Echtzeit angezeigt. Die interne Analyse-Engine prognostiziert verschiedene Erkenntnisse basierend auf den gesammelten Statistiken.
Eine wichtige Funktion ist die Möglichkeit, Daten zu speichern und in andere Dienste zu exportieren, darunter: Salesforce, Google BigQuery, Amplitude und Tableau.
Zusätzliche Funktionalität
Eine interessante und selten gesehene Funktion ist ein Tool zur Optimierung der App-Werbung im App Store. Kumulos App Store-Optimierung wertet Ihre Bewerbungsseite aus und schlägt Lösungen zur Leistungsverbesserung vor. Verfolgt App-Erfolgsfaktoren wie Benutzerbewertungen und App-Rankings in den Top-Ländern und erstellt auf der Grundlage dieser Daten Berichte.
Es ist äußerst interessant, über ein spezielles Toolkit für mobile Entwicklungsstudios zu verfügen, das eine komfortable Schnittstelle zur Verwaltung von Anwendungsdaten für verschiedene Kunden bietet. Außerdem erstellen wir Berichte speziell für Ihre Kunden.
Komplexität der Integration
Bei Kumulos Große Auswahl an SDKs für die Integration mit nativen und plattformübergreifenden Tools. Bibliotheken werden aktiv aktualisiert und gepflegt.
Für alle Tools wird eine ausführliche Dokumentation beschrieben, außerdem gibt es mehrere Tutorials und vorgefertigte Beispiele zur Nutzung der Plattform.
Zuverlässigkeit
Leider konnte ich keine Statistiken zur Stabilität der Server des Kumulos-Dienstes finden.
Kosten
Zusätzlich zur kostenlosen Testversion bietet Kumulos drei weitere an Bezahlter Plan: Startup, Unternehmen und Agentur. Sie arbeiten nach dem Prinzip „Ich zahle nur für das, was ich nutze.“ Leider stellt der Dienst keine öffentlich zugängliche Preisliste zur Verfügung, es scheint, dass diese individuell und auf der Grundlage Ihrer Bedürfnisse berechnet wird.
Es ist unmöglich, genau über die Vorhersehbarkeit und Höhe der Zahlungen zu sprechen, ohne die Tarife selbst für alle Pläne zu kennen. Eines gefällt: Offenbar ist die Preisgestaltung recht flexibel.
Insgesamt für Kumulos
Kumulos bietet eine MBaaS-Plattform, die Firebase in vielerlei Hinsicht ähnelt. Es enthält alle notwendigen MBaaS-Servicetools sowie umfangreiche Analyse- und Berichtsfunktionen. Interessant erscheint es als eigenständiges Angebot für mobile Anwendungsstudios, das viele Zusatzvorteile vereint.
Das Negative ist das Fehlen jeglicher Daten zur Stabilität der Server und der geschlossenen Preise.
Einen Versuch wert? Folgen Sie diesen Links, um Kumulos genauer kennenzulernen, alle Details zu erfahren und mit der Nutzung zu beginnen:
Die Wahl eines Cloud-Dienstes für das mobile Backend muss ernst genommen werden, da sie einen dramatischen Einfluss auf den Entwicklungsprozess und die nachfolgende Entwicklung Ihrer Anwendung oder Ihres Dienstes haben wird.
In dem Artikel haben wir vier Dienste überprüft: Microsoft Azure, AWS Amplify, Google Firebase und Kumulos. Darunter sind 4 große IaaS-Dienste und 2 MBaaS, die sich speziell auf das mobile Backend spezialisiert haben. Und bei jeder der Optionen gab es bestimmte Probleme und negative Aspekte.
Es ist wichtig zu verstehen, dass es keine perfekte Lösung gibt. Die Wahl der Technologie für ein Projekt ist ein Kompromiss zwischen Schlüsselfaktoren. Ich schlage vor, dass Sie sie noch einmal durchgehen:
Funktionalität
Die Funktionalität der von Ihnen gewählten Plattform wirkt sich direkt auf die Einschränkungen aus, die Sie Ihrem Backend auferlegen. Sie müssen sich bei der Auswahl eines Dienstes immer über Ihre Prioritäten im Klaren sein, sei es die Verwendung einer bestimmten Funktion, wie z. B. Push-Benachrichtigungen, um Geld zu sparen, oder der Aufbau Ihrer eigenen Infrastruktur innerhalb desselben Ökosystems, um Ihr Backend zu zentralisieren und zu vereinheitlichen.
Analytics
Analytik ist aus modernen Diensten nicht mehr wegzudenken. Schließlich ist es dieses Tool, mit dem Sie den Service verbessern, Benutzer analysieren und dadurch mehr Gewinn erzielen können. Die Qualität des Endprodukts hängt direkt von der Qualität und Funktionalität der Analytik ab. Aber niemand macht sich die Mühe, Analysen von Drittanbietern anzubinden, sei es der analytische Teil von Firebase, AppMetrica von Yandex oder etwas anderes, das für Sie besser geeignet ist.
Komplexität der Integration
Die Komplexität der Integration wirkt sich direkt auf die Kosten sowohl der finanziellen als auch der zeitlichen Ressourcen im Entwicklungsprozess aus, ganz zu schweigen von der möglichen Komplikation des Prozesses der Entwicklersuche aufgrund der Unbeliebtheit oder einer hohen Einstiegsschwelle in das Toolkit.
Zuverlässigkeit und Stabilität
Die Zuverlässigkeit und Stabilität eines jeden Dienstes ist einer der wichtigsten Indikatoren. Und wenn die eigene Anwendung unter Problemen auf Anbieterseite leidet, ist die Situation nicht angenehm. Dem Endnutzer ist es egal, was dort nicht stimmt und ob Sie konkret dafür verantwortlich sind, dass der Dienst nicht funktioniert. Er wird nicht in der Lage sein, das zu tun, was er geplant hat, und das war's, der Eindruck ist verdorben, er wird möglicherweise nicht zum Produkt zurückkehren. Ja, es gibt keine idealen Dienste, aber es gibt Tools, um Verluste bei Problemen auf Anbieterseite zu minimieren.
Preispolitik
Die Preispolitik des Dienstes ist für viele ein entscheidender Faktor, denn wenn die finanziellen Möglichkeiten nicht mit den Anforderungen des Anbieters übereinstimmen, ist eine weitere Zusammenarbeit einfach nicht möglich. Es ist wichtig, die Kosten der Dienstleistungen, von denen Ihr Produkt abhängt, zu berücksichtigen und vorherzusagen. Die Preise variieren je nach Dienst, sind aber meist proportional zu den von Ihnen genutzten Ressourcen, sei es die Anzahl der gesendeten Benachrichtigungen oder die Größe Ihrer Speicherfestplatte.
Verkäuferschloss
Bei der Nutzung dieser Dienste ist es wichtig, sich nicht auf eine Lösung festzulegen, da man sonst völlig abhängig davon wird und der sogenannten „Vendor Lock“ unterliegt. Dies bedeutet, dass Sie sich dringend nach einem neuen MBaaS-Anbieter umsehen müssen, wenn etwas mit dem Dienst passiert, sich der Eigentümer ändert, die Entwicklungsrichtung ändert oder geschlossen wird, und je nach Größe der Anwendung wird ein solcher Umzug viel Zeit in Anspruch nehmen und dadurch Geldkosten. . Besonders beängstigend wird es, wenn das Backend an eine einzigartige Funktionalität des MBaaS-Anbieters gebunden ist, da alle Anbieter unterschiedlich sind und nicht alle über die gleichen Funktionen verfügen. Daher ist es selten möglich, sich „schmerzfrei“ zu bewegen.
Die gesamte Analyse kann in der folgenden Tabelle zusammengefasst werden:
Microsoft Azure
AWS verstärken
Google Firebase
Kumulos
MBaaS-Tools
Push-Benachrichtigungen, Datensynchronisierung,
automatische Skalierung und Lastverteilung und vieles mehr
Analytics
Echtzeitanalyse
Analyse- und Targeting-Kampagnen in Amazon Pinpoint
Google Analytics und Crashlytics zum Sammeln von Absturzberichten
Echtzeitanalysen, Kohortenanalysen, Arbeiten mit Big Data und Export in andere Dienste
Zusätzliche Funktionalität
Build-Automatisierung
Geolocation-Framework
KI-Tool
Viele andere Azure-Dienste
Gerätefarm
Konsole verstärken
Amazon Lex
Viele andere AWS-Dienste
Dynamische Links
A/B-Tests
Remote-Konfiguration
App-Optimierung im App Store.
Funktionalität für die Studioentwicklung
Integration
SDKs: iOS, Android, Xamarin, Phonegap
Hohe Eintrittsschwelle
SDK: iOS, Android, JS, React Native
GraphQL-Unterstützung
Hohe Eintrittsschwelle
SDK: iOS, Android, JS, C++, Unity
SDK: IOS, Android, WP, Cordova, PhoneGap, Xamarin, Unity, LUA Corona und viele mehr
Zuverlässigkeit und Stabilität
Extrem seltene Abschaltungen (bis zu 1 Mal pro Monat)
Seltene Ausfälle, meist Warnungen
Es gibt Krisenzeiten und Stromausfälle
Keine Statistiken
Preispolitik
Berechnet aus verbrauchten Ressourcen
Schwierigkeiten bei der Prognose
Die Kosten sind höher als bei MBaaS-Diensten
Spark (kostenlos)
Flamme (25$/m)
Blaze (pro Verwendung)
Startup
Unternehmen
Agentur
Alle Pläne berechnen pro Nutzung
Daher haben wir 4 Cloud-Dienste analysiert. Es gibt Dutzende anderer ähnlicher Tools. Den perfekten Service gibt es nicht. Die beste Strategie, um den richtigen Service zu finden, besteht darin, sich so früh wie möglich über die Anforderungen Ihres Anbieters und die Kompromisse, die Sie eingehen möchten, im Klaren zu sein.
Wir möchten, dass Sie die richtige Wahl treffen.