Alura > Cursos de Data Science > Cursos de Data Science > Conteúdos de Data Science > Primeiras aulas do curso Fundamentos de nuvem: construindo a base

Fundamentos de nuvem: construindo a base

Fundamentos de nuvem - Apresentação

Apresentando a instrutora e o curso

Olá! Meu nome é Letícia, sou instrutora na Alura.

Audiodescrição: Letícia é uma pessoa branca, com olhos castanhos escuros e cabelo castanho na altura dos ombros. Ela veste uma camiseta azul-marinho e está em seu quarto de gravação, com uma iluminação azul e roxa ao fundo e um armário ao fundo.

Seja bem-vindo ao curso! Deseja aprender mais sobre os fundamentos em nuvem e dar os primeiros passos nesse ambiente? Este curso é para você.

Explorando os fundamentos da computação em nuvem

Vamos começar com os fundamentos da computação em nuvem, entendendo o que ela é e por que é tão importante. Em seguida, exploraremos as diversas opções de serviços disponíveis na nuvem. Também conheceremos alguns dos principais serviços para dados, machine learning (aprendizado de máquina) e inteligência artificial.

Além disso, guiaremos na criação de ambientes no Google Cloud, incluindo a criação de buckets para armazenamento de dados. Aprenderemos a enviar arquivos para o BigQuery.

Abordando o acesso a dados e controle de custos

Neste curso, abordaremos como acessar dados armazenados na nuvem utilizando Python e SQL. Exploraremos também o básico de controle de acesso e estratégias para evitar custos inesperados na nuvem, aproveitando ao máximo a camada gratuita. Nosso objetivo é explorar algumas ferramentas de nuvem para criar um pipeline de dados simples, totalmente na camada gratuita do Google Cloud Platform.

Aplicando conhecimentos em um projeto prático

Com isso, veremos na prática como podemos escalar operações de uma empresa e auxiliar a equipe de análise de dados a resolver um problema de negócio real. Aprenderemos tudo isso de maneira contextualizada e prática, explorando os tópicos através de um projeto prático com uma base de dados real, construindo o pipeline de dados do zero. Isso proporcionará a experiência necessária para entender como a nuvem funciona no dia a dia.

Oferecendo suporte e atividades adicionais

Além dos vídeos, a plataforma oferece atividades e o apoio do fórum e da comunidade do Discord. Vamos mergulhar no mundo da nuvem?

Fundamentos de nuvem - Entendendo o dataset

Apresentando o desafio da equipe de análise de dados

Vamos considerar o seguinte cenário: fomos chamados para ajudar a equipe de análise de dados da empresa OLLIST a escalar o negócio e resolver um desafio. O principal objetivo dessa equipe é identificar quais categorias e regiões apresentam maior atraso nas entregas e o que podemos fazer para melhorar. Isso é muito importante porque entregas atrasadas afetam a reputação da empresa, resultam em clientes insatisfeitos e podem levar a avaliações negativas.

Esses dados estão disponíveis no Kegel, como Brazilian E-Commerce Public Dataset by OLLIST. Basicamente, são dados de 100 mil pedidos da OLLIST Store entre 2016 e 2018. O dataset permite visualizar um pedido sobre diversas dimensões, como status, preço, pagamento, desempenho do frete, localização de entrega e avaliações dos clientes. A OLLIST conecta pequenas empresas e canais de forma simples, e os comerciantes vendem seus produtos e os enviam diretamente aos clientes por parceiros de logística.

Descrevendo a estrutura dos dados

Além disso, os dados estão organizados em várias tabelas interconectadas por, por exemplo, Order ID, Product ID, Customer ID, entre outras. Alguns exemplos de tabelas que temos são: Order Customer, que está ligada por Customer ID na tabela de orders. Temos também a tabela de pagamentos, products, order items, sellers, customers e outras. Todas essas tabelas estão conectadas e, basicamente, nesse esquema conseguimos entender como elas estão organizadas.

Para ter uma visão mais completa, a equipe também quer cruzar todos esses dados com o arquivo JSON de feriados públicos do Brasil, que podemos acessar no site Public Holiday API. Não só do Brasil, mas de outros países também. A ideia aqui é entender como os feriados podem afetar a questão do atraso nas entregas.

Baixando e explorando o dataset

O primeiro passo para entender melhor os dados e essa situação é baixar os arquivos do Dataset OLLIST. Podemos clicar no botão de download e selecionar "Download Dataset as Zip File". Após o download, podemos ver que o arquivo foi baixado no formato zip. Ao abrir a pasta de downloads, podemos ver o arquivo zip. Clicamos nele e extraímos os arquivos. Ao entrar na pasta, podemos ver vários arquivos que são aquelas tabelas mencionadas, conectadas através de variáveis específicas.

Se formos à lista, podemos ver que há esses tamanhos. Se somarmos todos esses arquivos, o tamanho total é de aproximadamente 126 megabytes. Para uma análise inicial, isso é totalmente gerenciável em um computador comum. No entanto, precisamos considerar um cenário diferente, pensando no contexto real de um negócio como o da Holiste. Essa base de dados não é estática; ela será alimentada diariamente ou semanalmente com milhares de novos pedidos, interações de clientes, avaliações e muito mais. O que hoje são 126 megabytes pode rapidamente se transformar em gigabytes, depois em terabytes e, eventualmente, em petabytes de dados.

Discutindo os desafios de infraestrutura

