Big Data e Cloud Computing
Por Celso Poderoso | 16 de Abril de 2014 às 16h26
Conforme vimos, Big Data é composto por 3 Vs: Volume, Velocidade e Variedade. Para lidar com Big Data, portanto, foi necessário trabalhar com uma infraestrutura que permitisse realizar o armazenamento e recuperação de dados de diversos formatos em alta escala.
Hoje vamos falar um pouco sobre Cloud Computing. Conforme você verá, Cloud e Big Data são assuntos completamente inter-relacionados.
Cloud Computing
De acordo com o NIST (National Institute of Standards and Technology), Cloud Computing é o modelo que disponibiliza um conjunto de recursos computacionais de maneira conveniente, com acesso sob demanda à rede e que pode ser rapidamente provisionado e liberado com pouco esforço de gerenciamento ou interação do provedor de serviços.
Com uma abordagem bastante simples, podemos entender Cloud como sendo a oferta da “computação como serviço”. Sim, um serviço como são os serviços de eletricidade ou telefonia. Da mesma forma que não é necessário ter uma usina de produção de energia em casa para ter acesso à eletricidade, não deveria ser necessário ter um computador para poder processar e armazenar dados. Esta é a base do conceito de Cloud Computing. E este conceito foi imaginado há muito tempo, na década de 1960.
Mas não é só isso (naturalmente). Cloud Computing surgiu porque uma série de tecnologias de apoio deu suporte a este novo ambiente.
Tecnologias e Características de Cloud Computing
As principais tecnologias que deram apoio para o surgimento de Cloud são:
- Data center: centros que oferecem serviços de infraestrutura;
- Virtualização: permite fazer com que um único servidor possua diversos computadores virtuais maximizando o uso dos recursos disponíveis;
- SOA (Arquitetura Orientada a Serviços): camada de aplicação que permite uma melhor distribuição e compartilhamento de sistemas na Web;
- Grid Computing: dispositivos heterogêneos que utilizam um mesmo ambiente de rede para trocar, processar e armazenar dados.
Figura 1: Principais Tecnologias de Suporte a Cloud Computing
As principais características de Cloud Computing são:
- Serviços sob demanda: você usa os serviços conforme precisa, exatamente como faz quando consome energia elétrica;
- Amplo Acesso à Rede: não existe limitação para uso e acesso ao que está armazenado;
- Pool de recursos: os recursos computacionais para processamento e armazenamento podem (e devem) ser alocados de acordo com a necessidade;
- Escalabilidade ilimitada e rápida: a alocação de novos recursos não pode depender de uma pessoa ou mesmo de um sistema;
- Pagamento por Uso: os serviços devem ser pagos conforme o uso dos recursos. Usou, paga. Não usou, não paga.
Modelos de Serviço:
Para atender às demandas de serviços de acordo com os padrões e características descritas, criou-se uma série de modelos de serviço de Cloud. Para entender estes modelos, elaborou-se um artefato conhecido como “Pirâmide de Cloud”.
Figura 2: Pirâmide de Cloud Computing
Os principais são:
- SaaS (Software como Serviço): capacidade de fornecer aplicações ao usuário final. O principal benefício é que o usuário abstrai completamente tudo que é necessário para executar uma aplicação. O custo é reduzido e a necessidade de conhecer e interagir com a tecnologia e infraestrutura é inexistente;
- PaaS (Plataforma como Serviço): camada que permite utilizar recursos da nuvem com pequena necessidade de intervenção na infraestrutura de TI. O foco está no desenvolvimento de aplicações relevantes ao negócio, sem se preocupar em manter toda infraestrutura para funcionamento do ambiente;
- IaaS (Infraestrutura como Serviço): base da pirâmide, provê os recursos computacionais básicos (hardware para processamento e armazenamento) e deixa a cargo do contratante a administração do ambiente de software.
Modelos de Distribuição:
Os modelos de distribuição de Cloud seguem o princípio de como é possível utilizar e quais são os limites adequados para um projeto de Cloud Computing. Os principais são:
- Nuvem Pública: empresa especializada em serviços de TI que disponibiliza sua infraestrutura para que outras pessoas ou empresas utilizem seus recursos computacionais. Os grandes fornecedores são: AWS (Amazon Web Services), Google, Microsoft, etc.;
- Nuvem Privada: quando uma empresa contrata uma empresa especializada em serviços de TI, mas exige que seja apartado um ambiente único e exclusivo para sua empresa ou organização. Não existe compartilhamento de recursos com outras empresas. Este tipo de serviço diminui as características básicas da nuvem (exemplo, não permite escalabilidade de servidores);
- Nuvem Híbrida: quando compõe uma solução de nuvem que envolva servidores que estão fisicamente localizados dentro da empresa e outros que estão fora, seja em uma nuvem pública ou privada.
Conforme você deve ter notado, algumas das características de Cloud Computing são básicas para o sucesso de Big Data. Alguns recursos e a abordagem tecnológica são praticamente os mesmos nas duas tecnologias.