Google Cloud para profissionais da AWS: back-end para dispositivos móveis

Atualizado em 17 de outubro de 2017

Compare os serviços de back-end para dispositivos móveis que a Amazon Web Services (AWS) e o Google Cloud fornecem nos respectivos ambientes de nuvem deles.

Comparação do modelo de serviço

O AWS Mobile Hub e o Firebase fornecem serviços para autenticação, armazenamento de dados, rotinas sem servidor, entrega de conteúdo, notificações, testes de dispositivos e análises. No entanto, o escopo das duas plataforma é diferente.

O AWS Mobile Hub oferece uma coleção de serviços que funcionam bem para desenvolvimento de back-end móvel. No Google Cloud, o Firebase fornece um pacote de serviços de back-end e também oferece bibliotecas de cliente que incluem recursos de front-end destinados a acelerar o desenvolvimento de aplicativos cliente.

Esses recursos incluem fluxos de IU para autenticação, monitoramento de desempenho de app integrado, compartilhamento de recursos, configuração remota, indexação de apps e links dinâmicos.

Recurso AWS Mobile Hub Firebase
Autenticação Amazon Cognito Firebase Authentication (inclui fluxos de IU)
Banco de dados Amazon DynamoDB Firebase Realtime Database
Armazenamento de dados/CDN Amazon S3 e Amazon CloudFront Firebase Hosting
Rotinas sem servidor Cloud Logic e AWS Lambda Firebase Hosting e Cloud Functions para Firebase
Notificações Amazon SNS Firebase Cloud Messaging
Serviços de aplicativos de clientes N/D Monitoramento de desenvolvimento, indexação de aplicativo, monitoramento de aplicativos, relatório de erros, compartilhamento de aplicativo, configuração remota, links dinâmicos

Plataformas compatíveis

O AWS Mobile Hub e o Firebase são compatíveis com as principais plataformas móveis. Além disso, o Firebase fornece bibliotecas JavaScript para integração direta em aplicativos Web e bibliotecas, como Angular. O AWS Mobile Hub integra-se com algumas outras plataformas de desenvolvimento de aplicativos móveis, como Xamarin e React Native.

Recurso AWS Mobile Hub Firebase
REST HTTP API Sim Sim
Android Sim Sim
iOS Sim Sim
Xamarin Sim Não
React Native Sim Não
Unity Sim (Visualização para desenvolvedores) Sim
JavaScript Sim Sim

Autenticação

O AWS Mobile Hub e o Firebase fornecem back-ends e SDKs para autenticação. O AWS oferece o Amazon Cognito, enquanto o Firebase fornece o Firebase Authentication. Ambos os serviços fornecem autenticação de e-mail e senha por meio de vários provedores federados, incluindo autenticação no Facebook, Google, Twitter e GitHub. O Amazon Cognito também inclui suporte para autenticação da Amazon.

As duas plataformas diferem no tipo de suporte de autenticação que fornecem. O Amazon Cognito fornece serviços de back-end, incluindo pontos de extremidade e bancos de dados do lado do servidor para realizar autenticação. O acesso a outros serviços do AWS é provisionado por meio do AWS Identity and Access Management (IAM) vinculado a usuários ou grupos de usuários.

Além dos serviços de back-end e dos pontos de extremidade do lado do servidor para a autenticação, o Firebase Authentication fornece fluxos de IU pré-construídos e SDKs orientados para IU para a interface com os serviços de back-end para autenticação.

Linguagens e plataformas

O AWS Cognito e o Firebase Authentication são compatíveis com Android, iOS, Node.js e REST. Além disso, o Amazon Cognito é compatível com React, .NET, Python, PHP e Ruby.

A tabela a seguir fornece um mapeamento geral entre o Amazon Cognito e o Firebase Authentication:

Recurso Amazon Cognito Firebase Authentication
Autenticação básica por e-mail/senha Sim Sim
Provedores federados Amazon, Facebook, GitHub, Google, Twitter e OpenID Facebook, GitHub, Google, Twitter
Provedores personalizados Sim Sim
Autenticação anônima Sim Sim
Armazenamento de dados do usuário Amazon Cognito Sync Segurança baseada no usuário
Plataformas compatíveis Android, iOS Android, iOS
Idiomas e bibliotecas compatíveis .NET. Node.js, PHP, Python, Ruby Node.js
Localidade de implantação Multirregional Global
Modelo de preços Cobrado mensalmente por usuários ativos em camadas. Incluso gratuitamente em todos os níveis.

Bancos de dados

O principal fornecedor de armazenamento de dados do AWS Mobile Hub é o Amazon DynamoDB, um armazenamento de documento/chave-valor gerenciado. O nome do Firebase remete ao banco de dados em tempo real dele, que é baseado em documentos e inclui sincronização em tempo real para todos os clientes conectados. O banco de dados do Firebase também é compatível com acesso off-line e modificação de dados, mantendo dados no disco do cliente e sincronizando o cliente com o estado do servidor após a restauração da conectividade.

Os dois bancos de dados são compatíveis com acesso direto ao cliente. As regras de segurança do Firebase gerenciam o acesso aos dados no Firebase, enquanto o IAM do AWS gerencia a segurança do acesso do cliente ao DynamoDB.

Recurso
AWS Mobile Hub NoSQL Database (DynamoDB) Firebase
Acesso direto do cliente Sim Sim
Segurança AWS IAM Regras de segurança do Firebase
Transacional Não Sim
Atualizações em tempo real Não Sim
Off-line e ressincronização Não* Observação: alguns recursos off-line e de ressincronização disponíveis via Amazon Cognito Sync Sim
Localidade da implantação Regiões disponíveis: Leste dos EUA (Ohio), Leste dos EUA (Norte da Virgínia),
Oeste dos EUA (Norte da Califórnia), Oeste dos EUA (Oregon),
Canadá (Central), Ásia-Pacífico (Mumbai),
Ásia-Pacífico (Seul), Ásia-Pacífico (Singapura), Ásia-Pacífico (Sydney),
Ásia-Pacífico (Tóquio), Europa (Frankfurt),
Europa (Irlanda), Europa (Londres) e América do Sul (São Paulo)
Não configurável.
Modelo de preços Com base na região, capacidade, armazenamento de dados e transferência de dados. Com base em conexões simultâneas, armazenamento de dados e transferência de dados.

Funções sem servidor

As duas plataformas aceitam rotinas sem servidor e acesso do cliente. O AWS Mobile Hub usa o Cloud Logic para selecionar as rotinas AWS Lambda e usar com o aplicativo móvel e fornecer acesso a essas rotinas por meio do AWS API Gateway. Já o Firebase fornece o Firebase Hosting e o Cloud Functions para aceitar o acesso do cliente a rotinas sem servidor em execução na nuvem.

Recurso AWS Mobile Hub Firebase
Rotina sem servidor AWS Lambda Cloud Functions para Firebase
Roteamento para rotinas sem servidor Cloud Logic Firebase Hosting
Localidade da implantação Regiões disponíveis: Leste dos EUA (Ohio), Leste dos EUA (Norte da Virgínia),
Oeste dos EUA (Norte da Califórnia), Oeste dos EUA (Oregon),
Canadá (Central), Ásia-Pacífico (Mumbai),
Ásia-Pacífico (Seul), Ásia-Pacífico (Singapura), Ásia-Pacífico (Sydney),
Ásia-Pacífico (Tóquio), Europa (Frankfurt),
Europa (Irlanda), Europa (Londres) e América do Sul (São Paulo)
Não selecionável.
Modelo de preços Com base em milhões de chamadas da API e transferência de dados. Com base em invocações, uso de memória, segundos de CPU e rede de saída e transferência de dados.

