Você está na página 1de 58

COMPUTAÇÃO EM NUVEM

Conceitos, tecnologias e aplicações

Jaqueline Joice Brito


Lucas de Carvalho Scabora
Sumário
• O que é Computação em Nuvem?

• Modelos de Serviços

• Prós e Contras

• Aplicações

• BigData

• Bancos de Dados NoSQL

• Hadoop
2
O que é Computação em Nuvem?

• Computação em
nuvem é um modelo
que possibilita acesso
a um conjunto de
recursos
computacionais
compartilhados e
interligados via rede

Imagem: http://antonioricardo.org/tag/cloud/ 3
O que é Computação em Nuvem?

A nuvem é uma metáfora


para a Internet ou
infraestrutura de
comunicação entre os
componentes arquiteturais

Abstração que oculta a


complexidade de
infraestrutura

Imagem: http://www.uolhost.com.br/blog/cloud-computing-a-importancia-das-nuvens#rmcl 4
O que é Computação em Nuvem?

Em resumo, é uma
plataforma que provê
serviços sob-demanda,
que está sempre
disponível, em qualquer
lugar e a qualquer hora

Fonte da imagem: http://redes-e-servidores.blogspot.com.br/2013/03/a-evolucao-da-computacao-cloud-computing.html 5


O que é Computação em Nuvem?
Definição segundo NIST
“Computação em nuvem é um modelo para permitir
acesso ubíquo, conveniente e sob demanda via rede a
um agrupamento compartilhado e configurável de
recursos computacionais (por exemplo, redes, servidores,
equipamentos de armazenamento, aplicações e
serviços), que pode ser rapidamente fornecido e liberado
com esforços mínimos de gerenciamento ou interação
com o provedor de serviços.”

NIST: Instituto Nacional de Padrões e Tecnologia do Departamento de Comércio Norte-Americano

6
O que é Computação em Nuvem?
Principais Características
• Serviço sob demanda
 Alocação dinâmica de recursos
• Acesso via rede

• Compartilhamento de recursos

• Elasticidade

• Sensação de capacidade infinita de recursos

• Serviço mensurável

 Modelo pay-as-you-go

7
O que é Computação em Nuvem?

Tecnologia Modelo de Negócio

Mainframe Computação Centralizada Alto custo de hardware e


software

Cliente/Servidor Computação Distribuída Licença para SO e aplicativos

Computação em Grandes data centers Custo proporcional ao uso


Nuvem

8
O que é Computação em Nuvem?
Modelos de implantação

• Privada

• Comunitária

• Pública

• Híbrida

Imagem: http://www.cloudproviderusa.com/the-difference-between-public-cloud-private-cloud/ 9
Modelos de Serviços

Imagem: http://www.rividium.com/cloud.aspx 10
Modelos de Serviços
Termos Emergentes
Database as a Service (DBaaS)
O provedor de serviço tem a responsabilidade de instalar e
dar manutenção ao banco de dados. Assim, o usuário, que
contratou o serviço, apenas paga um valor proporcional ao
uso.

Business Intelligence as a Service (BIaaS)


Também chamado de Software como um servico de
business inteligence (SaaS BI), consiste em instalar e
gerenciar aplicações de BI na nuvem.

11
Modelos de Serviços

BD

SGBD

instalation
configuration
maintenance
...

Adaptado de: http://www.rividium.com/cloud.aspx 12


Modelos de Serviços
Exemplos
Software as a Platform as a Infrastructure as a
Service (SaaS) Service (PaaS) Service (IaaS)

13
Prós e Contras
Principais Vantagens

Redução de investimento em TI (hardware e software)


 Envolvendo custo de manutenção, de pessoal, de espaço
físico e de energia

Confiabilidade
 Replicação dos dados
 Disponibilidade das aplicações

14
Prós e Contras
Principais Vantagens
• Não há contratos complexos e duradouros de prestação
de serviço
 Cobra-se apenas pelos recursos multiplicados pelo tempo
de uso
• Escala por demanda
 Capacidade virtualmente infinitos
• Abstração da tecnologia sendo utilizada

15
Prós e Contras
Principais Desafios
Segurança e confidencialidade dos dados

Gerenciamento dos dados

Disponibilidade

Integração de serviços

Necessidade de uma banda maior de internet

16
Aplicações
Data Centers

Imagem: http://www.wdpo.org/world-data-protection-networks/ 17
Aplicações
Data Centers

No Brasil, temos ao todo 29 data centers

Imagem: http://www.datacentermap.com/brazil/ 18
Aplicações
ARMAZENAMENTO ARMAZENAMENTO
COM REDUNDÂNCIA COM REDUNDÂNCIA DE
LOCAL (LRS) ZONA (ZRS)

ARMAZENAMENTO ARMAZENAMENTO COM


