O desenvolvimento de back-end é um processo complexo e caro. Ao desenvolver aplicativos móveis, ele geralmente recebe mais atenção do que o esperado. Não se justifica, porque cada vez que você precisa implementar cenários típicos para aplicativos móveis: envie uma notificação por push, descubra quantos usuários estão interessados na ação e faça um pedido, etc. Eu gostaria de uma solução que nos permita focar em coisas importantes para a aplicação sem perda de qualidade e detalhes na implementação das secundárias. E existem essas soluções!
Esses serviços são chamados de Mobile Backend como serviço (MBaaS). Os processos para criar um back-end com sua ajuda são simplificados, em comparação com o desenvolvimento de "manual". Isso economiza na contratação de um desenvolvedor de back-end separado. E o fato de o provedor de MBaaS cuidar de todos os problemas relacionados à estabilidade do servidor, balanceamento de carga, escalabilidade e outras dificuldades de infraestrutura dá confiança na qualidade do resultado e é a principal vantagem de tais serviços.
Neste artigo, consideraremos vários serviços grandes e estabelecidos: Microsoft Azure, AWS Amplify, Google Firebase, Kumulos.

Itens para os quais consideramos serviços: funcionalidade de back-end e analítica, complexidade da integração de serviços, confiabilidade e estabilidade do trabalho e política de preços. Vamos analisar cada serviço e observar seus recursos de acordo com esses critérios.
Microsoft azure
O Microsoft Azure é um serviço IaaS (Infraestrutura como Serviço) que contém a funcionalidade BaaS completa e ajuda na criação de um back-end para aplicativos móveis.
MBaaS
O Microsoft Azure tem toda a gama de funcionalidades para criar um back-end para um aplicativo móvel. Processamento de notificações push, dimensionamento automático, sincronização de dados, integração com redes sociais e muito mais.
Um recurso importante do Azure é a localização geográfica dos servidores. Eles estão localizados em 54 regiões do mundo, o que aumenta a probabilidade de escolher um servidor adequado para o atraso. Como, em caso de mau funcionamento, na maioria das vezes apenas algumas regiões sofrem, pode-se supor que, quanto mais regiões, menor a probabilidade de chegar a essa região muito "instável". Segundo a Microsoft, eles têm mais regiões do que qualquer outro provedor de soluções em nuvem. Esta é sem dúvida uma vantagem.

Google Analytics
O serviço oferece uma oportunidade em tempo real para monitorar a integridade dos aplicativos e coletar relatórios de "falhas". Isso permite que você localize e resolva instantaneamente o problema.
Também no Azure, você pode usar sua própria biblioteca para coletar análises em aplicativos: coletar métricas básicas (informações sobre o dispositivo, sobre a sessão, atividade do usuário e muito mais) e criar seus próprios eventos para rastreamento. Todos os dados coletados são exportados imediatamente para o Azure, permitindo que você realize um trabalho analítico com eles em um formato conveniente.
Funcionalidade adicional
Também existem recursos interessantes, como testar compilações de aplicativos em dispositivos reais, configurações de CI / CD para automatizar o processo de desenvolvimento e ferramentas para enviar compilações de aplicativos para testes beta ou diretamente na App Store ou no Google Play
O Azure permite que você use a estrutura "pronta para uso" projetada para trabalhar com mapas e dados geoespaciais, o que simplifica o trabalho com esse formato.
Particularmente interessante é a possibilidade de resolver problemas usando
inteligência artificial , com a qual você pode prever vários indicadores analíticos e usar ferramentas prontas para uso para visão por computador, reconhecimento de fala e muito mais.
Complexidade de integração
O serviço Microsoft Azure fornece
SDKs para as principais plataformas móveis (iOS e Android) e, o que geralmente não acontece, para soluções de plataforma cruzada (Xamarin e PhoneGap).
Em geral, os usuários reclamam de uma interface complicada e de um alto limite de entrada. Isso indica possíveis problemas na integração de serviços.
É importante entender que um limite alto de entrada não é um caso especial do Azure, mas um problema comum para IaaS. Por exemplo, o Amazon Web Services, que será discutido mais adiante, também está sujeito a essa doença ainda mais.
Confiabilidade

A estabilidade do serviço da Microsoft parece decente. Pode-se observar que falhas de curto prazo em várias regiões podem ocorrer pelo menos uma vez por mês. Esta imagem indica uma estabilidade suficiente do serviço, os defeitos raramente ocorrem em determinadas regiões e são corrigidos muito rapidamente, permitindo que o serviço mantenha um tempo de atividade decente.

