
Olá, meu nome é Victoria e sou responsável pelo marketing na CROC Cloud Services. Agora, hospedamos regularmente mitaps da nuvem. Recentemente, tive o desempenho mais legal de Dmitry Anoshin, que agora trabalha na Amazon, e quero compartilhá-lo.
Eu tinha um forte pressentimento de que as grandes empresas comerciais decidiram coletar geralmente todos os dados possíveis no mundo que poderiam alcançar. Por um lado, isso se traduz em análises avançadas, aumento de vendas e atratividade de produtos. Por outro lado, os dados se tornaram tão ousados e abrangentes que as piadas sobre caminhões com CD-ROMs são comuns há muito tempo.
Vamos ver por que pode ser necessário migrar para a nuvem e o que a Amazon conseguiu ao mudar a infraestrutura interna para o Redshift e o NoSQL DynamoDB. Vamos analisar a diferença entre os conceitos de SMP e MPP, ETL e ELT e tentar entender por que as nuvens são necessárias para big data.
Bem, se você está ciente do que aconteceu no setor nos últimos anos, vá para o caso específico. Venha para o corte, eu preparei um resumo dos principais pontos da performance.
Telemetria de cada lâmpada

As grandes empresas têm uma tendência muito perceptível em direção à formação de ecossistemas integrados em torno de seus usuários. Ou seja, você acordou, foi escovar os dentes e ao mesmo tempo olha as notícias em um espelho multimídia. A coluna Alexa inclui música animada pela manhã e lembra as reuniões de hoje. Aqui você pede café fresco com entrega em domicílio, pois o antigo já está acabando. Você entra no carro e, em seguida, novamente, o Alexa, que é integrado ao sistema multimídia do carro e continua a acompanhar na estrada. Além de uma pulseira inteligente, fones de ouvido, aplicativos no telefone e milhares de outras fontes de informação.
Esse é, ao mesmo tempo, um futuro um pouco assustador que vem rapidamente de todas as direções, uma tentativa de criar valor adicional para o consumidor final das empresas. Você deve concordar que é legal quando, por exemplo, de acordo com o programa Amazon Key In-Car, suas compras serão entregues diretamente na mala do carro no estacionamento. Agora moro no Canadá e essas integrações tornam a vida muito mais confortável. Para a empresa, esses dados também são muito valiosos em termos de segmentação de vendas, previsão de demanda, otimização logística e muito mais. Vantajoso para as duas partes.
Um problema Como eu já disse, há um forte sentimento de que as empresas geralmente coletam dados em escala excessiva na esperança de monetizá-los no futuro. E esses são terabytes. Na verdade, terabytes de informações mal estruturadas que fluem continuamente para os servidores da empresa, devorando recursos de rede, computação e armazenamento. É por isso que o problema da utilização otimizada dos recursos e da garantia da velocidade da computação é tão importante. E você também precisa fornecer aos analistas de negócios uma interface normal que não exige que eles tenham conhecimento especializado na construção de infraestrutura em nuvem. Portanto, muitas grandes empresas se mudaram para as nuvens.
Não há nuvem

A tecnologia em nuvem é a palavra da moda que praticamente conquistou todo mundo. Não, sem dúvida, ele parece sólido nas demonstrações financeiras da empresa e nas apresentações oficiais. No entanto, no nível do ferro, esses são os mesmos bons e velhos servidores localizados em data centers em todo o mundo. No entanto, a computação em nuvem precisa mais do que apenas um console de virtualização conveniente. A principal característica das nuvens é o gerenciamento totalmente dinâmico dos recursos e seu dimensionamento automático quando necessário:
- O cálculo
- Armazenamento.
- Recursos e transporte de rede.
- O banco de dados
Quando você possui essa infraestrutura, utilizará seus recursos de maneira muito mais completa, o que, com casos de negócios em larga escala, pode resultar em economias significativas.
Para pequenas empresas, essa abordagem também pode ser muito atraente. Imagine que você planeja comprar ferro novo para sua infraestrutura no próximo ano. Ao mesmo tempo, é muito difícil prever a carga exata, que pode variar de vários fatores. Por exemplo, seu produto de repente se torna muito popular devido a uma publicação bem-sucedida na Habré, uma multidão de clientes entra em sua direção e fica desapontada porque você não planejou essas cargas de pico. E pode haver uma situação inversa quando você superestima a demanda, compra excesso de capacidade e acaba adquirindo equipamentos ociosos, o que realmente remove o dinheiro necessário da rotatividade da empresa. Uma aposta exclusivamente na compra de capacidades de ferro é quase sempre um processo extremamente inerte e certamente perde adaptabilidade em um mercado em rápida mudança.
A migração específica ou completa para a nuvem é adequada para essas situações, que servem como um tipo de capacitor que suaviza picos de pico de consumo. Ou até completamente fornece infraestrutura.
Tipos de nuvens

