Le développement backend est un processus complexe et coûteux. Lors du développement d'applications mobiles, il reçoit souvent beaucoup plus d'attention. Ce n'est pas justifié, car chaque fois que vous devez implémenter des scénarios typiques pour les applications mobiles: envoyez une notification push, découvrez combien d'utilisateurs sont intéressés par l'action et passez une commande, etc. Je voudrais une solution qui nous permettra de nous concentrer sur des choses importantes pour l'application sans perte de qualité et de détails dans la mise en œuvre des secondaires. Et il existe de telles solutions!
Ces services sont appelés Mobile Backend-as-a-Service (MBaaS). Les processus de création d'un backend avec leur aide sont simplifiés, par rapport au développement de "manual". Cela permet d'économiser sur l'embauche d'un développeur backend distinct. Et le fait que le fournisseur MBaaS s'occupe de tous les problèmes liés à la stabilité du serveur, à l'équilibrage de charge, à l'évolutivité et à d'autres difficultés d'infrastructure donne confiance en la qualité du résultat et constitue le principal avantage de ces services.
Dans cet article, nous considérerons plusieurs services importants et établis: Microsoft Azure, AWS Amplify, Google Firebase, Kumulos.

Éléments pour lesquels nous considérons des services: fonctionnalités de backend et d'analyse, complexité de l'intégration des services, fiabilité et stabilité du travail et politique de tarification. Passons en revue chaque service et notons leurs fonctionnalités en fonction de ces critères.
Microsoft azur
Microsoft Azure est un service Infrastructure-As-A-Service (IaaS) qui contient des fonctionnalités BaaS à part entière et aide à créer un backend pour les applications mobiles.
MBaaS
Microsoft Azure possède la gamme complète de fonctionnalités pour créer un backend pour une application mobile. Traitement des notifications push, mise à l'échelle automatique, synchronisation des données, intégration avec les réseaux sociaux et bien plus encore.
Une caractéristique importante d'Azure est l'emplacement géographique des serveurs. Ils sont situés dans 54 régions du monde, ce qui augmente la probabilité de choisir un serveur adapté au retard. Étant donné qu'en cas de dysfonctionnements, seules certaines régions souffrent le plus souvent, on peut supposer que plus il y a de régions, moins il est probable qu'elles atteignent celle très «instable». Selon Microsoft, ils ont plus de régions que tout autre fournisseur de solutions cloud. C'est sans aucun doute un plus.

Analytique
Le service offre la possibilité en temps réel de surveiller la santé des applications et de collecter des rapports de "plantages". Cela vous permet de localiser et de résoudre instantanément le problème.
Toujours dans Azure, vous pouvez utiliser leur propre bibliothèque pour collecter des analyses dans les applications: collecter des métriques de base (informations sur l'appareil, sur la session, l'activité des utilisateurs, etc.) et créer vos propres événements pour le suivi. Toutes les données collectées sont immédiatement exportées vers Azure, ce qui vous permet d'effectuer un travail d'analyse avec elles dans un format pratique.
Fonctionnalité supplémentaire
Il existe également des fonctionnalités intéressantes telles que le test de builds d'applications sur des appareils réels, les paramètres CI / CD pour automatiser le processus de développement et des outils pour envoyer des builds d'applications pour les tests bêta ou directement dans l'App Store ou Google Play
Azure vous permet d'utiliser le cadre «prêt à l'emploi» conçu pour travailler avec des cartes et des données géospatiales, ce qui simplifie le travail avec ce format.
Particulièrement intéressante est la possibilité de résoudre des problèmes en utilisant l'
intelligence artificielle , avec laquelle vous pouvez prédire divers indicateurs analytiques et utiliser des outils prêts à l'emploi pour la vision par ordinateur, la reconnaissance vocale et bien plus encore.
Complexité de l'intégration
Le service Microsoft Azure fournit des
SDK pour les principales plates-formes mobiles (iOS et Android) et, ce qui n'est pas souvent le cas, pour les solutions multiplateformes (Xamarin et PhoneGap).
En général, les utilisateurs se plaignent d'une interface compliquée et d'un seuil d'entrée élevé. Cela indique des problèmes possibles dans l'intégration des services.
Il est important de comprendre qu'un seuil d'entrée élevé n'est pas un cas spécial avec Azure, mais un problème courant pour IaaS. Par exemple, Amazon Web Services, dont nous parlerons plus loin, est également davantage sujet à cette maladie.
Fiabilité

