You are on page 1of 22

Computao em Nuvem e Escalvel

Paulo Barbosa
Slides adaptados de Haeberlen Penn State
1

Voc j usou a nuvem antes?

Ento o que especial sobre


ela?

O desafio chave escala!

Escalar traz novos desafios

Muitos dados, usurios em todos os lugares do


planeta
Armazenados em infra-estrutura compartilhada (data
centers pense como grande computador do
tamanho de um campo de futebol!)
Muitos algoritmos no funcionam nessas escalas
Precisa de solues especiais para confiabilidade,
desempenho, ...
"Big Data": Anlise de dados em escala

Mas escala tambm traz novas


oportunidades

Grandes conjuntos de dados permitem novas

A nuvem no seu bolso

Google um
exemplo de nuvem
e big data, tudo em
um
Armazenado nas
plataformas do
Google e nos seus
data centers
Registra suas
atividades, roda
anlises de larga
4

Porque devo pensar nisso?

Entender o que est por baixo da Nuvem

Entender os princpios

Como ela funciona? Quais os seus poderes? Suas


limitaes?
Tecnologias: MapReduce, Spark, KVS/NoSQL, DHT, Ajax,
...
Como construir algo que sejam tao escalvel, robusto,
etc.?
Vrios algoritmos avanados so necessrios
ambiente diferenciado!

Estar apto a usar a abordagem correta


quando projetando novos protocolos e
sistemas web

5 Facebook?
O que faramos se construssemos o novo

Porque devo pensar nisso?


(continuao)

Ganhar experincia prtica com


tecnologias nas nuvens

Entender o impacto na sociedade

Geralmente, o melhor voc fazer!


Neste curso, voc far um mini-Pronturio Mdico

Vulnerabilidades, privacidade, resilincia de dados, ...


Precisa acompanhar as tecnologias!

Antecipar o que possvel no futuro


6

Quo grande a Nuvem?

Computao centrada em dados

Tendncia computao centrada em


dados

Moeda so os dados da internet!

Duas palavras: "Big data"

Voc paga para usar Google, Facebook, etc.


deixando que registrem todas as suas aes.

Mas dados no so apenas negcios:

Permitem responder melhor questes, entender o


que importante, validar hipteses sobre interao
social,
8
Exemplo: pesquisa em rede social

Quais tipos de dados devemos


utilizar?

Todos sabemos que o Google d boas


respostas s perguntas por ter muitos
dados

mas que tipos de dados eles tem e como usam?


Vamos considerar

pgina
s

Market share

52B pginas
(2x Google)

A mquina de busca com mais dados


ter melhores resultados?

No necessariamente considere o exemplo de 2010


Elas podem indexar diferentes conjuntos de pginas,
e rankea-las diferentemente
O que significa em um longo termo?
10

Sources: worldwidewebsize.com, 9/8/2010; http://marketshare.hitslink.com/search-engine-market-share.aspx?qpr

Tamanho 27B
tudo?

Como funciona?

Google analise seus dados e constri


modelos para predizer o que seus
usurios devem achar relevante

Outro exemplo: Google & Bing Translate

Modela como frases em uma linguagem mapeia para


frases em outra linguagem, comparando muitos
11
documentos j traduzidos

Modelos so de imenso valor

12

Computao Centrada em Dados


Pervasiva

Hoje, no apenas Google domina "Big


Data"

No apenas Google & friends - bancos, financeiro,


academia, governos, companhias, militar,
startups, ...
Todos armazenam e analisam grandes volumes de
dados

Permitido com uma nova gerao de


hardware hosting services a
nuvem e modelos de programao
13

O que o curso?

Como construir aplicaes efetivas centradas


em dados, e servir Internet?

Voc aprendeu programao procedimental em uma


nica mquina olharemos programao centrada
em dados em milhares de mquinas
Entenderemos questes sobre quebrar problemas,
coordenao global, falhas, etc
Estudaremos muitos dos algoritmos usados por
servios reais de Internet

Como tiramos vantagem da nuvem a viso


da computao como uma utilidade (como
energia)?

Como usar a nuvem


Como construir projetos Web armazenados na
14
nuvem

Servios de Internet esto cada vez


mais integrados ao nosso modelo de
sociedade

Comunicao Twitter, Facebook, Skype, IM,


Mdia iTunes, Netflix,
Mercados Amazon, eBay, bolsas, propagandas
Utilitidades smart power grids, vendas e trocas

Centralidade de dados, mtodos


quantitativos esto revolucionando
propaganda, estudos de interaes
sociais, lingustica, etc.

Exemplo: Usando posts do Facebook/Twitter


15
para estudar o desenrolar da Primavera rabe

http://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/Info_box_collage_for_mena_Arabic_protests.png/300px-Info_box_collage_for_mena_Arabic_protes

Procurando entender uma


tendncia maior

Engenharia de Sistemas Networked


& Social

Para realmente entender e projetar


servios centrados em Internet, deve-se
entender interaes entre tecnologia,
sistemas, redes e pessoas

Temas centrais em pesquisas no NUTES em


tecnologias mdicas

16

O bsico da Nuvem

O que a nuvem'?

Tipos de nuvens; xAAS; computao de utilidade

Que tipos de servios ela prov?

AWS, EC2, EBS, S3, SimpleDB, key-value stores, ...


Estudos de caso em servios baseados em nuvem

17

Desafios Tcnicos
CPU #6

T2

CPU #5

T3

T1

CPU #4

T5

T4

T6
Time

CPU #3
CPU #2
CPU #1

T1
Time

T3

T6

T4

T5

Same start
state

Time

Quais so os desafios em computao em


nuvem?

T2

Escala, concorrncia, consistncia, segurana,


disponibilidade
Velocidade da luz (!), mquinas no confiveis, ...

O que podemos fazer?

Controle de concorrncia, consistncia, bloqueio,


18
replicao, ...

Programando a nuvem

http://www.nytimes.com/2006/06/14/technology/14search.html

Como programar um computador desse


tamanho?

Source: 1&1

MapReduce programming model; Hadoop


;
Beyond MapReduce: LINQ, Hive, PigLatin, XQuery, ...

Como armazenar/processar petabytes de


dados?

Sistemas de arquivos nas nuvens, replicao


19

http://www.opte.org/maps/

Algoritmos teis:

Como YouTube recomenda vdeos para voc?


Como Google encontra pginas relevantes que
procura?
Como Goggles reconhece imagens?
Como apontar (automaticamente) quais emails so
spam?
Como Facebook encontra seus possveis20
amigos?

Source: Baluja et al., WWW 2008

Trabalhando com grandes


conjuntos de dados

Interagindo com a nuvem


Cogent
HTTP

Servlet
Servlet

Server in
Servlet containerCalifornia

UPenn
Client

AT&T

Level 3

Como clientes interagem com a nuvem?

Google

Internet e protocolos web: TCP, DNS, HTTP...


Construindo web servers; Java servlets
Contedo dinmico: Ajax, Node.js; "Web 2.0"

Como servios de nuvens so


interconectados?

Troca de dados; JSON; XML


21

Questes?
Apresentao do perodo
anterior

22

You might also like