COM REDUNDÂNCIA e REDUNDÂNCIA GEOGRÁFICA NO
GEOGRÁFICA (GRS) ACESSO DE LEITURA (RA-GRS)

19
Aplicações
Usos mais comuns da computação em nuvem

 IaaS e PaaS
 Armazenamento de dados
 Ambientes de testes e desenvolvimento
 Processamento e análise de Big Data
 Backup

20
Big Data

Imagem: https://students.washington.edu/bits/club/wp-content/uploads/2014/05/Big-data.Red_.jpg 21
Big Data

22
Big Data

3Vs Volume

Big
Data
Velocidade Variedade

23
Big Data

5Vs Volume

Valor Veracidade
Big
Data

Velocidade Variedade

24
Big Data
Dados possuem informações valiosas

• Análise de navegação e reviews de usuários


 Recomendação personalizada de produtos

 Análise de mensagens de redes sociais

25
Big Data
Observatório da Dengue

• Desenvolvido por pesquisadores da UFMG


• Monitoramento de mensagens em redes sociais

• Aumento de mensagens
relacionadas ao termo
“dengue” em uma região
pode indicar um possível
surto

Imagem: http://www.ufmg.br/online/arquivos/anexos/Portal_Observatorio_Dengue.JPG 26
Big Data
Kevin Spacey e David Fincher
possuiam grande aceitação
Mesmos usuários gostavam de
thrillers políticos

Imagens: http://pt.slideshare.net/laodias/os-cinco-vs-do-big-data http://img.vivaolinux.com.br/imagens/dicas/comunidade/netflix.png 27


Armazenamento Distribuído de Dados
• Bancos de dados relacionais
- Dados estruturados
- Escopo limitado
- Propriedades ACID

• Bancos de dados NoSQL (Not only SQL)


- Dados semiestruturados e não estruturados
- Esquema flexível ou nenhum esquema
- Relaxamento das propriedades ACID

28
Armazenamento Distribuído de Dados

http://blog.triscal.com.br/wp-content/uploads/2013/06/cap-theoram-image.png 29
Bancos de Dados NoSQL
Algumas Características
Foco no armazenamento de grandes volumes de dados

Alto desempenho

Alta escalabilidade horizontal

Replicação dos dados

SQL não é a linguagem padrão

Usualmente classificados pelo modelo de dados

 Chave-valor, documentos, famílias de colunas e grafos

30
Bancos de Dados NoSQL
• Chave-valor
 Modelo simples

 Coleção de pares chave-valor

 Acesso aos dados pela chaves

 Pesquisa rápida

 Aplicações típicas

 Gerenciamento de sessões

31
Bancos de Dados NoSQL

Chave Valor

13487 TV 20’ LCD

13488 TV 40’ LED

13489 TV 50’ PLASMA

13490 TV 32’ LED

32
Bancos de Dados NoSQL
• Documentos
 Cada documento é uma coleção de

pares chave-valor

 Formato JSON/XML

 Permite consultas mais elaboradas

• Filtros por atributos

 Aplicações típicas

• Aplicações Web

33
Bancos de Dados NoSQL

{
“Id”: 13490,
{
“Produto”: “TV”,
“Id”: 13489,
{ “Tamanho”: “32’”,
“Produto”: “TV”,
“Id”: 13488, “Tela”: “LED”
{ “Tamanho”: “50’”,
“Produto”: “TV”, }
“Id”: 13487, “Tela”: “PLASMA”
“Tamanho”: “40’”,
“Produto”: “TV”, }
“Tela”: “LED”
“Tamanho”: “20’”,
}
“Tela”: “LCD”
}
34
Bancos de Dados NoSQL
• Famílias de Colunas
 Eficiente ao armazenar grandes quantidades
 Valores identificados por uma tripla

Linha, coluna e timestamp

 Colunas são armazenadas de forma


contígua
 Não implementa junção

 Aplicações típicas
• Gerenciamento de grandes volumes de dados

35
Bancos de Dados NoSQL
Reys Famílias de Colunas
Principais Adicionais

Rowkey Produto Tamanho Tela Tipo

13487 TV 20’ LCD

13488 TV 40’ LED

13489 TV 50’ PLASMA SMART

13490 TV 32’ LED SMART


36
Bancos de Dados NoSQL
• Grafos
 Baseados na teoria dos grafos

 Dados são modelados por nós e


arestas
 Nós e arestas podem possuir
propriedades
 Aplicações típicas
• Redes Sociais

• Recomendações

37
Bancos de Dados NoSQL
Vende

Loja1 Loja2 Loja3

13487 13488 13487 13487

Produto: TV Produto: TV Produto: TV Produto: TV


Tamanho: 20’ Tamanho: 40’ Tamanho: 50’ Tamanho: 32’
Tela: LCD Tela: LED Tela: PLASMA Tela: LED

38
Bancos de Dados NoSQL