La stabilité du service de Microsoft semble décente. On peut voir que des dysfonctionnements à court terme dans diverses régions peuvent se produire au moins une fois par mois. Cette image indique une stabilité suffisante du service, des dysfonctionnements se produisent rarement dans certaines régions et sont corrigés très rapidement, permettant au service de maintenir une disponibilité décente.

Cela est confirmé par la liste des incidents récents sur les serveurs Azure - la plupart d'entre eux sont des avertissements à court terme, et la dernière fois que les serveurs "se sont installés", c'était début mai. Les statistiques confirment l'image d'un service stable.
Coût
Dans la
politique de tarification de Microsoft Azure, il existe différents tarifs pour payer le service, il existe également un plan gratuit avec certaines limites, ce qui est suffisant pour les tests. Il est important de se rappeler qu'Azure est un service IaaS, dont la plupart, en raison de leur spécificité et de leur complexité de calcul des ressources travaillées, souffrent de la difficulté de prédire le coût du travail. Beaucoup sont confrontés à des difficultés et souvent même à l'incapacité de calculer correctement les capacités utilisées. Le score réel peut différer considérablement de celui sur lequel vous comptiez.

En plus de ces plans, Azure propose également des services payants distincts: domaine App Service, certificats Azure App Service et connexions SSL. Tous concernent la gestion de votre infrastructure, nous ne les concernerons pas.
Dans de nombreux avis, les utilisateurs se plaignent d'une politique de prix difficile et de l'impossibilité de prévoir le coût du service. La calculatrice proposée par Microsoft est dite inutile, et le service lui-même est extrêmement coûteux.
Résumé Azure
Le service Azure de Microsoft est un outil fonctionnel et stable à utiliser en tant que principal fournisseur MBaaS. Le fait que le service fournisse initialement une infrastructure à part entière ouvre de nombreuses opportunités pour le développement ultérieur de votre backend en dehors du cadre des applications mobiles. Un grand nombre de serveurs et le grand nombre de régions où ils se trouvent permettent de choisir le plus adapté à votre retard. Les avis positifs des utilisateurs le confirment. Parmi les aspects négatifs - un seuil d'entrée élevé et une difficulté à prévoir le coût du service.

Est-ce que ça va? À l'aide de ces liens, vous pouvez en savoir plus sur Microsoft Azure, étudier tous les détails et commencer à l'utiliser:
AWS Amplify
Amazon Web Services (AWS) est le deuxième IaaS à figurer sur notre liste. Il représente un grand nombre de services et est intéressant en ce que, par analogie avec Microsoft Azure, il existe un ensemble de fonctionnalités dédié appelé
AWS Amplify , qui est essentiellement un backend mobile. Plus tôt, vous avez peut-être entendu le nom AWS Mobile Hub, qui a longtemps été le principal service fournissant des fonctionnalités MBaaS. Selon Amazon eux-mêmes, Amplify est un Mobile Hub modifié et amélioré qui résout les principaux problèmes de son prédécesseur.

Selon Amazon, le service Amplify est approuvé par de nombreuses grandes entreprises, notamment Netflix, Airbnb et bien d'autres.
MBaaS

