Big Data e Analytics: Azure, AWS ou Google, qual o ideal?


Olá, pessoal!

Novamente, estou aqui com mais um artigo para tentar ajudá-los na escolha de qual provedor cloud utilizar para criar esse ambiente de Big Data e Analytics.

Escolher o provedor de cloud pode ser uma tarefa um pouco assustadora, pois temos três provedores gigantes: Azure, AWS e Google; cada tem um cardápio bem diverso de serviços, deixando essa escolha um pouco complexa. E como as empresas estão cada vez mais migrando suas aplicações para cloud, é extremamente importante entendermos como esses sistemas vão operar nesse formato.

Big Data e Analytics

A cloud vem transformando a maneira como as empresas estão pensando sobre seus dados. A análise avançada dos dados conduz à tomada de decisões de negócios mais rápida e precisa, trazendo, assim, uma abertura de novas oportunidades de negócios para a empresa.

Microsoft Azure

A Microsoft Azure oferece um conjunto de produtos para Big Data e Analytics, chamado Cortana Intelligence Suite. Essa suíte traz o HDInsight, plataforma que vem com Hadoop, Spark, Apache Storm e Apache HBase. Ela tem um nível padrão e premium, esta última incluindo a opção de executar RServer, solução empresarial da Microsoft para construção e execução de modelos R em escala.

A precificação da Microsoft Azure é baseada no número e tipo de nós de execução. O tipo de nó governa o número de núcleos, memória RAM e espaço em disco disponível em cada nó. HDInsight inclui HDFS local e também pode se conectar ao armazenamento blob ou no data lake. Os dados armazenados no HDFS local são voláteis, ou seja, assim que o cluster é desligado os dados serão deletados. Os clusters podem ser criados automaticamente e excluídos utilizando PowerShell e automação dos processos.

Outro serviço bem interessante é o Azure Data Factory, que faz a orquestração dos dados que são utilizados para o pipeline do processamento. O Azure Data Factory pode ler os dados que estão dentro do Microsoft Azure e de fontes externas através do Data Management Gateway, podendo se conectar e consumir dados da infraestrutura on-premise do cliente. O Azure Data Factory traz uma série de atividades que podem ser executadas por agendamento no HDInsight, Azure Machine Learning, data lake e por execuções em lote.

Há, também, o Azure Data Lake Analytic. Esse data lake é um novo tipo de armazenamento de dados em larga escala, utilizando a plataforma serverless e analítica. Ele foi projetado para executar trabalhos de análise em alta escala, sem a necessidade de provisionar ou gerenciar os clusters. As cargas de trabalho são otimizadas para executar no data lake store, uma solução de armazenamento compatível com o HDFS, mas também podem acessar dados em Blob Storage, Banco de Dados e Data Warehouse.

Para processamento de dados em tempo real, o Azure possui o Stream Analytics, que pode processar os dados pelo armazenamento Blob. A linguagem SQL-like é usada para executar consultas e encaminhar para o Azure Machine Learning, onde o mesmo processa em tempo real.

A Azure Machine Learning é uma plataforma para a ciência dos dados, totalmente gerenciado e utilizado para criar e implantar modelos cognitivos e estatísticos. Ele traz uma tela de interface para o usuário e um conjunto de módulos pré-definidos que podem ser usados para construir e executar experiências com os dados. A plataforma vem com uma série de modelos de aprendizagem de máquina pré-definida e inclui a capacidade de executar código em Python & R personalizados.

Em relação aos dashboards, a Microsoft Azure tem o Power BI, que pode consumir dados do Azure e serviços de terceiros, bem como se conectar a fontes de dados on-premise. Os usuários podem escolher, com um conjunto de visualizações incorporadas, criar a sua própria ou selecionar a partir de uma galeria personalizando seu dashboard.

Amazon Web Services (AWS)

A AWS tem, dentro dos serviços para processamento de dados e análise, o AWS Elastic MapReduce (EMR), que são clusters que podem utilizar Hadoop, Spark e a solução da Presto. O EMR faz a criação do cluster com as instâncias EC2 e fornece a integração com uma série de serviços da AWS, incluindo S3 e DynamoDB. A precificação do EMR é baseada em um custo por hora para cada nó mais o preço da instância EC2.

Para reduzir custos, é possível utilizar as instâncias reservadas. Os clusters podem ser criados e excluídos sob demanda para processar trabalhos pontuais ou contínuos, e, geralmente para o cluster ficar disponível, leva, aproximadamente, 10 a 15 minutos, e, assim, iniciar a execução do trabalho.

Há, também, o AWS Data Pipeline, um produto para orquestração de dados que possibilita gerenciar o agendamento, acompanhamento das atividades, bem como qualquer lógica necessária para lidar com cenários de falhas. O AWS Data Pipeline pode ler e gravar dados da maioria dos serviços de armazenamento da AWS, suporta uma gama de atividades de processamento, incluindo EMR, Hive, Pig, e executa comandos em shell Unix/Linux.

Para altas frequências de análises em tempo real, a AWS tem o AWS Kinesis. Nesta aplicação, fontes consumidoras de dados podem enviar dados em tempo real para um fluxo do Kinesis, quando é processado usando a Biblioteca Kinesis Client Library e Connector Library. Dependendo do cenário, é possível conectar o AWS Kinesis a um cluster com Apache Storm.

Há, também, o Amazon Kinesis Firehose, que pode ser utilizado para a ingestão de dados em grande escala, que são enviados para um fluxo de entrega do AWS Kinesis Firehose, e, automaticamente, encaminhados para um serviço como o bucket S3, Redshift ou ElasticSearch, que, por sua vez, suporta a compressão do lado do cliente e criptografia do lado do servidor.