Envio de conteúdo

A AWS e o Firebase oferecem uma rede de fornecimento de conteúdo (CDN). A Amazon oferece o Amazon CloudFront, e o Google fornece o Cloud CDN. A mecânica das duas plataformas é semelhante, mas a rede usada para distribuir o conteúdo tem diferenças significativas. Para uma comparação detalhada das redes dessas plataformas, consulte Google Cloud para profissionais da AWS: rede.

Recurso AWS Mobile Hub Firebase
Rede de fornecimento de conteúdo (CDN) CloudFront Cloud CDN
Hospedagem de origem Amazon S3 Firebase Hosting
Localidade de implantação Global Global
Modelo de preços Com base na transferência e no armazenamento de dados. Com base na transferência e no armazenamento de dados.

Notificações push

A maneira de configurar notificações push é semelhante no AWS e no Firebase. O Simple Notification Service (SNS) da Amazon e o Firebase Cloud Messaging diferem apenas em implementações específicas e algumas das bibliotecas compatíveis. As plataformas de serviços compatíveis aparecem abaixo.

Recurso Amazon SNS Firebase
Serviços de notificação compatíveis Google Cloud Messaging, Apple Push Notification Service, Windows Push Notification Service, Baidu Cloud Push, Unity Google Cloud Messaging, Apple Push Notification Service, Unity, Chrome 50+, Firefox 44+, Opera Mobile 37+
Plataformas e linguagens compatíveis REST HTTP API, JavaScript, Java, Python, Node.js, Ruby, Go, C++, PHP, .NET REST HTTP API, XMPP, JavaScript, Node.js, C++
Localidade de implantação Multirregional Global
Modelo de preços Com base em milhões de mensagens Grátis

Importar e exportar

Com o AWS Mobile Hub, os desenvolvedores podem importar e exportar projetos como arquivos YAML. O Firebase permite que você configure backups noturnos automatizados para os dados e as regras do projeto. Dessa forma, é possível armazenar esses dois itens no Cloud Storage como arquivos JSON. Você pode transferir projetos do Firebase entre projetos usando o IAM.

Teste de apps

Tanto o Firebase quanto o AWS são compatíveis com testes automáticos para serem executados em vários dispositivos hospedados na nuvem pelo provedor. Esses testes permitem que o desenvolvedor faça um teste preliminar rápido para garantir uma versão íntegra do aplicativo ou lidar com etapas específicas do código na IU a serem executadas nos dispositivos da nuvem. O Firebase Device Lab é compatível com dispositivos iOS/Android e com muitos frameworks de teste em cada plataforma.

Recurso Amazon Device Farm Firebase Device Lab
Tipos de teste para iOS Appium, Calabash, XCTest, KIF, UI Automation XCTest, EarlGrey e loop de jogo
Tipos de teste para Android Appium, Calabash, Robotium, Espresso, UI Automator, testes de instrumentação personalizados, explorador integrado Robo, Espresso, loop de jogo e testes de instrumentação para Android
Localidade da implantação Não selecionável Não selecionável
Modelo de preços Por minuto ou taxa fixa. Por hora do dispositivo enquanto o teste é executado, menos o número definido de testes gratuitos por dia.

Analytics

O Amazon Pinpoint e o Google Analytics para Firebase são compatíveis com análise, segmentação de público e campanhas específicas. Ambos suportam exportação de eventos para um serviço armazenamento de dados. O Firebase Analytics também se integra com outros serviços do GCP, como Firebase Crash Reporting, Configuração remota do Firebase, Firebase Cloud Messaging e Gerenciador de tags do Google.

Recurso AWS Mobile Hub/Pinpoint Google Analytics para Firebase
Análises e campanhas Sim Sim
Exportação para armazenamento de dados Exportação para Amazon Redshift Exportação para BigQuery
Geração de relatórios ilimitada Sim Sim
Incorporação de notificações Sim Sim
Configuração remota N/D Sim
Gerenciador de tags Não Sim (Gerenciador de tags do Google)
Localidade de implantação Global Global
Modelo de preços Baseado no público segmentada mensal Grátis