La solution mobile d'Amazon vous permet de configurer rapidement toutes les fonctionnalités nécessaires pour une application mobile. Que ce soit la logique du serveur, le stockage des données, l'autorisation des utilisateurs ou le traitement et la livraison du contenu, des notifications et des analyses.
Amazon fournit également toutes les conditions d'infrastructure nécessaires, telles que la mise à l'échelle, l'équilibrage de charge, etc.
Analytique
Pour l'analyse, un service
Amazon Pinpoint distinct est responsable, dans lequel vous pouvez segmenter votre audience et mener des campagnes de ciblage à grande échelle via différents canaux (notifications push, SMS et e-mail) pour attirer les utilisateurs vers le service.
Pinpoint fournit des données en temps réel, vous pouvez créer des segments d'audience dynamiques, analyser leur engagement et optimiser votre stratégie marketing en fonction de ces données.
Fonctionnalité supplémentaire
Amazon Amplify donne accès à
AWS Device Farm pour tester les versions de vos applications sur de vrais appareils. Le service permet des tests automatisés parallèles de vos applications sur une variété de périphériques physiques, et des tests manuels sont également disponibles.
Le service AWS Amplify Console est un outil de déploiement et d'hébergement à la fois des ressources serveur et des applications Web avec la possibilité de configurer CI / CD pour automatiser le processus de développement.
La possibilité d'introduire des robots vocaux et textuels dans les applications mobiles en tant qu'interface pour interagir avec l'utilisateur est également inhabituelle. Cela fonctionne sur
Amazon Lex .
Fait intéressant, AWS Amplify fournit également une petite
bibliothèque de composants d'interface utilisateur prêts à l'emploi pour votre application React Native, qui peuvent servir de légère accélération du processus de développement, ou utilisés dans le prototype ou MVP de votre projet.
Complexité de l'intégration
Amazon Amplify fournit un SDK pour
iOS ,
Android ,
JavaScript et
React Native, ainsi qu'une
documentation assez détaillée. Il est important de noter qu'en plus de REST, le service prend également en charge GraphQL.
Comme indiqué dans le processus d'analyse Azure, un seuil d'entrée élevé est un problème commun à tous les IaaS. Amazon ne fait pas exception, et vice versa. C'est probablement l'un des services les plus difficiles à comprendre. Cela est dû aux nombreux outils différents qu'AWS possède. Apprendre AWS à partir de zéro prendra beaucoup de temps. Mais si vous vous limitez uniquement à Amplify, vous pouvez implémenter une solution de travail dans un délai adéquat.
Fiabilité

Le service de statistiques d'Amazon semble moins stable qu'Azure. Mais cela plaît à un petit nombre de pannes complètes (globules rouges). Fondamentalement, tout ce qui se passe est un avertissement et une instabilité dans le travail de certains services.
Cela est confirmé par la liste des incidents récents sur les serveurs AWS - certains d'entre eux sont des avertissements de durées différentes (parfois jusqu'à 16 heures), et la dernière fois que les serveurs "mentaient" était à la mi-juin. En général, il semble assez stable.

Coût
La politique de tarification d' Amazon Web Services à première vue est très simple - ne payez que pour ce que vous utilisez, au-delà de la limite gratuite. Mais comme avec Microsoft Azure, plus vous utilisez de services, plus il est difficile de prédire le coût total du travail.

Il existe de nombreuses critiques sur Internet qui appellent AWS trop cher. Que puis-je dire, s'il existe depuis longtemps des entreprises qui souhaitent optimiser votre utilisation d'AWS pour un certain montant, en minimisant autant que possible les factures mensuelles.
Récapitulatif Amazon Amplify
En général, l'histoire d'Amazon Amplify est similaire à Azure. À bien des égards, des fonctionnalités similaires pour MBaaS, offrant une infrastructure à part entière et la possibilité de développer votre backend. Les outils marketing d'Amazon, en particulier Pinpoint, se distinguent positivement.
Parmi les aspects négatifs, on rappelle un seuil d'entrée non moins élevé qu'Azure, et les mêmes difficultés de prévision des coûts. Ajoutez à cela un service moins stable et, à en juger par les avis, un support technique non réactif.
Est-ce que ça va? En utilisant ces liens, vous pouvez en savoir plus sur Amazon Amplify, étudier tous les détails et commencer à l'utiliser:
Google Firebase