Isso é confirmado pela lista de incidentes recentes nos servidores do Azure - a maioria deles são avisos de curto prazo e a última vez que os servidores "ficaram" deitados foi no início de maio. As estatísticas confirmam a imagem de um serviço estável.
Custo
Na
política de preços do Microsoft Azure, existem tarifas diferentes para pagar pelo serviço, também há um plano gratuito com certos limites, o que é suficiente para o teste. É importante lembrar que o Azure é um serviço de IaaS, devido à sua especificidade e complexidade de cálculo dos recursos trabalhados, devido à dificuldade de prever o custo do trabalho. Muitos enfrentam dificuldades e muitas vezes até a incapacidade de calcular corretamente as capacidades utilizadas. A pontuação real pode diferir significativamente daquela em que você estava contando.

Além desses planos, o Azure também possui serviços pagos separados: Domínio do Serviço de Aplicativo, Certificados do Serviço de Aplicativo do Azure e Conexões SSL. Todos eles se relacionam com a administração da sua infraestrutura, não os preocuparemos.
Em muitas revisões, os usuários reclamam de uma política de preços difícil e da incapacidade de prever o custo do serviço. A calculadora proposta pela Microsoft é chamada de inútil, e o serviço em si é extremamente caro.
Resumo do Azure
O Serviço Azure da Microsoft é uma ferramenta funcional e estável para uso como o principal provedor de MBaaS. O fato de o serviço inicialmente fornecer uma infraestrutura completa abre muitas oportunidades para o desenvolvimento adicional de seu back-end fora da estrutura de aplicativos móveis. Um grande número de servidores e o grande número de regiões onde estão localizados ajudam a escolher o mais adequado para o seu atraso. Revisões positivas de usuários confirmam isso. Dos aspectos negativos - um alto limiar de entrada e dificuldade em prever o custo do serviço.

Vai caber? Usando esses links, você pode aprender mais sobre o Microsoft Azure, estudar todos os detalhes e começar a usá-lo:
AWS Amplify
O Amazon Web Services (AWS) é o segundo IaaS a chegar à nossa lista. Ele representa um grande número de serviços e é interessante, por analogia com o Microsoft Azure, há um conjunto dedicado de funcionalidades chamado
AWS Amplify , que é essencialmente um back-end móvel. Antes, você já deve ter ouvido o nome AWS Mobile Hub, que tem sido o principal serviço que fornece a funcionalidade MBaaS. Segundo a própria Amazon, o Amplify é um Mobile Hub modificado e aprimorado que resolve os principais problemas de seu antecessor.

Segundo a Amazon, o serviço Amplify é confiável por muitas grandes empresas, incluindo Netflix, Airbnb e muitas outras.
MBaaS

A solução móvel da Amazon permite configurar rapidamente todas as funcionalidades necessárias para um aplicativo móvel. Seja lógica do servidor, armazenamento de dados, autorização do usuário ou processamento e entrega de conteúdo, notificações e análises.
A Amazon também fornece todas as condições de infraestrutura necessárias, como dimensionamento, balanceamento de carga e muito mais.
Google Analytics
Para análises, um serviço separado do
Amazon Pinpoint é responsável, no qual você pode segmentar seu público-alvo e realizar campanhas de segmentação em larga escala por meio de diferentes canais (notificações push, SMS e email) para atrair usuários ao serviço.
O Pinpoint fornece dados em tempo real, você pode criar segmentos de público dinâmicos, analisar o envolvimento deles e otimizar sua estratégia de marketing com base nesses dados.
Funcionalidade adicional
O Amazon Amplify fornece acesso ao
AWS Device Farm para testar a compilação de seus aplicativos em dispositivos reais. O serviço permite testes automatizados paralelos de seus aplicativos em uma variedade de dispositivos físicos, e testes manuais também estão disponíveis.
O serviço AWS Amplify Console é uma ferramenta para implantar e hospedar recursos de servidor e aplicativos da web, com a capacidade de configurar o CI / CD para automatizar o processo de desenvolvimento.
Também incomum é a possibilidade de introduzir bots de voz e texto em aplicativos móveis prontos para uso como uma interface para interagir com o usuário. Funciona no
Amazon Lex .
Curiosamente, o AWS Amplify também fornece uma pequena
biblioteca de componentes de interface do usuário prontos para o aplicativo React Native, que pode servir como uma ligeira aceleração do processo de desenvolvimento ou ser usada no protótipo ou MVP do seu projeto.
Complexidade de integração
O Amazon Amplify fornece um SDK para
iOS ,
Android ,
JavaScript e
React Native e
documentação bastante detalhada. É importante observar que, além do REST, o serviço também suporta o GraphQL.
Conforme declarado no processo de análise do Azure, um alto limite de entrada é um problema comum para todos os IaaS. A Amazon não é exceção, e vice-versa. Este é provavelmente um dos serviços mais difíceis de entender. Isso ocorre devido às muitas ferramentas diferentes que a AWS possui. Aprender a AWS do zero levará um tempo considerável. Mas se você se limitar apenas ao Amplify, poderá implementar uma solução funcional em um prazo adequado.
Confiabilidade