De fato, dependendo do modelo de negócios, as empresas geralmente apresentam uma das três formas de construção de sistemas em nuvem. Uma pequena empresa geralmente usa nuvens públicas e economiza nos especialistas apropriados, concentrando-se em seu produto. As empresas particularmente grandes são semelhantes a muitas empresas separadas, conectadas por um objetivo e uma marca comuns. Portanto, eles costumam criar nuvens privadas, conseguindo uma ótima utilização de recursos. A parte usa modelos híbridos, que permitem processar dados particularmente sensíveis e protegidos legalmente localmente e transferir tarefas secundárias para nuvens externas. Pizza como serviço:

Sempre gostei muito dessa ilustração, que mostra bem o grau de delegação das tarefas de infraestrutura da sua empresa ao fornecedor.
A opção tradicional no local é comprar comida, pré-aquecer o forno e cozinhar pizza você mesmo. Perfeito! Mas você precisa ter todo o equipamento, ingredientes e muito mais.
O IaaS é uma opção de aluguel de infraestrutura. Você alugou uma cozinha com todo o equipamento, trouxe seus produtos e cozinhou uma ótima pizza. Pessoas especialmente treinadas irão lavar o forno com gordura, e você não precisa se preocupar com a nitidez das facas e outras ninharias.
PaaS é uma plataforma como um serviço. O serviço fornece algumas vantagens adicionais, além da infraestrutura vazia. Por exemplo, o Amazon Redshift - como um data warehouse, que permite economizar no DBA e focar no produto. No nosso exemplo de pizza, pode ser, por exemplo, uma massa pronta que só pode ser descongelada, espalhada com molho aromático, polvilhada com cogumelos, fatias de bacon macio e parmesão ralado.
A opção final é SaaS. Nesse caso, você obtém o produto mais finalizado com base no qual constrói seus negócios. Por exemplo, gere um blog baseado na plataforma pública de outra pessoa. No nosso exemplo, essa será a opção mais cara, mas simples, para pedir pizza pronta em casa.
Dados do caminhão. Móvel de neve
Há uma anedota barbada antiga da época dos anos “zero”: “Uma equipe de motoristas de caminhão conseguiu entregar 100.000 CDs de Odessa a Kiev da noite para o dia. Assim, eles atingiram uma taxa de transferência de dados de 2,43 terabytes por segundo em uma distância de mais de 500 km sem o uso de cabos caros ".

Naquela época, era apenas uma piada. No entanto, com os volumes modernos de um fluxo contínuo de fotos de cada telefone celular, áudio, vídeo e outra telemetria, torna-se completamente imbatível e se transforma em um problema real. Quando você não possui um link óptico grosso e alugado direto para o data center, mover grandes quantidades de dados para a nuvem pode ser um grande problema. Serviços como o Snowball da Amazon vêm em socorro.
Eles trazem para você um gabinete protegido tão brutal, com 50 terabytes de discos de alta velocidade e interfaces de rede de 10 gigabit. Em seguida, conecte-o diretamente à sua loja e mescle todos os dados na velocidade máxima. Em caso de roubo ou outros problemas, os dados saem da sala do servidor apenas na forma criptografada. Há um módulo TPM no caso, e as chaves de criptografia são gerenciadas usando o Serviço de Gerenciamento de Chaves da AWS (KMS). As chaves de criptografia não são armazenadas no próprio dispositivo.
Em casos especialmente avançados, você pode ligar para o Snowball Truck - um data center móvel com capacidade para 100 petabytes. Quando a escala de dados se aproxima dos exabytes, uma conexão típica de 10 gigabits exigirá 26 anos para a transferência de dados. E esses caminhões brancos poderão arrastar e soltar dados por seis meses.
Amazon Migrando do Oracle para Redshift
O que tínhamosVou falar um pouco sobre o caso com o qual trabalhei na Amazon. Grandes plataformas de negociação como a Amazon têm um trabalho muito doloroso - Prime Days. Essas são as vendas de pico da Black Friday e as vendas de Natal. Nesse ponto, os servidores estão derretendo sob carga, os armazéns estão cheios de carregadeiras e a logística está sufocando sob um fluxo contínuo de mercadorias. Este é um período muito importante do ponto de vista das vendas, e cada hora de inatividade ou inacessibilidade do serviço custa uma enorme quantidade de perdas.
O problema veio do Oracle DB. O banco de dados simplesmente parou de exportar esse volume de consultas simultâneas, tendo problemas com o dimensionamento. O site quase se desenvolveu sob o ataque de clientes e o banco de dados se tornou um problema em termos de escala.
Após uma análise cuidadosa, eles chegaram à conclusão de que os bancos de dados SQL tradicionais não são adequados como back-end para uma plataforma de negociação dessa magnitude. Além disso, o Oracle também é extremamente caro em termos de licenças e suporte. Como resultado, decidiu-se migrar para sua plataforma em nuvem, baseada no Redshift e NoSQL DynamoDB.
O DynamoDB foi um desenvolvimento interno com replicação síncrona entre data centers e um mecanismo extremamente eficaz para reduzir a redundância de dados, o que permitiu economizar significativamente em seu armazenamento. Um recurso muito importante foi o Auto Scaling - dimensionamento dinâmico de banco de dados para a quantidade necessária de dados. Também foi elaborada uma grande integração com o Hadoop.
Qual é o principal problema de um banco de dados tradicional?

