Baixe Material preliminar dobre cloud e big data e outras Notas de aula em PDF para Noções Básicas de Data Warehousing, somente na Docsity!
FUNDAMENTOS DE TECNOLOGIA DA INFORMAÇÃO
BIG DATA & CLOUD COMPUTING O surgimento quase concomitantemente dos projetos de Big Data e dos serviços de cloud computing pode ter sido mera coincidência. No entanto, precisamos destacar que a possibilidade de você poder ter uma flexibilidade de escalabilidade do seu ambiente de processamento como a que é possibilitada pelas soluções de cloud computing, sem dúvida alguma, contribuiu de forma decisiva para possibilitar que projetos de Big Data se tornassem realidade. Sem esta possibilidade oferecida pelos serviços de cloud computing, certamente o desenvolvimento e a evolução do Big Data teria ocorrido de forma muito mais lenta e estaríamos, hoje, em uma realidade de, talvez, 5 ou mais anos atrás. O Big Data as a Service, simplesmente fundiu oficialmente aquilo que já “andava de mãos dadas” desde os primórdios destas duas tecnologias: cloud computing e big data. Apesar de todas as evoluções tecnológicas, a complexidade da configuração e da manutenção dos ambientes de big data, e de computação em nuvem continua sendo um desafio para as empresas. Dessa maneira, esta realidade motivou a criação de uma nova forma de entregar serviços na nuvem, chamada de Big Data as a Service, ou BDaaS. Com o BDaaS, as empresas podem se mover rapidamente para a fase de implantação de soluções de big data sem passar pelas fases iniciais de pesquisa e de avaliação de ferramentas. Contudo, antes da implantação, a arquitetura deve estar documentada para permitir o reuso de seus componentes. A formalização da proposta de arquitetura do BDaaS deve ser feita por meio de frameworks e padrões internacionais.
COMPUTAÇÃO EM NUVEM - DEFINIÇÃO A computação em nuvem é um paradigma de computação distribuída em larga escala, conduzida por economias de escala, na qual um conjunto de recursos é entregue por demanda a usuários externos através da Internet. Este conjunto de recursos é formado por poder computacional, armazenamento, plataformas e serviços. A computação em nuvem difere de outros modelos por ser massivamente escalável, virtualizada, encapsulada em diferentes níveis de serviço para o cliente externo e por seus serviços serem configurados dinamicamente. Outra definição para computação em nuvem diz que a nuvem é um tipo de sistema paralelo e distribuído, consistindo de uma coleção de computadores interconectados e virtualizados que são tipicamente provisionados e apresentados como um ou mais recursos computacionais unificados, baseados em um SLA estabelecido entre o provedor do serviço e os consumidores. A computação em nuvem está ligada a questões de infraestrutura de recursos computacionais, tendo sua popularização a partir de 2006 com o serviço Elastic Cloud Computing (EC2) [3] da Amazon. Mesmo não sendo a primeira a propor o modelo, a empresa contribuiu para o modelo de computação utilitária, no qual o usuário pode provisionar máquinas virtuais no datacenter do provedor do serviço de nuvem, adicionando ou removendo capacidade da infraestrutura para atender à flutuação de sua demanda.
COMPUTAÇÃO EM NUVEM – CARACTERÍSTICAS ESSENCIAIS
- Auto-serviço por demanda
- Amplo acesso à rede
- Agrupamento de recursos
- Elasticidade rápida
- Serviço mensurável
- Auto-serviço por demanda: um consumidor pode unilateralmente provisionar recursos computacionais, como tempo de servidor e armazenamento na rede sem necessidade de interação com o provedor do serviço;
- Amplo acesso à rede: as funcionalidades ficam disponíveis através da rede e podem ser acessadas pelas plataformas dos clientes;
- Agrupamento de recursos: os recursos computacionais são agrupados para servir a múltiplos clientes em um modelo multi-tenant. Os recursos são atribuídos dinamicamente de acordo com a demanda. O consumidor não tem controle ou conhecimento sobre a localização do recurso que está utilizando;
- Elasticidade rápida: a capacidade dos recursos computacionais pode ser rapidamente provisionada e liberada para escalar conforme a demanda;
- Serviço mensurável: o serviço de nuvem gerencia e otimiza os recursos, e tem a capacidade de monitoramento e controle de forma transparente para o provedor e para o consumidor do recurso
COMPUTAÇÃO EM NUVEM – MODELOS DE SERVIÇOS
- Software as a Service (SaaS): as aplicações são disponibilizadas para os clientes por meio do provedor de nuvem e ficam disponíveis via navegador ou outro tipo de interface, como um consumidor de web services; O foco é o consumo do software pelo usuário
- Platform as a Service (PaaS): as aplicações podem ser implantadas diretamente na infraestrutura da nuvem. Neste modelo, o cliente não tem controle sobre a infraestrutura de rede, de servidores ou de armazenamento, entretanto, ele tem controle sobre a configuração da plataforma na qual as aplicações são executadas; O foco é a construção, desenvolvimento de aplicativos
- Infrastructure as a Service (IaaS): neste modelo você contrata a sua infraestrutura como serviço, utilizando servidores virtuais ao invés de comprar servidores, roteadores, racks e outros hardwares. Neste caso a empresa é tarifada de acordo com a quantidade de servidores virtuais, dados trafegados, dados armazenados e outros itens dependendo do provedor escolhido. Aqui é usado o sistema pay-per-use, ou seja se vc precisa de 5 servidores para o próximo mês, vc contrata essa utilização por esse período determinado e depois cancela a utilização exatamente como faz com um serviço de tv a cabo por exemplo. O foco é a migração de ambiente. As empresas abandonam o seu site e migram completamente para o ambiente de nuvem.
COMPUTAÇÃO EM NUVEM – TIPOS DE NUVENS
- Nuvem privada
- Nuvem Comunitária
- Nuvem Pública
- Nuvem Hibrida
- Nuvem Privada: a infraestrutura é provisionada exclusivamente para uma organização e seus consumidores;
- Nuvem Comunitária: a infraestrutura da nuvem é provisionada para uso exclusivo de uma comunidade de consumidores de organizações afins;
- Nuvem Pública: a infraestrutura é provisionada para uso aberto para o público em geral;
- Nuvem Híbrida: é a composição de dois ou mais tipos de infraestruturas distintas, a partir dos tipos apresentados anteriormente (privada, comunitária e pública)
ociosidade nos demais, assim, os recursos são redimensionados ou redirecionados automaticamente de acordo com a conveniência. A elasticidade é uma forma de diminuir o risco do superdimensionamento. É possível adicionar ou remover recursos em poucos minutos, adequando o processamento à carga de trabalho rapidamente. No entanto há desafios a enfrentar...
COMPUTAÇÃO EM NUVEM – DESAFIOS
- Disponibilidade do serviço
- Dados bloqueados
- Confidencialidade/Auditabilidade
- Gargalos na transferência de dados
- Performance imprevisível
- Elasticidade Rápida
- Reputação
- Licenciamento de software
- Disponibilidade do serviço: espera-se que os serviços estejam sempre disponíveis, minimizandos o número de falhas para evitar prejuízos;
- Dados bloqueados: a interoperabilidade entre plataformas ainda está em estágio inicial e os usuários não podem facilmente transmitir dados entre elas. Uma solução seria a padronização das Application Programming Interfaces (APIs), de forma que os fornecedores de SaaS possam instalar seus produtos em diferentes plataformas de nuvem;
- Confidencialidade/auditabilidade dos dados: segurança é uma questão a ser levantada durante a adoção do modelo de nuvem pública, na qual a responsabilidade é dividida entre o usuário, o fornecedor do serviço de nuvem e outros fornecedores envolvidos no processo;
- Gargalos na transferência de dados: o custo para transferência de grandes volumes de dados na Internet é alto, fato que deve ser considerado porque as aplicações podem usar mais de um provedor de nuvem para garantir redundância;
- Performance imprevisível: a CPU e a memória de máquinas virtuais (VMs) são
COMPUTAÇÃO EM NUVEM & BIG DATA – DESAFIOS Os desafios para aplicações de Big Data em nuvem foram definidos com base em dimensões que incluem o tempo de resposta, o padrão de acesso, o tipo de dados, a velocidade de I/O e a complexidade do trabalho. A partir destas dimensões foram definidas as situações atuais e futuras nas quais a análise de big data pode ser utilizada, que são: (i) ordenação distribuída na escala de petabytes, (ii) busca indexada em memória, (iii) sistemas de recomendação, (iv) deduplicação de dados baseados em acesso não sequencial, (v) processamento de vídeo em tempo real de forma interativa com o usuário. Os datacenters são baseados em computação e armazenamento virtualizado e, tipicamente, escalam para milhares de VMs, podendo se espalhar para outros datacenters. Este ambiente enfrenta desafios, como a análise de big data, a diversidade e a escala das aplicações. Assim, verifica-se que há uma associação entre o crescimento do volume de dados, a complexidade das análises e o aumento do número de sistemas criados para atender às demandas.
COMPUTAÇÃO EM NUVEM & BIG DATA – DESAFIOS Outros desafios:
- Provisionamento automatizado de serviços
- Consolidação de servidores
- Segurança dos dados
- Frameworks de software
- Tecnologias de armazenamento e gerenciamento de dados Além destes, outros desafios da computação em nuvem, apesar da sua ampla adoção pela indústria, envolvem:
- Provisionamento automatizado de serviços: a alocação e a liberação de recursos é o ponto chave da computação em nuvem, mas mapear requisitos de serviço (por exemplo QoS) em requisitos de baixo nível (por exemplo CPU) não é trivial;
- Consolidação de servidores: técnica na qual as VMs são agrupadas para maximizar a utilização do servidor, enquanto diminui o consumo de energia;
- Segurança dos dados: as políticas de segurança são de responsabilidade do provedor de nuvem, e precisam garantir confidencialidade e auditabilidade. Por isso, é necessária a criação de mecanismos de confiança na infraestrutura da nuvem;
- Frameworks de software: a performance de aplicações que usam frameworks como o MapReduce é fortemente dependente do tipo de operação, por exemplo, ordenação demanda o sistema de I/O, enquanto que análise de texto usa primariamente CPU. Assim, verifica-se que os frameworks apresentam gargalos de performance que podem ser otimizados com configurações dinâmicas;
COMPUTAÇÃO EM NUVEM - MODELOS
SaaS – Software as a Service
Modelo onde a aquisição ou utilização de um software não está vinculado a
compra de licenças.
Ex: Skype, Dropbox
Neste modelo vc paga pela utilização do software, vc não adquire o software como num licenciamento padrão.
COMPUTAÇÃO EM NUVEM - MODELOS
PaaS – Plataform as a Service
Modelo onde a aquisição ou utilização de um software não está vinculado a
compra de licenças.
Ex: Skype, Dropbox
Neste modelo vc paga pela utilização do software, vc não adquire o software como num licenciamento padrão.
- Gerenciamento: compreende as ferramentas de gerenciamento, federação, elasticidade, energia etc. Além disso, especifica APIs, ferramentas, interfaces gráficas e orquestração para interação entre serviços e recursos;
- Controle: inclui os serviços de SLA, medição, sistema de políticas, notificação e orquestração;
- Serviços de valor agregado: gerencia os componentes complementares, como gerenciamento de disponibilidade de zonas, alta disponibilidade, suporte a nuvem híbrida, migração ao vivo de VMs (live migration) etc.
COMPUTAÇÃO EM NUVEM – INFRAESTRUTURA COMO SERVIÇO Proposta de framework para a camada IaaS segundo Vogel et al:
- Gerenciador de nuvem: nível mais alto da infraestrutura, controla os usuários, os grupos, as permissões, as quotas e a qualidade do serviço;
- Gerenciador de infraestrutura: responsável pelo agendamento de recursos, imagens, rede, volumes, templates e criação das VMs;
- Gerenciador de máquinas virtuais: fornece uma abstração dos recursos físicos. É implementado através de um hypervisor que é executado no sistema operacional ou diretamente no servidor (bare metal);
- Hardware: compreende o nível mais básico da infraestrutura, com os recursos computacionais físicos.