O serviço de estatísticas da Amazon parece menos estável que o Azure. Mas agrada um pequeno número de apagões completos (glóbulos vermelhos). Basicamente, tudo o que acontece são avisos e instabilidade no trabalho de alguns serviços.
Isso é confirmado pela lista de incidentes recentes nos servidores da AWS - alguns deles são avisos de diferentes durações (às vezes até 16 horas), e a última vez que os servidores estavam "mentindo" foi em meados de junho. Em geral, parece bastante estável.

Custo
A política de preços do Amazon Web Services à primeira vista é muito simples - pague apenas pelo que usar, além do limite gratuito. Mas, como no Microsoft Azure, quanto mais serviços você usa, mais difícil é prever o custo total do trabalho.

Existem muitas análises na Internet que consideram a AWS muito cara. O que posso dizer, se há muito tempo as empresas estão dispostas a otimizar o uso da AWS por um determinado valor, minimizando as faturas mensais o máximo possível.
Resumo do Amazon Amplify
Em geral, a história do Amazon Amplify é semelhante ao Azure. De muitas maneiras, funcionalidade semelhante para o MBaaS, fornecendo uma infraestrutura completa e a possibilidade de desenvolver seu back-end. As ferramentas de marketing da Amazon, em particular a Pinpoint, se destacam positivamente.
Entre os aspectos negativos, lembramos um limite de entrada não menos alto que o Azure e as mesmas dificuldades em prever o custo. Adicione a isso um serviço menos estável e, a julgar pelas avaliações, não suporte técnico responsivo.
Vai caber? Usando esses links, você pode aprender mais sobre o Amazon Amplify, estudar todos os detalhes e começar a usá-lo:
Google firebase

O serviço
Firebase do Google é uma das opções mais interessantes como serviço de MBaaS para seu aplicativo. Há muito se estabeleceu como uma ferramenta útil e é utilizada para muitas aplicações conhecidas: Shazam, Duolingo, Lyft e outras.

MBaaS

O Firebase cuida de tudo que seu aplicativo móvel precisa. O serviço combina recursos completos de back-end, como armazenamento de dados, sincronização, autenticação, funções em nuvem (executando o código de back-end) e, no momento, a versão beta contém o
Machine Learning Kit , que implementa várias funcionalidades baseadas na máquina aprendizado (reconhecimento de texto, objetos em fotografias e muito mais).
Google Analytics
Um recurso importante do Firebase é que, além da funcionalidade de back-end, o serviço oferece uma ampla gama de oportunidades para análise de aplicativos. Google Analytics integrado, segmentação da base de usuários e trabalho com notificações por push. Também em 2017, o Google marcou uma forte aquisição adquirindo o amplo serviço Fabric e integrando-o no Firebase junto com o Crashlytics, uma ferramenta extremamente útil para rastrear erros de aplicativos e coletar estatísticas e relatórios de falhas nos dispositivos dos usuários.
Funcionalidade adicional
O Firebase fornece a ferramenta
Links dinâmicos do
Firebase para processar links dinâmicos para o seu conteúdo. Com essa ferramenta, você pode gerar links que levam ao aplicativo, se instalado, se não estiver, enviar o usuário à App Store ou ao Google Play para instalação. Além disso, esses links funcionam dependendo do dispositivo em que são abertos, se for um computador, uma página será aberta no navegador e se o dispositivo for uma transição para o aplicativo.
O Google também permite que você realize testes A / B de seus aplicativos usando o
Firebase A / B Testing e configure a configuração remota com a ferramenta
Remote Config .
Complexidade de integração
Torna-se claro que este serviço combina um número extremamente grande de recursos para seu aplicativo. Para integrar o Firebase, você deve usar o
SDK da plataforma necessária, incluindo iOS, Android, JavaScript, bem como para C ++ e Unity, que serão muito úteis se você estiver desenvolvendo jogos. É importante observar que o Firebase possui documentação bastante detalhada e uma ampla base de usuários de desenvolvedores e, como resultado, uma grande quantidade de conteúdo de suporte na rede, seja respostas a perguntas ou artigos de revisão.
Confiabilidade
Devo confiar no Google - um artigo separado. Por um lado, você tem um provedor altamente estável e funcional e, por outro lado, nunca sabe quando o Google fechará esse serviço. Não é de admirar que o Google tenha sido removido da missão
"Não seja mau" .