O problema é que a versão antiga do Oracle se refere à arquitetura SMP, que envolve apenas dimensionamento vertical. Ou seja, você tem uma máquina poderosa com uma certa memória, um monte de armazenamento rápido e todas as solicitações fluem de uma maneira ou de outra para ela. Este é um modelo clássico da Oracle que se concentra no fornecimento de seus poderosos servidores independentes. Ao mesmo tempo, a empresa não acreditava particularmente em nuvens, e a computação paralela não era considerada uma solução promissora. E precisávamos de MPP - uma arquitetura paralela que permite borrar uma solicitação para muitas máquinas separadas e processar dados mais rapidamente.
Há outro ponto importante - a abordagem ETL vs ELT para inserir dados no banco de dados.
ETL - Extrair -> Transformar -> Carregar. Ou seja, primeiro recebemos dados de nossas fontes, estruturamos-os cuidadosamente e só depois os preenchemos em nosso armazém. A abordagem ELT envolve o preenchimento de dados ruidosos brutos no armazenamento e o processamento já está do seu lado. Em princípio, o RedShift suporta as duas abordagens, mas o ETL tem uma vantagem: o acesso aos dados filtrados é mais rápido e fácil de manipular. Embora, ao mesmo tempo, mais recursos sejam gastos na análise inicial de informações brutas. Há mais um momento não óbvio. O ETL reduz os riscos em termos de RGPD na legislação europeia, filtrando informações confidenciais com antecedência antes que elas cheguem ao repositório geral. Isso reduz o risco de acesso não autorizado aos dados. A principal ferramenta para o processamento primário de dados na nova arquitetura foi o Matillion. Já existe uma interface gráfica agradável, é altamente configurável e já vem em uma opção personalizada para o Amazon RedShift. Graças a ele, acabou diminuindo o limite de entrada. Agora, os gerentes de produto podem configurar os fluxos de dados recebidos na forma de um designer visual sem a ajuda de nossos engenheiros de dados.

Como resultado, obtivemos a flexibilidade, a escala e a suavização das cargas de pico necessárias. Por exemplo, eles foram capazes de resolver o problema de coletar 50 GB de logs do servidor da Web por dia para prever o comportamento dos visitantes.

Também apresentamos o Tableau, que nos permitiu mudar de tabelas mal conectadas no Excel para painéis únicos, convenientes para o gerenciamento.
E eu explicarei para o caso: existe um Oracle OLTP (back-end) na loja, existe o Oracle DW - um armazém de dados analíticos. O projeto foi voltado para as duas coisas, mas estou falando especificamente sobre o Oracle DW! Ou seja, o diagrama e a descrição fornecidos são locais, eles dizem respeito apenas à equipe da Amazon. O mesmo vale para o Tableau. Quando digo "implementamos o Painel de Avaliação", refiro-me ao projeto local, pois na Amazônia tudo é dividido em equipes, e todos escolhem o que fazer e o que implementar e usar.
As nuvens, apesar do hype um tanto prejudicial ao seu redor, já são a realidade atual. Provavelmente, a maioria dos projetos de negócios será construída de alguma forma em torno dessa infraestrutura. Sim, talvez nem toda empresa tenha essas soluções. Mas vale a pena planejar um desenvolvimento adicional agora, caso contrário, será difícil responder rapidamente às mudanças rápidas dos parâmetros do mercado e à concorrência acirrada.
Se alguém estiver interessado no tópico de análise de nuvem e soluções modernas,
acesse aqui . Largo conteúdo útil lá.
Venha para a nossa reunião

O CROC Cloud Services já passou por uma série de discursos de excelentes palestrantes; por exemplo, o tópico de uma mitap foi o uso prático dos serviços da AWS na vida. No próximo ano, planejamos vários outros eventos, falaremos sobre eles em detalhes. Acompanhe os eventos.