Actualización: 17 de octubre de 2017
Compara los servicios de backend para dispositivos móviles que brindan Amazon Web Services (AWS) y Google Cloud en sus respectivos entornos de nube.
Comparación de los modelos de servicio
Tanto AWS Mobile Hub como Firebase ofrecen servicios de autenticación, almacenamiento de datos, rutinas sin servidores, entrega de contenido, notificaciones, pruebas de dispositivos y estadísticas. Sin embargo, ambas plataformas difieren en cuanto a su alcance.
AWS Mobile Hub brinda una variedad de servicios adecuados para el desarrollo de backend dirigidos a dispositivos móviles. En Google Cloud, Firebase ofrece un conjunto de servicios de backend y, además, proporciona bibliotecas cliente que incluyen funciones de frontend orientadas a acelerar el desarrollo de aplicaciones cliente.
Estas características incluyen flujos de IU para autenticación, supervisión del rendimiento de las aplicaciones integradas, funciones para el uso compartido, configuración remota, indexación de aplicaciones y vínculos dinámicos.
Función | AWS Mobile Hub | Firebase |
---|---|---|
Autenticación | Amazon Cognito | Firebase Authentication (incluye los flujos de IU) |
Base de datos | Amazon DynamoDB | Firebase Realtime Database |
Almacenamiento de datos/CDN | Amazon S3 y Amazon CloudFront | Firebase Hosting |
Rutinas sin servidores | Cloud Logic y AWS Lambda | Firebase Hosting y Cloud Functions para Firebase |
Notificaciones | Amazon SNS | Firebase Cloud Messaging |
Servicios de aplicaciones cliente | N/A | Supervisión del rendimiento, indexación de aplicaciones, supervisión de aplicaciones, informes de fallas, uso compartido de aplicaciones, configuración remota, vínculos dinámicos |
Plataformas compatibles
AWS Mobile Hub y Firebase son compatibles con la mayoría de las plataformas principales para dispositivos móviles. Además, Firebase proporciona bibliotecas de JavaScript para integrar directamente en aplicaciones web y marcos de trabajo como Angular. AWS Mobile Hub se integra en algunas plataformas adicionales de desarrollo de aplicaciones para dispositivos móviles, incluidas Xamarin y React Native.
Función | AWS Mobile Hub | Firebase |
---|---|---|
API de REST/HTTP | Sí | Sí |
Android | Sí | Sí |
iOS | Sí | Sí |
Xamarin | Sí | No |
React Native | Sí | No |
Unity | Sí (vista previa para programadores) | Sí |
JavaScript | Sí | Sí |
Autenticación
AWS Mobile Hub y Firebase proporcionan backends y SDK para autenticación. AWS ofrece Amazon Cognito y Firebase cuenta con Firebase Authentication. Ambos servicios permiten usar autenticación con contraseña y correo electrónico a través de varios proveedores federados, incluida la autenticación mediante Facebook, Google, Twitter y GitHub. Amazon Cognito también incorpora autenticación mediante Amazon.
Ambas plataformas difieren en el tipo de compatibilidad con la autenticación que ofrecen. Amazon Cognito ofrece servicios de backend, incluidos extremos y bases de datos del servidor, para realizar la autenticación. El acceso a otros servicios de AWS se aprovisiona mediante la administración de identidades y accesos (IAM) de AWS relacionada con usuarios o grupos de usuarios.
Además de los servicios de backend y los extremos del servidor para realizar la autenticación, Firebase Authentication proporciona flujos de IU precompilados y SDK orientados a la IU para las interfaces con sus servicios de backend de autenticación.
Lenguajes y plataformas
AWS Cognito y Firebase Authentication son compatibles con Android, iOS, Node.js y REST. Además, Amazon Cognito admite React, .NET, Python, PHP y Ruby.
En la siguiente tabla, se muestra una comparación general entre Amazon Cognito y Firebase Authentication:
Función | Amazon Cognito | Firebase Authentication |
---|---|---|
Autenticación básica con correo electrónico/contraseña | Sí | Sí |
Proveedores federados | Proveedores como Amazon, Facebook, GitHub, Google, Twitter, OpenID | Facebook, GitHub, Google, Twitter |
Proveedores personalizados | Sí | Sí |
Autenticación anónima | Sí | Sí |
Almacenamiento de datos del usuario | Amazon Cognito Sync | Seguridad basada en usuarios |
Plataformas compatibles | Android, iOS | Android, iOS |
Lenguajes y marcos de trabajo admitidos | .NET. Node.js, PHP, Python, Ruby | Node.js |
Localidad de la implementación | Multirregional | Global |
Modelo de precios | Se factura por usuarios activos mensuales en niveles | Se incluye de forma gratuita en todos los niveles |
Bases de datos
El principal proveedor de almacenamiento de datos de AWS Mobile Hub es Amazon DynamoDB, un almacén administrado de documentos/clave-valor. Firebase recibe su nombre de su base de datos en tiempo real, que se basa en documentos y además incluye sincronización en tiempo real para todos los clientes conectados. La base de datos de Firebase también admite el acceso sin conexión y la modificación de datos, la persistencia de datos en el disco cliente y la sincronización del cliente con el estado del servidor después de que se restablece la conectividad.
Ambas bases de datos admiten el acceso directo desde el cliente. En Firebase, el acceso a los datos se administra mediante las reglas de seguridad de la plataforma, mientras que en AWS, IAM administra el acceso seguro desde el cliente a DynamoDB.
Función |
Base de datos NoSQL (DynamoDB) de AWS Mobile Hub | Firebase |
---|---|---|
Acceso directo desde el cliente | Sí | Sí |
Seguridad | IAM de AWS | Reglas de seguridad de Firebase |
Transacciones | No | Sí |
Actualizaciones en tiempo real | No | Sí |
Acceso sin conexión y resincronización | No. * Nota: Existe cierto nivel de acceso sin conexión y resincronización mediante Amazon Cognito Sync | Sí |
Localidad de la implementación | Regiones disponibles: este de EE.UU. (Ohio), Este de EE.UU. (Virginia del Norte), Oeste de EE.UU. (Norte de California), Oeste de EE.UU. (Oregón), Canadá (Central), Asia-Pacífico (Bombay), Asia-Pacífico (Seúl), Asia-Pacífico (Singapur), Asia-Pacífico (Sídney), Asia-Pacífico (Tokio), UE (Fráncfort), UE (Irlanda), UE (Londres), América del Sur (São Paulo) |
No configurable |
Modelo de precios | Se basa en la región, la capacidad de procesamiento, el almacenamiento y la transferencia de datos | Se basa en las conexiones simultáneas, el almacenamiento y la transferencia de datos |
Funciones sin servidores
Las dos plataformas admiten las rutinas sin servidores y el acceso desde el cliente. AWS Mobile Hub usa Cloud Logic a fin de seleccionar las rutinas de AWS Lambda que se usarán con la aplicación para dispositivos móviles, además de brindar acceso a esas rutinas mediante la puerta de enlace API de AWS. Firebase ofrece Firebase Hosting y Cloud Functions para la compatibilidad con el acceso de clientes a rutinas sin servidores que se ejecutan en la nube.
Función | AWS Mobile Hub | Firebase |
---|---|---|
Rutinas sin servidores | AWS Lambda | Cloud Functions para Firebase |
Enrutamiento a rutinas sin servidores | Cloud Logic | Firebase Hosting |
Localidad de implementación | Regiones disponibles: este de EE.UU. (Ohio), Este de EE.UU. (Virginia del Norte), Oeste de EE.UU. (Norte de California), Oeste de EE.UU. (Oregón), Canadá (Central), Asia-Pacífico (Bombay), Asia-Pacífico (Seúl), Asia-Pacífico (Singapur), Asia-Pacífico (Sídney), Asia-Pacífico (Tokio), UE (Fráncfort), UE (Irlanda), UE (Londres), América del Sur (São Paulo) |
No seleccionable |
Modelo de precios | Se basa en millones de llamadas a la API y en la transferencia de datos | Se basa en las invocaciones, el uso de la memoria, los ciclos de CPU por segundo, las redes salientes y la transferencia de datos |
Distribución de contenido
AWS y Firebase ofrecen una red de distribución de contenido (CDN): Amazon ofrece Amazon CloudFront y Google, Cloud CDN. La mecánica de ambas plataformas es similar, pero la red que se usa para distribuir el contenido puede tener diferencias significativas. Para obtener una comparación detallada de las redes en las dos plataformas, consulta Google Cloud para profesionales de AWS: Herramientas de redes.
Función | AWS Mobile Hub | Firebase |
---|---|---|
Red de entrega de contenido (CDN) | CloudFront | Cloud CDN |
Hosting de origen | Amazon S3 | Firebase Hosting |
Localidad de la implementación | Global | Global |
Modelo de precios | Se basa en la transferencia y el almacenamiento de los datos | Se basa en la transferencia y el almacenamiento de los datos |
Notificaciones push
La configuración de notificaciones push es similar en AWS y Firebase. Simple Notification Service (SNS) de Amazon y Firebase Cloud Messaging solo varían en sus implementaciones específicas y en algunos de los marcos de trabajo que admiten. A continuación, se indican las plataformas de servicios compatibles.
Función | Amazon SNS | Firebase |
---|---|---|
Servicios de notificación compatibles | Google Cloud Messaging, Servicio de notificaciones push de Apple, Servicio de notificaciones push de Windows, Baidu Cloud Push, Unity | Google Cloud Messaging, Servicio de notificaciones push de Apple, Unity, Chrome 50 y versiones posteriores, Firefox 44 y versiones posteriores, Opera Mobile 37 y versiones posteriores |
Lenguajes y plataformas compatibles | API de REST/HTTP, JavaScript, Java, Python, Node.js, Ruby, Go, C++, PHP, .NET | API de REST/HTTP, XMPP, JavaScript, Node.js, C++ |
Localidad de la implementación | Multirregional | Global |
Modelo de precios | Se basa en millones de mensajes | Gratis |
Importación y exportación
Con AWS Mobile Hub los desarrolladores pueden importar y exportar sus proyectos como archivos YAML. Con Firebase, puedes configurar la creación automatizada de copias de seguridad durante la noche de los datos y reglas de tu proyecto, que se almacenan como archivos en Cloud Storage. Puedes transferir proyectos de Firebase entre proyectos mediante IAM.
Pruebas de aplicaciones
Firebase y AWS admiten el envío de pruebas automatizadas para que se ejecuten en diversos dispositivos alojados en la nube por el proveedor. Con estas pruebas el desarrollador puede realizar comprobaciones rápidas a fin de garantizar que la compilación de su aplicación funcione bien o entregar pasos específicos del código en la IU para que se ejecuten en el dispositivo o los dispositivos de la nube. Firebase Device Lab es compatible con dispositivos iOS y Android, y muchos frameworks de prueba en cada plataforma.
Función | Amazon Device Farm | Firebase Device Lab |
---|---|---|
Tipos de pruebas de iOS | Appium, Calabash, XCTest, KIF, UI Automation | XCTest, EarlGrey, bucle de juego |
Tipos de pruebas de Android | Appium, Calabash, Robotium, Espresso, UI Automator, pruebas de instrumentación personalizadas, explorador incorporado | Robo, pruebas de instrumentación de Android, Espresso, bucle de juego |
Localidad de implementación | No seleccionable | No seleccionable |
Modelo de precios | Por minuto o tasa fija | Por hora de dispositivo mientras se ejecute la prueba, sin incluir la cantidad fija de pruebas gratuitas por día. |
Estadísticas
Amazon Pinpoint y Google Analytics para Firebase admiten estadísticas, segmentación de público y campañas orientadas. Ambos son compatibles con la exportación de eventos a un servicio de almacén de datos. Además, Firebase Analytics se integra en otros servicios de GCP, como Firebase Crash Reporting, Firebase Remote Config, Firebase Cloud Messaging y Google Tag Manager.
Función | AWS Mobile Hub/Pinpoint | Google Analytics para Firebase |
---|---|---|
Estadísticas y campañas | Sí | Sí |
Exportación a almacenes de datos | Exportación a Amazon Redshift | Exportación a BigQuery |
Informes ilimitados | Sí | Sí |
Incorporación de notificaciones | Sí | Sí |
Remote Config | N/A | Sí |
Administración de etiquetas | No | Sí (Google Tag Manager) |
Localidad de la implementación | Global | Global |
Modelo de precios | Se basa en el público objetivo mensual | Gratis |
Funciones adicionales
Tanto Firebase como AWS Mobile Hub incluyen funciones exclusivas.
Funciones adicionales de AWS Mobile Hub
Bots de conversación
AWS Mobile Hub incluye una función para agregar bots de conversación, llamada Conversational Bots. Esta característica integra Amazon Lex para la conversión de voz y texto con las funciones de AWS Lambda. Aunque los bots conversacionales no son una característica formal de Firebase, Google Cloud cuenta con Dialogflow y API.AI, que se pueden combinar de manera individual con Firebase a fin de lograr una experiencia de conversación para el usuario.
Funciones adicionales de Firebase
Crash Reporting
Firebase Crash Reporting ofrece dos opciones para informar fallas: Firebase Crash Tool y Fabric Crashlytics. Por el contrario, AWS Mobile Hub depende de las tecnologías de sus socios para realizar informes de fallas.
Distribución de versiones Beta de aplicaciones nativas
Además de los informes de fallas, Fabric Crashlytics ofrece Beta by Crashlytics para la distribución. Este es un marco de trabajo popular para la distribución de versiones Beta que permite invitar y revocar la invitación a usuarios, además de permitir la integración con otras bibliotecas de Fabric. Beta by Crashlytics también se integra en las herramientas de compilación de Fastlane para iOS y Android a fin de automatizar la distribución.
App Indexing
Firebase App Indexing permite indexar el contenido de las aplicaciones para que las Búsquedas de Google que se realicen en el dispositivo muestren vínculos a la aplicación en los resultados.
Dynamic Links
Los vínculos dinámicos de Firebase Dynamic Links llevan a la aplicación nativa cuando se abren en un dispositivo y a contenido web cuando se abren desde un navegador de escritorio. Para proporcionar estos vínculos dinámicos, Firebase crea un dominio que se puede usar para registrar el dominio del vínculo universal dentro de la plataforma de Android o iOS.
Invites
Firebase Invites es una función para la referencia de aplicaciones y permite que los usuarios de estas compartan aplicaciones de Firebase mediante vínculos dinámicos. Estos últimos se adaptan a la plataforma en que se encuentra el usuario invitado: Web, Android o iOS.
Configuración remota
Con Firebase Remote Config los desarrolladores pueden cambiar el comportamiento y el aspecto de una aplicación sin tener que actualizarla. Para controlar el aspecto y comportamiento de la aplicación, Remote Config usa valores predeterminados dentro de esta. Luego, los desarrolladores pueden usar la consola para anular los valores predeterminados dentro de la aplicación para todos los usuarios o parte de estos.
Supervisión del rendimiento
Firebase Performance Monitoring es una función en versión Beta que supervisa el tiempo de inicio, la actividad en primer y segundo plano, las solicitudes de red HTTP/S y los seguimientos personalizados que se crean con la API incluida.
Costos
Los precios de AWS Mobile Hub se basan en el uso de los componentes de servicio individuales. De manera automática, Firebase incluye una variedad de productos, como los que se indican a continuación:
- Authentication (excluida la autenticación con número de teléfono)
- Analytics
- App Indexing
- Dynamic Links
- Invites
- Remote Config
- Cloud Messaging
- Performance Monitoring y Crash Reporting
AWS Mobile Hub tiene planes en paquetes distribuidos en niveles intermedios y gratuitos. En Firebase, cada plan en paquete incluye lo siguiente (con ciertas limitaciones de uso):
- Almacenamiento
- Cloud Functions
- Autenticación con número de teléfono
- Hosting/entrega de contenido
- Test Lab
Además de las limitaciones de uso intermedio, Firebase incluye costos individuales por servicio y de prepago.
Los productos adicionales de GCP, como BigQuery, se facturan por separado.
¿Qué sigue?
Consulta los demás artículos de Google Cloud para profesionales de AWS:
- Descripción general
- Procesamiento
- Herramientas de redes
- Almacenamiento
- Herramientas de implementación
- Macrodatos
- Administración
- Servicios de aplicación