Quando um provedor possui esses recursos, parece que o tempo de atividade deve atingir 100%, mas você ainda pode encontrar muitas mensagens sobre problemas no serviço, por exemplo, uma
citação de um dos usuários:
“O tempo de inatividade acontece. No caso do Firebase, você pode dizer que "tempo de atividade" acontece " . De fato, se você observar as estatísticas de eventos com os serviços do Firebase, verá que há pequenos períodos de inatividade e desligamentos completos por 5-7 horas, isso pode ser crítico para o seu serviço.

Mas acontece que os problemas duram semanas. Não devemos esquecer que o código crítico e vital do produto pode ser executado nesses serviços. Essas estatísticas não parecem muito felizes.
Custo

A
política de preços da Firebase é clara e simples, existem três planos: Spark, Flame e Blaze. Eles são ideologicamente diferentes um do outro. Embora o Spark seja um plano gratuito com limites que permitem implantar e testar uma parte significativa da funcionalidade da plataforma. Os planos Flame and Blaze envolvem uso pago. Chama custa um fixo $ 25 por mês, mas essencialmente você recebe o mesmo Spark, apenas com limites significativamente maiores.
Blaze é diferente do resto. Ele permite que você use os recursos da plataforma em quantidades ilimitadas, enquanto você paga proporcionalmente aos recursos que você usa. Esse é um plano extremamente flexível, no qual você paga apenas pela funcionalidade usada. Se, por exemplo, você decidir usar a plataforma apenas para testar aplicativos, pagará apenas por exceder os limites de teste gratuito.
Em geral, os preços do Firebase são muito transparentes e previsíveis. No processo, você entende quanto isso ou aquela funcionalidade custará e também calcula o custo ao dimensionar ou alterar o serviço.
Resumo do Firebase
O serviço Firebase do Google é um provedor de MBaaS completo que limita as dificuldades de infraestrutura às quais a AWS e o Azure estão diretamente relacionados. Toda a funcionalidade necessária para o desenvolvimento de um back-end na nuvem está em vigor, amplas oportunidades para análises, a relativa facilidade de integração, um limite de entrada bastante baixo e preços transparentes.
Dos lados negativos - problemas com a estabilidade do serviço. Infelizmente, isso não pode ser influenciado de forma alguma, podemos confiar apenas nos engenheiros do Google.

Apropriado para você? Usando esses links, você pode aprender mais sobre o Google Firebase, estudar todos os detalhes e começar a usá-lo:
Kumulos
Kumulos é um serviço MBaaS independente, fundado em 2011.
MBaaS
Como back-end móvel, o Kumulos oferece muitas ferramentas padrão que já vimos em serviços anteriores. Também é possível criar campanhas completas com base na programação e geolocalização, rastreamento e diagnóstico de falhas, integração conveniente com Slack, Trello e Jira, armazenamento de dados e processamento de autorização do usuário.
Como o Firebase, o serviço cuida de todos os problemas de balanceamento de carga, dimensionamento e outros problemas de infraestrutura.
Google Analytics

A Kumulos possui amplos recursos analíticos integrados, incluindo: geração periódica de relatórios, segmentação de usuários, análise detalhada de comportamento, análise de coorte e muito mais. A plataforma foi criada originalmente para o Big Data e está pronta para trabalhar com muitos dados. Todas as análises são exibidas em tempo real. .
— , : Salesforce, Google BigQuery, Amplitude Tableau.
Funcionalidade adicional

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

, . .
Kumulos
SDK , . .

, .
, Kumulos.
Custo
Kumulos 3
: Startup, Enterprise Agency. « , ». , - , , , .

. — , .
Kumulos
Kumulos MBaaS Firebase. MBaaS , . , .
— - .
? Kumulos, :
Conclusão
, .
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