Se continuarmos com nossa infraestrutura atual, podemos enfrentar grandes desafios, como, primeiro, limitações de armazenamento. Nossos servidores físicos, que são basicamente computadores configurados para fornecer serviços, recursos ou dados a outros dispositivos na rede, podem ter uma capacidade de disco limitada. À medida que o volume de dados cresce, rapidamente chegaríamos a um ponto em que o espaço disponível se esgotaria. Isso exigiria a compra e instalação de novos discos rígidos, o que, além de custoso, é um processo demorado e nada escalável.

O segundo ponto seria a capacidade de processamento insuficiente. Analisar terabytes de dados exige um poder de processamento, como CPU e memória RAM, que, às vezes, nossos servidores atuais simplesmente não possuem. Aumentar essa capacidade significaria adquirir hardware mais potente, com todos os custos e demoras associados.

Além disso, um terceiro ponto seria a questão dos altos custos e demora na implementação. Qualquer expansão de capacidade, armazenamento ou processamento envolveria um longo ciclo de aprovação de orçamento, compra de hardware, entrega, instalação e configuração. Nosso negócio não pode esperar semanas ou meses por esses recursos.

Outro ponto seria a questão da subutilização de recursos. Se comprarmos hardware para o pico de demanda, por exemplo, em épocas de Black Friday, grande parte desse hardware ficaria ociosa nos períodos de menor movimento. Isso representa um custo elevado e sem retorno.

Considerando soluções escaláveis

Diante desse cenário de crescimento e dos desafios dessa infraestrutura, fica claro que precisamos de uma solução mais escalável, flexível e eficiente. É aqui que entra a computação em nuvem, que vamos explorar com mais detalhes no próximo vídeo.

Fundamentos de nuvem - O que é computação em nuvem?

Discutindo desafios de armazenamento e processamento de dados

Como vimos na aula anterior, com o aumento da nossa base de dados do OLIST, a necessidade de mais armazenamento de dados e poder de processamento para analisar grandes volumes de informação se tornou um desafio real para a equipe. Esse crescimento levanta uma questão importante: como as empresas tradicionalmente lidavam com essa demanda crescente por recursos computacionais?

Antigamente, a opção para as empresas era construir e manter seus próprios data centers, que são ambientes físicos projetados para abrigar servidores, sistemas de armazenamento e outros componentes de tecnologia responsáveis por processar e armazenar grandes volumes de dados. Isso implicava um investimento massivo em infraestrutura física, salas especializadas, sistemas de refrigeração, energia e equipes técnicas para gerenciar tudo isso. Era um processo extremamente demorado, custoso e exigia muito espaço físico e pessoal especializado. Além disso, tornava-se quase impossível escalar rapidamente, seja para aumentar ou diminuir a capacidade conforme a demanda oscilava.

Introduzindo a computação em nuvem como solução

É aqui que entra a computação em nuvem, que é basicamente um modelo de prestação de serviços que resolve esses problemas. Em vez de comprar e gerenciar sua própria infraestrutura física, nós acessamos recursos computacionais como armazenamento, servidores e até softwares completos pela internet e sob demanda. Alugamos esses recursos de provedores como Amazon, Google, Microsoft, por exemplo, e pagamos apenas pelo que usamos.

Para ilustrar o poder na nuvem, basta pensar em como acessamos informações hoje.

Quando utilizamos plataformas como YouTube, Netflix, Spotify ou Google Drive, estamos, no cotidiano, fazendo uso da computação em nuvem. Os vídeos, músicas ou documentos não estão armazenados em nossos dispositivos, mas sim em computadores potentes disponíveis na web que atendem às nossas solicitações. Esse modelo assegura que o conteúdo esteja sempre acessível e seguro, sem a necessidade de nos preocuparmos com o local ou a forma de armazenamento físico.

Explorando benefícios da escalabilidade e armazenamento na nuvem

Além disso, como discutido, a base de dados pode ultrapassar 126 megabytes, demandando um poder computacional maior para análises complexas, construção de modelos de machine learning (aprendizado de máquina) ou processamento em tempo real. A nuvem possibilita escalar esse poder de forma instantânea, permitindo o provisionamento de máquinas virtuais extremamente potentes por tempo limitado, sem a necessidade de adquirir e manter servidores caros.

Também há a questão do armazenamento de dados. Em vez de salvar os datasets (conjuntos de dados) em discos locais ou servidores no local, utilizamos serviços de armazenamento em nuvem, como o Amazon S3 ou o Google Cloud Storage, que abordaremos mais adiante. Embora seja possível alcançar alta disponibilidade com infraestrutura própria, isso requer um investimento elevado e um controle operacional significativo. Na nuvem, a alta disponibilidade, a redundância de dados, como cópias automáticas em diferentes locais, e o acesso remoto seguro já estão integrados ao serviço.

Concluindo com as vantagens da computação em nuvem

Em resumo, a computação em nuvem permite que a equipe de análise de dados se concentre no que realmente importa: extrair valor dos dados para o negócio, em vez de se preocupar com a gestão de infraestruturas físicas complexas.

Sobre o curso Fundamentos de nuvem: construindo a base

O curso Fundamentos de nuvem: construindo a base possui 182 minutos de vídeos, em um total de 44 atividades. Gostou? Conheça nossos outros cursos de Data Science em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Escolha a duração do seu plano

Conheça os Planos para Empresas