Le service
Firebase de Google est l'une des options les plus intéressantes en tant que service MBaaS pour votre application. Il s'est depuis longtemps imposé comme un outil utile et l'est pour de nombreuses applications bien connues: Shazam, Duolingo, Lyft et autres.

MBaaS

Firebase s'occupe de tout ce dont votre application mobile a besoin. Le service combine des fonctionnalités de backend à part entière, telles que le stockage de données, la synchronisation, l'authentification, les fonctions cloud (exécution du code de backend) et, pour le moment, la version bêta contient le
Machine Learning Kit , qui implémente diverses fonctionnalités basées sur la machine apprentissage (reconnaissance de texte, d'objets dans des photographies, etc.).
Analytique
Une caractéristique importante de Firebase est qu'en plus de la fonctionnalité backend, le service offre un large éventail de possibilités pour l'analyse d'applications. Google Analytics intégré, segmentation de la base d'utilisateurs et travail avec les notifications push. Toujours en 2017, Google a marqué une forte acquisition en achetant le service Fabric étendu et en l'intégrant dans Firebase avec Crashlytics, un outil extrêmement utile pour suivre les erreurs d'application et collecter des statistiques et des rapports de plantage sur les appareils des utilisateurs.
Fonctionnalité supplémentaire
Firebase fournit l'outil
Firebase Dynamic Links pour traiter les liens dynamiques vers votre contenu.En utilisant cet outil, vous pouvez générer des liens menant à l'application, s'il est installé, sinon envoyer l'utilisateur à l'App Store ou à Google Play pour l'installation. De plus, ces liens fonctionnent en fonction de l'appareil sur lequel ils s'ouvrent, s'il s'agit d'un ordinateur, une page sera ouverte dans le navigateur et si l'appareil est une transition vers l'application.
Google vous permet également d'effectuer des tests A / B de vos applications à l'aide de
Firebase A / B Testing et de configurer la configuration à
distance avec l'outil de configuration à
distance .
Complexité de l'intégration
Il devient clair que ce service combine un très grand nombre de fonctionnalités pour votre application. Pour intégrer Firebase, vous devez utiliser le
SDK de la plate-forme nécessaire, y compris iOS, Android, JavaScript, ainsi que pour C ++ et Unity, qui sera très utile si vous développez des jeux. Il est important de noter que Firebase possède une documentation assez détaillée et une large base d'utilisateurs de développeurs, et, par conséquent, une grande quantité de contenu de support sur le réseau, qu'il s'agisse de réponses à des questions ou d'articles de revue.
Fiabilité
Dois-je compter sur Google - un article séparé. D'une part, vous avez un fournisseur très stable et fonctionnel, et d'autre part, vous ne savez jamais quand Google fermera ce service. Pas étonnant que Google ait été retiré de sa mission
"Ne sois pas méchant" .

Lorsqu'un fournisseur dispose de telles ressources, il semblerait que le temps de disponibilité devrait viser 100%, mais vous pouvez toujours trouver beaucoup de messages sur les problèmes avec le service, par exemple, une
citation de l' un des utilisateurs:
«Le temps d'arrêt arrive. Dans le cas de Firebase, vous pourriez dire que "la disponibilité" se produit " . En effet, si vous regardez les statistiques sur les événements avec les services Firebase, vous verrez qu'il y a à la fois de petits temps d'arrêt et des arrêts complets pendant 5-7 heures, cela peut être critique pour votre service.

Mais il arrive que les problèmes durent des semaines. Nous ne devons pas oublier que le code critique et vital du produit peut fonctionner sur ces services. Ces statistiques ne semblent pas très heureuses.
Coût

La
politique de prix de Firebase est claire et simple, il existe 3 plans: Spark, Flame et Blaze. Ils sont idéologiquement différents les uns des autres. Alors que Spark est un plan gratuit avec des limites qui vous permettent de déployer et de tester une partie importante des fonctionnalités de la plate-forme. Les plans Flame et Blaze impliquent une utilisation payante. La flamme coûte 25 $ par mois, mais vous obtenez essentiellement le même Spark, mais avec des limites beaucoup plus importantes.
Blaze est différent des autres. Il vous permet d'utiliser les capacités de la plate-forme en quantités illimitées, tout en payant proportionnellement aux ressources que vous utilisez. Il s'agit d'un plan extrêmement flexible dans lequel vous ne payez que pour les fonctionnalités que vous utilisez. Si, par exemple, vous décidez d'utiliser la plateforme uniquement pour tester des applications, vous ne paierez que pour avoir dépassé les limites de tests gratuits.
En général, la tarification Firebase est très transparente et prévisible. Dans le processus, vous comprenez combien coûtera telle ou telle fonctionnalité, et vous calculez également le coût lors de la mise à l'échelle ou de la modification du service.
Résumé de Firebase
Le service Firebase de Google est un fournisseur MBaaS à part entière qui limite les difficultés d'infrastructure auxquelles AWS et Azure sont directement liés. Toutes les fonctionnalités nécessaires au développement d'un backend cloud sont en place, de nombreuses possibilités d'analyse, la relative facilité d'intégration, un seuil d'entrée assez bas et une tarification transparente.
Des côtés négatifs - problèmes avec la stabilité du service. Malheureusement, cela ne peut en aucun cas être influencé, nous ne pouvons compter que sur les ingénieurs de Google.

Vous convient? En utilisant ces liens, vous pouvez en savoir plus sur Google Firebase, étudier tous les détails et commencer à l'utiliser:
Kumulos
Kumulos est un service MBaaS autonome, fondé en 2011.
MBaaS
En tant que backend mobile, Kumulos propose de nombreux outils standard que nous avons déjà vus dans les services précédents. Il est également possible de créer des campagnes à part entière basées sur le calendrier et la géolocalisation, le suivi et le diagnostic des plantages, une intégration pratique avec Slack, Trello et Jira, le stockage des données et le traitement des autorisations des utilisateurs.
Comme Firebase, le service s'occupe de tous les problèmes d'équilibrage de charge, de mise à l'échelle et d'autres problèmes d'infrastructure.
Analytique

Kumulos possède des capacités analytiques étendues intégrées, notamment: génération de rapports périodiques, segmentation des utilisateurs, analyse de comportement détaillée, analyse de cohorte et bien plus encore. La plateforme a été créée à l'origine pour le Big Data et est prête à fonctionner avec beaucoup de données. Toutes les analyses sont affichées en temps réel. .
— , : Salesforce, Google BigQuery, Amplitude Tableau.
Fonctionnalité supplémentaire

— App Store.
Kumulos App Store Optimization . , , .

, . .
Kumulos
SDK , . .

, .
Fiabilité
, Kumulos.
Kumulos 3
: Startup, Enterprise Agency. « , ». , - , , , .

. — , .
Kumulos
Kumulos MBaaS Firebase. MBaaS , . , .
— - .
? Kumulos, :
Conclusion
, .
4 : Microsoft Azure, AWS Amplify, Google Firebase Kumulos. 2 IaaS 2 MBaaS, . .
— . — . :
, , , . , , , , push- , .
. , . . , Firebase, AppMetrica - , .
, , - , .
— . , . , . , , , , . , , .
, , . . , , , .
Vendor lock
, , , «vendor lock». , - , , — MBaaS , , , , , , . , - MBaaS-, . , «».
:
, 4 . . , , .
.
https://statusgator.com/
www.capterra.com