Imagen: http://drzito.files.wordpress.com/2007/05/network.jpg 39
Hadoop
• Framework de processamento paralelo de dados em
larga escala
• Altamente escalável
• Tolerante a falhas
• Disponível

• Principais componentes
• Armazenamento
• HDFS – Hadoop Distributed File System
• Processamento
• MapReduce

40
HDFS - Hadoop Distributed File System

NameNode

DataNode 1 DataNode 2 DataNode 3 DataNode 4

41
HDFS - Hadoop Distributed File System

NameNode

DataNode 1 DataNode 2 DataNode 3 DataNode 4

42
HDFS - Hadoop Distributed File System

NameNode

Metadados

DataNode 1 DataNode 2 DataNode 3 DataNode 4

Cada bloco possui 3


réplicas distribuídas
entre os DataNodes

43
MapReduce

casa rio
boneca rio
dado casa
dado boneca
dado casa
boneca rio
rio casa
boneca dado

44
MapReduce

casa rio
boneca rio
casa rio
boneca rio dado casa
dado casa dado boneca
dado boneca
dado casa dado casa
dado rio rio dado rio
casa rio dado

rio casa
rio dado

45
chave valor

MapReduce casa,1
rio, 1
boneca, 1
rio,1

casa rio
boneca rio dado,1
casa rio casa, 1
boneca rio dado casa dado, 1
dado casa dado boneca boneca, 1
dado boneca
dado casa dado casa dado,1
dado rio rio dado rio casa, 1
casa rio dado dado, 1
rio, 1
rio casa
rio dado
rio,1
casa, 1
rio, 1
dado, 1

46
chave valor

MapReduce casa,1
rio, 1 boneca, 1
boneca, 1 boneca, 1
rio,1

casa rio
boneca rio dado,1 casa,1
casa rio casa, 1 casa, 1
boneca rio dado, 1 casa, 1
dado casa
dado casa boneca, 1 casa, 1
dado boneca
dado boneca
dado casa dado casa dado,1 dado, 1
dado rio rio dado, 1
dado rio casa, 1
casa rio dado dado, 1
dado, 1
dado, 1
rio, 1 dado, 1
rio casa
rio dado
rio, 1
rio,1
rio, 1
casa, 1
rio, 1
rio, 1
rio, 1
dado, 1 rio, 1

47
MapReduce casa,1
rio, 1 boneca, 1
boneca, 1 boneca, 1
rio,1

casa rio
boneca rio dado,1 casa,1
casa rio casa, 1 casa, 1
boneca rio dado, 1 casa, 1
dado casa
boneca, 1 casa, 1 boneca, 2
dado casa dado boneca casa, 4
dado boneca
dado, 5
dado casa dado casa dado,1 dado, 1
rio, 5
dado rio rio dado, 1
dado rio casa, 1
casa rio dado dado, 1
dado, 1
dado, 1
rio, 1 dado, 1
rio casa
rio dado
rio, 1
rio,1
rio, 1
casa, 1
rio, 1
rio, 1
rio, 1
dado, 1 rio, 1

48
MapReduce
Função Map

49
MapReduce
Função Reduce

50
Evolução do MapReduce

• HiveQL – Linguagem
similar ao SQL para
acessar os dados

Apache Pig
Apache Hive
• PigLatin - Linguagem
procedural de alto nível
• Scripts são traduzidos
para sequências de
programas MapReduce
51
Oportunidades
Data Scientist
• Alguns conhecimentos necessários

 Saber programação
 Ser capaz de criar modelos estatísticos
 Compreender as diferentes plataformas de Big Data

• Usualmente esse profissional é formado em Estatística,


Matemática, Física ou Ciências da Computação

Imagem: http://brmtecnologia.files.wordpress.com/2012/07/bi-analyze.png 52
Oportunidades

53
Oportunidades

54
Oportunidades

55
Oportunidades

56
Referências
http://www.sciencedaily.com/releases/2013/05/130522085217.htm
http://www-3.unipv.it/ingegneria/copisteria_virtuale/motta/doss/13-PV-DoES-18-BigData-v3.pdf
http://pig.apache.org/
http://hadoop.apache.org/
https://hive.apache.org/
http://azure.microsoft.com/en-us/pricing/details/storage/
http://thoughtsoncloud.com/2014/02/top-7-most-common-uses-of-cloud-computing/
http://pt.slideshare.net/laodias/os-cinco-vs-do-big-data
http://www.microsoft.com/en-us/news/presskits/cloud/docs/the-economics-of-the-cloud.pdf
http://www.cloudproviderusa.com/the-difference-between-public-cloud-private-cloud/
http://observatorio.inweb.org.br/dengueapp?next=/dengueapp/relatorio
https://www.youtube.com/watch?v=jyx8iP5tfCI&feature=youtu.be

57
Obrigado 

58

Você também pode gostar