Para análise preditiva, utilizamos o AWS Machine Learning, que torna muito fácil a criação de modelos preditivos, sem a necessidade de aprender algoritmos complexos. Para criar um modelo de usuários, somos guiados pelo processo de seleção e preparação de dados, treinamento e avaliação de modelos por meio de uma interface de usuário baseada em um assistente. Também é possível criar modelos pela AWS SDK. Uma vez formado, ele pode ser usado para criar previsões via API on-line (exemplo: pedido/resposta) ou uma API de lote para processar vários registros de entrada.

Para dar sentido à análise dos dados por meio de dashboards e visualizações, a AWS oferece o QuickSight, pelo qual os painéis podem ser construídos a partir de dados armazenados.

Google Cloud Platform

O Google, inicialmente, traz o Cloud Dataproc, que é totalmente gerenciado por Hadoop e Spark. Ele possui um tempo de 90 segundos (isso é real), impressionante para iniciar ou expandir os clusters do Cloud Dataproc, e é, de longe, o mais rápido dos três fornecedores. O preço é baseado nos custos do Compute Engine, além de um custo adicional por vCPU por minuto. Seu conector é compatível HDFS e está disponível para armazenamento em nuvem no cloud storage, podendo ser usado para armazenar dados que precisar ser utilizados depois que o cluster for desligado.

Não há nenhum suporte embutido para clusters sob demanda. O controle total está disponível através da cli gcloud, API REST ou SDK, podendo, este, ser automatizado, se necessário.

Para o processamento de alta escala e em tempo real, temos o Cloud Dataflow. O Google faz uma abordagem diferente da AWS e Azure: o Cloud Dataflow oferece uma estrutura totalmente programável, disponível para Java e Python, sendo, assim, uma plataforma de computação distribuída. O modelo de programação e SDK foi recentemente apresentado à Fundação Apache e se tornou Apache Beam, que pode usar tanto Cloud Dataflow, bem como Spark para execução do pipeline.

Cloud Dataflow suporta cargas de streaming e de lote. Por padrão, o número de “workers” é pré-definido quando o serviço é criado, embora os “workers” para o lote tenham a opção de auto-escala com base na demanda. O último preço é baseado na CPU agregado, memória e armazenamento consumido, e varia de acordo com o uso de lote ou de streaming que são utilizados pelo “workers”.

O Google oferece o Machine Learning como uma plataforma totalmente gerenciada para a utilização dos modelos do Tensorflow. Ele se baseia no Cloud Dataflow para processamento de dados e funcionalidade e Cloud Storage para armazenamento deles. Há, também, o Cloud Datalab, uma ferramenta interativa para insights de dados, que tem como base o Jupyter, e um conjunto de modelos pré-determinados também estão disponíveis.

Em conjunto com o Vision API, é possível detectar características em imagens, tais como texto e logotipos de empresas. Ao adicionar o Speech API, é possível converter áudio para texto em uma variedade de línguas, com APIs de linguagens podendo ser utilizadas para extrair o significado do texto.

Além disso, temos o Google Cloud Prediction API, que se posiciona no meio dessas ferramentas como um middle, permitindo aos usuários criarem modelos categóricos ou de regressão dependendo da natureza do conjunto. Isto, simplesmente, requer que os usuários façam o upload de um conjunto de dados e especifiquem uma coluna de resposta para prever, com o Prediction API fazendo todo o serviço pesado.

E qual é a conclusão?

Cloud para Big Data e Analytics é, claramente, um espaço competitivo. Além da competição, ele está, também, se tornando um componente crítico dos negócios modernos, impulsionando a adoção da cloud pelas empresas.

Todos os três provedores (Azure, AWS e Google) oferecem serviços semelhantes:

  • Processamento de Dados;
  • Orquestração de Dados;
  • Análise de Streaming;
  • Machine Learning.

Microsoft Azure

Oferece um conjunto abrangente de produtos analíticos gerenciados. Eles apoiam soluções para Big Data utilizando softwares de código aberto e ao lado de novos produtos analíticos sem servidor, como o Data Lake.

AWS

Certamente, tem todas as bases acima citadas com um sólido conjunto de produtos que atende à maioria das necessidades. Possui alguns pormenores, como modelos pré-determinados de machine learning.

Google

Fornece o que tem de melhor de Big Data e Analytics, com sua gama de serviços, como Dataproc e Dataflow. Tensor Flow tem recebido muita atenção recentemente.

O Google tem um forte conjunto de APIs pré-determinadas, mas carece no item de Dashboards de BI. Não podemos esquecer que ele só processa busca na internet o que demonstra sua qualidade e importância nesse quesito.

Para finalizar, espero ter ajudado com esse artigo para que você possa decidir em qual provedor irá iniciar sua Big Data, Analytics e Machine Learning. Participe nos comentários dando sua opinião, crítica ou sugestão e até a próxima.

Marcelo Franco

Arquiteto de Soluções


Conteúdos que você pode gostar também:

Inteligência Artificial e os benefícios do deep learning

Inteligência Artificial e os benefícios do deep learning: Junto com diversas pesquisas e descobertas relacionadas ao…

Infrastructure as a Code: Gerencie nuvens com eficiência

Saiba mais sobre o termo Infrastructure as a Code O termo Infrastructure as a Code (Infraestrutura como Código) tem se…

Como migrar pra cloud computing de forma segura?

Dicas de como migrar para cloud computing com segurança O fato de migrar pra cloud computing nada mais é do que uma…