Recursos adicionais

O Firebase e o AWS Mobile Hub incluem recursos que não estão incluídos no outro serviço.

Recursos adicionais para AWS Mobile Hub

Bots de conversação

O AWS Mobile Hub inclui um recurso chamado Conversational Bots. Esse recurso integra o Amazon Lex para conversão de texto e voz com funções do AWS Lambda. Mesmo que os bots de conversa não sejam um recurso formal no Firebase, o Google Cloud tem o Dialogflow e o API.AI, que podem ser combinados com o Firebase para proporcionar uma experiência de conversação ao usuário.

Recursos extras do Firebase

Crash reporting

O Firebase Crash Reporting tem duas opções de geração de relatórios de erros: a ferramenta de falhas do Firebase e o Fabric Crashlytics. Em contrapartida, o AWS Mobile Hub conta com tecnologias parceiras para relatórios de erros.

Distribuição Beta de aplicativos nativos

Além dos relatórios de erros, o Fabric Crashlytics oferece o Beta by Crashlytics para distribuição. O Beta by Crashlytics é uma conhecida biblioteca de distribuição Beta que oferece convite/revogação aos usuários e integração com outras bibliotecas do Fabric. O Beta by Crashlytics também se integra com as ferramentas de versão Fastlane para iOS e Android para distribuição automatizada.

App indexing

O Firebase App Indexing indexa conteúdo de aplicativos para que o Google faça pesquisas nos links do provedor do dispositivo para encontrar o app nos resultados.

O Firebase Dynamic Links se vincula ao aplicativo nativo quando aberto no dispositivo e vincula ao conteúdo da Web a partir de um navegador. Para fornecer links dinâmicos, o Firebase cria um domínio que pode ser usado para registrar o domínio do link universal na plataforma Android ou iOS.

Invites

O Firebase Invites é um recurso de referência de aplicativos que permite aos usuários compartilhar aplicativos do Firebase usando links dinâmicos. Os links dinâmicos se adaptam à plataforma do usuário convidado: web, Android ou iOS.

Configuração remota

A Configuração remota do Firebase permite aos desenvolvedores alterar o comportamento e a aparência de um aplicativo sem exigir uma atualização do aplicativo. Ele usa valores padrão no aplicativo para controlar o comportamento e a aparência do aplicativo. Os desenvolvedores podem então usar o console para substituir os valores padrão no aplicativo para todos os usuários ou segmentos.

Monitoramento de desempenho

O Monitoramento de Desempenho do Firebase é um recurso Beta que monitora o tempo de inicialização, atividade em primeiro plano e plano de fundo, solicitações de rede HTTP/S e traços personalizados criados usando a API incluída nele.

Custos

O preço do AWS Mobile Hub baseia-se em componentes de serviço individuais que estão sendo usados. O Firebase inclui automaticamente uma série de produtos:

  • Authentication (não inclui autenticação por número de telefone)
  • Analytics
  • App Indexing
  • Dynamic Links
  • Invites
  • Configuração remota
  • Cloud Messaging
  • Monitoramento de desempenho e Crash reporting

O AWS Mobile Hub incluiu planos em uma camada grátis e nível intermediário. Cada plano de pacote do Firebase inclui o seguinte, com limitações de uso específicas:

  • Storage
  • Cloud Functions
  • autenticação por número de telefone
  • Hosting/fornecimento de conteúdo
  • Test Lab

Fora das limitações de uso intermediário, o Firebase inclui custos por serviços individuais, à medida que são usados.

Produtos adicionais do GCP, como o BigQuery, são cobrados separadamente.

A seguir

Confira os outros artigos do Google Cloud para profissionais da AWS: