AWS vs. Google Cloud (2/2): bases de datos, redes, analytics y mucho más

AWS y Google Cloud Platform se han convertido en dos de los grandes proveedores de cloud pública y ofrecen tantísimos servicios que podemos encontrar sin dificultad soluciones que se adapten a nuestras necesidades, sean cuáles sean. Ya vimos en el blog cuáles son las diferencias entre AWS y Google Cloud en cuanto a procesamiento y almacenamiento.

Continuando con el cara a cara entre ambos competidores, en este post examinaremos todos esos productos que nos permiten disponer en la nube de bases de datos, redes, herramientas de desarrollo y gestión, analytics, machine learning y mucho más.

cloudvsaws2-jpg

Bases de datos

Las soluciones ofrecidas en materia de bases de datos tratan de abarcar la mayoría de las necesidades que podríamos tener en nuestras aplicaciones. Desde bases de datos relacionales como Google Cloud SQL que da un servicio gestionado de MySQL y Amazon RDS que oferta un servicio administrado de Aurora, MySQL, PostgreSQL, Oracle, SQL Server o MariaDB a bases de datos NoSQL como Amazon DynamoDB y Cloud Datastore.

También hay servicios como Bigtable de Google, que nos da una base de datos NoSQL orientada a Big Data con integración con Hadoop y que soporta la API de HBase. Para Data Warehouse tenemos Redshift de Amazon y BigQuery de Google.

Si necesitáramos almacenar datos en una caché como Redis o Memcached tendríamos Amazon ElastiCache. Y si quisiéramos migrar nuestras bases de datos desde o hacia nuestro datacenter on-premise y cualquiera de los productos  de Amazon, podríamos utilizar AWS Database Migration Service (DMS), que tiene prácticamente todas las características que cabría esperar en una herramienta para estos fines.

basesdedatos

Las bases de datos que ofrece Google se limitan a los productos que usan ellos internamente y que, por lo tanto, son soluciones solventes y suficientemente testadas, aunque no sean muy variadas. La nueva versión de Cloud SQL ya ofrece MySQL 5.7 y cuenta con unas capacidades de procesamiento y almacenamiento realmente interesantes.

Mientras, Amazon dispone de un catálogo de bases de datos mucho más amplio y que cubre la mayoría de las necesidades de almacenamiento que pueden tener sus clientes.

En RDS ofertan las principales bases de datos relacionales y, atendiendo sólo al precio por hora sin tener en cuenta los costes de almacenamiento y transferencia, es más barata que su rival de Google. Para NoSQL, DynamoDB tiene un rendimiento muy competitivo, bastante por encima de Cloud Datastore.

Redes

Las redes de nuestra infraestructura cloud las podremos gestionar con VPC y Cloud Virtual Network, que ponen a nuestra disposición la posibilidad de crear subredes, firewalls, routers, VPNs, hacer NAT o establecer conexiones privadas con un datacenter corporativo. Como VPC fué añadido posteriormente a EC2 se le critica que no está tan bien integrado como la solución de Google, aunque también es muy potente.

Existen otros servicios de red como DNS mediante Route 53 y Cloud DNS. En este servicio se dispone del mismo servidor DNS que utiliza Google, el 8.8.8.8.

También podemos utilizar conexiones dedicadas con Direct Connect y Cloud Interconnect y balanceo de carga de gran escala con Elastic Load Balancing y Cloud Load Balancing.

redes

Los proveedores cloud ofrecen un servicio muy específico para la distribución de contenidos alrededor del mundo a altas velocidades, se trata de un CDN (Content Delivery Network).

CloudFront es el servicio de Amazon y Cloud CDN el de Google. Actualmente, este último, está un paso por detrás aunque ofrece unos precios inferiores. Pero si se requieren algunas de las funcionalidades superespecíficas que presentan los CDNs que lideran el mercado, se debería optar por CloudFront ya que, al menos por ahora, Cloud CDN no las cubre.

Analytics

A la hora de conseguir la máxima capacidad de procesamiento, de almacenamiento y de transferencia es donde más claras se ven las ventajas de las soluciones cloud. Los retos que plantea el análisis Big Data no se pueden solventar en ningún otro lugar, salvo que puedas afrontar una inversión desmesurada en infraestructura.

No sorprende ver a Google encabezando la oferta de este tipo de productos, siendo quien desarrolló MapReduce, uno de los modelos de programación más utilizados en Big Data.

La lista la forman BigQuery (data warehouse gestionado para el análisis sobre datos a gran escala), Cloud Dataflow (procesamiento de datos en tiempo real), Cloud DataProc (servicio gestionado de Spark y Hadoop), Cloud Datalab (herramienta interactiva para la gestión, el análisis y la visualización de datos a gran escala), Cloud Pub/Sub (servicio global de mensajería confiable en tiempo real y streaming de datos) y Genomics (procesamiento de datos genéticos de hasta petabytes).

analytics

Por su parte, Amazon tiene los siguientes productos en catálogo: Redshift (data warehouse administrado para análisis), Amazon EMR (framework gestionado de Hadoop, Spark y Presto), AWS Data Pipeline (para procesar datos y transferirlos, de manera fiable, a intervalos definidos entre diferentes servicios AWS), Kinesis (carga y análisis de grandes volúmenes de datos en streaming), Elasticsearch (servicio gestionado del motor de búsqueda y análisis) y QuickSight (servicio de inteligencia empresarial (BI) administrado en la nube).

BigQuery aporta toda la potencia de búsqueda de Google por lo que es incomparable a ningún otro producto del mercado. Es un servicio totalmente gestionado en el que se paga 0.02$ por cada GB almacenado y 5$ por cada TB de consultas. Funciona muy rápido, ingestando hasta 100.000 filas por segundo por tabla, sin tener que preocuparse del escalado del cluster y en multizona.

En cuanto a los clusters de Spark, Google Dataproc es más barato, cuesta 0.24$ por hora frente a los 0.336$ de Amazon EMR. Comparar el rendimiento no es sencillo porque las especificaciones de los distintos tipos de instancias no son completamente iguales, pero Dataproc consigue mejores tiempos tanto en el despliegue del cluster como en las consultas.

Seguridad

Tanto AWS IAM y Cloud IAM nos permiten administrar los usuarios y el acceso y la visibilidad que tendrán sobre los recursos. Ambos productos aportan funcionalidades de sobra para la gestión de roles y permisos de nuestros proyectos, en ocasiones incluso por encima de lo que se necesita.

seguridad

Amazon nos aporta un gran número de herramientas de seguridad que no ofrece Google y que resultan de gran utilidad para la gestión de certificados, claves hardware y claves de cifrado: AWS Certificate Manager, Cloud HSM y AWS KMS.

Y también abarca un requisito fundamental para algunos proyectos/clientes como es poder trabajar con Active Directory con su AWS Directory Service.

Desarrollo

Los proveedores cloud nos facilitan herramientas para el desarrollo de aplicaciones. Si necesitamos disponer de repositorios de código GIT, de forma rápida, con una cuota inicial gratuita y muy cercanos al resto de nuestra solución cloud podemos utilizar AWS CodeCommit y Cloud Source Repositories.

Evidentemente no se pueden comparar con soluciones de gestión de repositorios más avanzadas como GitHub o GitLab, pero tienen unas cuotas gratuitas que pueden resultar interesantes.

También existen servicios para implementar, desplegar, gestionar y monitorizar APIs como API Gateway y Cloud Endpoints, que simplifican mucho el trabajo de desarrollo y auditoría.

desarrollo

Y si necesitaramos montar un pipeline de continuous delivery o un servicio para automatizar los despliegues en EC2 podemos utilizar AWS CodePipeline y AWS CodeDeploy.

Herramientas de gestión

A parte de todos los servicios y productos vistos anteriormente, ambas plataformas, también ofrecen sus navajas suizas de herramientas de gestión para llevar a cabo actividades muy necesarias en un entorno cloud globalmente distribuido.

Si necesitamos hacer uso de métricas y monitorización, tenemos Amazon CloudWatch y Google Stackdriver. Amazon CloudFormation y Google Deployment Manager nos  ayudan a gestionar nuestros recursos cloud mediante plantillas.

Para auditar y hacer un seguimiento del uso de los diferentes recursos podemos usar Amazon CloudTrail y Google Stackdriver. Y unos cuantos más: AWS Config (gestión de configuración), AWS OpsWorks (administración de componentes con Chef), AWS Trusted Advisor (mejorar rendimiento, costes y seguridad), Cloud Resource Manager (gestionar recursos) y Cloud Security Scanner (búsqueda de vulnerabilidades en aplicaciones en AppEngine).

Las ventajas de utilizar CloudWatch y Stackdriver para la monitorización son múltiples:

  1. Se integran con todos los recursos disponibles en las plataformas
  2. Ofrecen métricas por defecto y personalizadas
  3. Tienen sistemas de alarmas y envío de avisos e incluyen gráficas y dashboards para la visualización de la información.
  4. Además, incluyen una capa de uso gratuita con unas cuotas que pueden resultar suficientes para muchos proyectos. Stackdriver aporta la ventaja de poder monitorizar también los recursos en AWS por lo que resulta muy conveniente en entornos híbridos o multicloud.

Otras herramientas

Incluyen otra serie de herramientas que pueden ser utilizadas para cubrir múltiples propósitos. AWS IoT es una plataforma para IoT que mediante un gateway permite conectar millones de dispositivos en la nube, gestionar los mensajes mediante topics, interconectar con los principales servicios de AWS, y todo ello cuidando especialmente la seguridad. otrasherramientas

Amazon también tiene herramientas para facilitar el desarrollo de aplicaciones móviles como AWS MobileHub (plataforma para crear aplicaciones móviles de manera sencilla), Cognito (para incluir un registro e inicio de sesión en aplicaciones web y móviles) y AWS Device Farm (para testear las aplicaciones Android e iOS en dispositivos reales en la nube).

Y un conjunto de herramientas para mensajería que cubren el streaming, emails,  notificaciones, colas, transcodificación multimedia y workflows: AppStream, SES, SNS, SQS, Elastic Transcoder, SWF.

Google con Cloud Machine Learning para ofrecer servicios de aprendizaje automático con TensorFlow. Y una colección de APIs para análisis de imágenes (Vision API), conversión de habla en texto (Speech API), análisis de textos escritos (Natural Language API) y traducción de textos automática (Translate API)

Como hemos visto, existe un abanico enorme de opciones para cubrir todo tipo de necesidades. Todas estas soluciones cloud están siendo utilizadas tanto en pequeños proyectos como por empresas gigantes (AirBNB, Netflix, Spotify y muchas más) para gestionar sus negocios online.

Para resumir la comparativa entre los proveedores que tenemos entre manos, podemos decir que el catálogo de productos que presenta Amazon en AWS es muchísimo más amplio, ofreciendo soluciones para cada necesidad que podamos tener al llevar nuestros proyectos a la nube (y en algunos casos múltiples productos).

Además cuenta con años de experiencia y con la fiabilidad que le da que sus productos sean los más utilizados del mercado.

Por otra parte, Google tiene un muestrario más corto por su política de ofrecer al público únicamente los productos que usa internamente, pero tiene herramientas únicas de machine learning y búsqueda y en muchos servicios ofrece unos precios mucho más competitivos.

Como salieron al mercado después, se nota que sus productos están más pulidos y completos. Y también, gracias a su mejor usabilidad y a que resulta más sencillo de poner en marcha, se está convirtiendo en la opción más atractiva para los nuevos clientes cloud.

Recibe más artículos como este

Recibirás un email por cada nuevo artículo.. Acepto los términos legales

Escribe un comentario