Escolar Documentos
Profissional Documentos
Cultura Documentos
ComputacaoEmNuvem DanielCordeiro PDF
ComputacaoEmNuvem DanielCordeiro PDF
Daniel Cordeiro
Departamento de Cincia da Computao
Instituto de Matemtica e Estatstica
Universidade de So Paulo
Ol! :)
2 / 108
3 / 108
3 / 108
3 / 108
3 / 108
3 / 108
3 / 108
4 / 108
4 / 108
4 / 108
Histrico e motivaes
5 / 108
6 / 108
Caractersticas
Definitivamente data-intensive
Mas podem tambm ser processing-intensive
Exemplos:
Crawling, indexao, busca, minerao de dados da web
Pesquisa em biologia computacional na era ps-genmica
Processamento de dados cientficos (fsica, astronomia, etc.)
Redes de sensores
Aplicaes Web 2.0
etc.
7 / 108
8 / 108
8 / 108
8 / 108
8 / 108
8 / 108
8 / 108
1 PB = 1.000.000.000.000.000 B
= 1.0005 B
= 1015 B
= 1 milho de gigabytes
= 1 mil terabytes
8 / 108
9 / 108
9 / 108
9 / 108
9 / 108
9 / 108
9 / 108
10 / 108
11 / 108
Evoluo da computao
anos 50: computadores eram grandes calculadoras
programadas com cartes perfurados; incio da computao
paralela
final dos anos 60: ARPANET (computadores comeavam a
serem interconectados; noo de computao como um
servio)
anos 70: surgem os primeiros microprocessadores
anos 80: popularizao dos computadores pessoais
anos 90: popularizao da Internet
12 / 108
Evoluo da computao
anos 50: computadores eram grandes calculadoras
programadas com cartes perfurados; incio da computao
paralela
final dos anos 60: ARPANET (computadores comeavam a
serem interconectados; noo de computao como um
servio)
anos 70: surgem os primeiros microprocessadores
anos 80: popularizao dos computadores pessoais
anos 90: popularizao da Internet
12 / 108
Evoluo da computao
anos 50: computadores eram grandes calculadoras
programadas com cartes perfurados; incio da computao
paralela
final dos anos 60: ARPANET (computadores comeavam a
serem interconectados; noo de computao como um
servio)
anos 70: surgem os primeiros microprocessadores
anos 80: popularizao dos computadores pessoais
anos 90: popularizao da Internet
12 / 108
Evoluo da computao
anos 50: computadores eram grandes calculadoras
programadas com cartes perfurados; incio da computao
paralela
final dos anos 60: ARPANET (computadores comeavam a
serem interconectados; noo de computao como um
servio)
anos 70: surgem os primeiros microprocessadores
anos 80: popularizao dos computadores pessoais
anos 90: popularizao da Internet
12 / 108
Evoluo da computao
anos 50: computadores eram grandes calculadoras
programadas com cartes perfurados; incio da computao
paralela
final dos anos 60: ARPANET (computadores comeavam a
serem interconectados; noo de computao como um
servio)
anos 70: surgem os primeiros microprocessadores
anos 80: popularizao dos computadores pessoais
anos 90: popularizao da Internet
12 / 108
Paradigmas de computao
Computadores Pessoais
Computadores Paralelos
Aglomerados de Computadores (clusters)
Computao Voluntria (Volunteer Computing ):
The Great Internet Mersenne Prime Search (1996): busca por
primos de Mersenne (primos da forma 2n 1, n N)
distributed.net (1997): decriptografia por fora-bruta
SETI@Home (1999): anlise de sinais de rdio vindos do
espao em busca de evidncia de vida extra-terreste
13 / 108
Paradigmas de computao
Computadores Pessoais
Computadores Paralelos
Aglomerados de Computadores (clusters)
Computao Voluntria (Volunteer Computing ):
The Great Internet Mersenne Prime Search (1996): busca por
primos de Mersenne (primos da forma 2n 1, n N)
distributed.net (1997): decriptografia por fora-bruta
SETI@Home (1999): anlise de sinais de rdio vindos do
espao em busca de evidncia de vida extra-terreste
13 / 108
Paradigmas de computao
Computadores Pessoais
Computadores Paralelos
Aglomerados de Computadores (clusters)
Computao Voluntria (Volunteer Computing ):
The Great Internet Mersenne Prime Search (1996): busca por
primos de Mersenne (primos da forma 2n 1, n N)
distributed.net (1997): decriptografia por fora-bruta
SETI@Home (1999): anlise de sinais de rdio vindos do
espao em busca de evidncia de vida extra-terreste
13 / 108
Paradigmas de computao
Computadores Pessoais
Computadores Paralelos
Aglomerados de Computadores (clusters)
Computao Voluntria (Volunteer Computing ):
The Great Internet Mersenne Prime Search (1996): busca por
primos de Mersenne (primos da forma 2n 1, n N)
distributed.net (1997): decriptografia por fora-bruta
SETI@Home (1999): anlise de sinais de rdio vindos do
espao em busca de evidncia de vida extra-terreste
13 / 108
Paradigmas de computao
Computadores Pessoais
Computadores Paralelos
Aglomerados de Computadores (clusters)
Computao Voluntria (Volunteer Computing ):
The Great Internet Mersenne Prime Search (1996): busca por
primos de Mersenne (primos da forma 2n 1, n N)
distributed.net (1997): decriptografia por fora-bruta
SETI@Home (1999): anlise de sinais de rdio vindos do
espao em busca de evidncia de vida extra-terreste
13 / 108
Paradigmas de computao
Computadores Pessoais
Computadores Paralelos
Aglomerados de Computadores (clusters)
Computao Voluntria (Volunteer Computing ):
The Great Internet Mersenne Prime Search (1996): busca por
primos de Mersenne (primos da forma 2n 1, n N)
distributed.net (1997): decriptografia por fora-bruta
SETI@Home (1999): anlise de sinais de rdio vindos do
espao em busca de evidncia de vida extra-terreste
13 / 108
Paradigmas de computao
Computadores Pessoais
Computadores Paralelos
Aglomerados de Computadores (clusters)
Computao Voluntria (Volunteer Computing ):
The Great Internet Mersenne Prime Search (1996): busca por
primos de Mersenne (primos da forma 2n 1, n N)
distributed.net (1997): decriptografia por fora-bruta
SETI@Home (1999): anlise de sinais de rdio vindos do
espao em busca de evidncia de vida extra-terreste
13 / 108
Paradigmas de computao
Computadores Pessoais
Computadores Paralelos
Aglomerados de Computadores (clusters)
Computao Voluntria (Volunteer Computing ):
The Great Internet Mersenne Prime Search (1996): busca por
primos de Mersenne (primos da forma 2n 1, n N)
distributed.net (1997): decriptografia por fora-bruta
SETI@Home (1999): anlise de sinais de rdio vindos do
espao em busca de evidncia de vida extra-terreste
13 / 108
14 / 108
15 / 108
t2
t3
worker
worker
worker
r1
r2
r3
Combinar
resultado
16 / 108
Desafios de paralelizao
17 / 108
Problema recorrente
18 / 108
19 / 108
Ferramentas atuais
Modelos de programao:
Memria compartilhada (pthreads)
Passagem de mensagens (MPI)
Padres arquiteturais:
Mestre-escravo
Produtor-consumidor
Filas de trabalho compartilhadas
20 / 108
Moral da histria
Separe o qu do como:
O desenvolvedor especifica apenas o que deve ser computado
O arcabouo deve se encarregar de como realizar a execuo
21 / 108
Ideias principais
22 / 108
Ruptura na indstria de TI
23 / 108
Tecnologias web
24 / 108
Virtualizao
Definio
Virtualizao a criao de uma verso virtual de recursos como
um sistema operacional, um servidor, um dispositivo de
armazenamento, recursos de rede, etc.
Aplic.
Aplic.
Aplic.
Aplic.
Aplic.
Aplic.
Sistema Operacional
Sistema Operacional
Hypervisor
Hardware
Hardware
25 / 108
26 / 108
27 / 108
Usos de virtualizao
28 / 108
29 / 108
Computao Utilitria
O que ?
Recursos de computao oferecidos como um servio onde
voc paga pelo o que usa
Habilidade de aprovisionar dinamicamente mquinas (virtuais)
Por qu?
Custo: despesas de capital vs. despesas de operao
Escalabilidade: capacidade infinita
Elasticidade: aumentar ou diminuir o poder de processamento
30 / 108
http://geek-and-poke.com/2008/05/simply-explaine.html
Daniel Cordeiro http://www.ime.usp.br/~danielc/
31 / 108
Segundo a Wikipedia:
A origem do termo Computao em Nuvem obscura, o termo
parece ter sido derivado do uso de uma nuvem estilizada em
diagramas de redes de computadores e sistemas de comunicao. A
palavra nuvem usada como uma metfora para a Internet (...)
32 / 108
33 / 108
Classificao em servios
A forma como as aplicaes e hardware so disponibilizadas para os
usurios utilizada para classificar as plataformas de Computao
em Nuvem como:
Software as a Service (SaaS)
as aplicaes que rodam no navegador so oferecidas como um
servio
34 / 108
35 / 108
36 / 108
37 / 108
38 / 108
39 / 108
40 / 108
Vantagens:
capacidade de provisionamento de novos servidores quase que
em tempo real
ambiente de execuo otimizado para a plataforma
modelo arquitetural padronizado para as aplicaes
41 / 108
42 / 108
Provedores de PaaS:
Google AppEngine
Heroku
EngineYard
Force.com
Windows Azure Cloud Services
Oracle Platform as a Service
43 / 108
44 / 108
45 / 108
Exemplos:
Amazon EC2
Windows Azure
Rackspace Cloud
Google Compute Engine
46 / 108
Consequncias:
custos reduzidos
menos tempo de manuteno
alta disponibilidade
menos emisses de carbono
47 / 108
Flexibilidade
Software: permite que seu software seja usado a partir de
qualquer plataforma
Acesso: permite acesso aos recursos a partir de qualquer
computador conectado a Internet
Infraestrutura de implantao adaptvel:
Software controla a infraestrutura
48 / 108
49 / 108
Causo
1
A Animoto uma startup que oferece uma aplicao web que produz
vdeos a partir de fotos, videoclipes e msica
Daniel Cordeiro http://www.ime.usp.br/~danielc/
50 / 108
51 / 108
Personalizao
Plataforma de software
Armazenamento
Largura de banda de rede
Velocidade
...
52 / 108
Custo
Pague a medida que usar
Pequenas/mdias empresas podem competir com a
infraestrutura de grandes corporaes
time to service / market
sem custo inicial
53 / 108
Manuteno
inteira responsabilidade do provedor do servio
Essas responsabilidades incluem:
Atualizaes de software
Atualizaes de segurana
Monitoramento do estado do sistema
Backup do sistema
etc.
54 / 108
Utilizao
Consolidao de uma grande quantidade de recursos:
ciclos de CPU
armazenamento
largura de banda de rede
55 / 108
56 / 108
Emisso de CO2
Consolidao dos servidores
Maiores taxas de utilizao
Consumo de energia reduzido
57 / 108
58 / 108
58 / 108
58 / 108
58 / 108
58 / 108
59 / 108
59 / 108
59 / 108
59 / 108
Modelos de implantao
Nuvem Privada a infraestrutura provisionada para uso exclusivo
de uma nica organizao com vrios usurios
Nuvem Comunitria a infraestrutura provisionada para um grupo
de organizaes com interesses em comum
Nuvem Pblica a infraestrutura provisionada para uso pelo
pblico em geral. O provedor pode ser uma empresa,
universidade, organizao governamental, etc.
Nuvem Hbrida a infraestrutura uma composio de dois ou mais
tipos infraestrutura (privada, pblica ou comunitria)
60 / 108
Modelos de implantao
Nuvem Privada a infraestrutura provisionada para uso exclusivo
de uma nica organizao com vrios usurios
Nuvem Comunitria a infraestrutura provisionada para um grupo
de organizaes com interesses em comum
Nuvem Pblica a infraestrutura provisionada para uso pelo
pblico em geral. O provedor pode ser uma empresa,
universidade, organizao governamental, etc.
Nuvem Hbrida a infraestrutura uma composio de dois ou mais
tipos infraestrutura (privada, pblica ou comunitria)
60 / 108
Modelos de implantao
Nuvem Privada a infraestrutura provisionada para uso exclusivo
de uma nica organizao com vrios usurios
Nuvem Comunitria a infraestrutura provisionada para um grupo
de organizaes com interesses em comum
Nuvem Pblica a infraestrutura provisionada para uso pelo
pblico em geral. O provedor pode ser uma empresa,
universidade, organizao governamental, etc.
Nuvem Hbrida a infraestrutura uma composio de dois ou mais
tipos infraestrutura (privada, pblica ou comunitria)
60 / 108
Modelos de implantao
Nuvem Privada a infraestrutura provisionada para uso exclusivo
de uma nica organizao com vrios usurios
Nuvem Comunitria a infraestrutura provisionada para um grupo
de organizaes com interesses em comum
Nuvem Pblica a infraestrutura provisionada para uso pelo
pblico em geral. O provedor pode ser uma empresa,
universidade, organizao governamental, etc.
Nuvem Hbrida a infraestrutura uma composio de dois ou mais
tipos infraestrutura (privada, pblica ou comunitria)
60 / 108
61 / 108
62 / 108
63 / 108
Novas aplicaes
Aplicaes mveis interativas
Processamento paralelo em batch: muitos dados
Business analytics
Aplicaes desktop com computao intensa (ex: Matlab e
Mathematica)
64 / 108
Provedores de plataformas de
Computao em Nuvem
65 / 108
66 / 108
67 / 108
68 / 108
68 / 108
68 / 108
68 / 108
Instagram
foursquare
Netflix
Dropbox
Heroku
Pinterest
tumblr
etc.
69 / 108
Samsung
Shell
The New York Times
Ticketmaster
Nasa
Unilever
Nasdaq
etc.
70 / 108
71 / 108
72 / 108
73 / 108
74 / 108
75 / 108
76 / 108
77 / 108
78 / 108
Crescimento do Amazon S3
Aumento no nmero de objetos armazenados na Amazon S3 ao
longo dos anos:
2006 2,9 bilhes
2007 14 bilhes
2008 40 bilhes
2009 102 bilhes
2010 262 bilhes
2011 762 bilhes
jun/2012 1 trilho
79 / 108
80 / 108
AWS Import/Export
81 / 108
82 / 108
82 / 108
82 / 108
82 / 108
82 / 108
82 / 108
83 / 108
84 / 108
84 / 108
84 / 108
84 / 108
85 / 108
86 / 108
87 / 108
Instncias Spot
Permitem negociar a parte no usada da infraestrutura do EC2
Voc diz o quanto quer pagar no mximo por uma instncia de
determinado tipo
Preos das instncias so redefinidos periodicamente, variando
com a oferta e demanda por capacidade
Se o preo atual for menor que o preo mximo definido, voc
recebe uma instncia e paga s pelo preo atual (normalmente
menor do que o preo mximo)
Voc usa a instncia at que opte por termin-la ou at que o
preo atual ultrapasse o preo mximo definido
88 / 108
89 / 108
Top 500
A lista Top 500 elenca os 500 supercomputadores mais rpidos
do mundo
1.064 instncias do EC2 foram usadas para criar um
supercomputador com 17.024 cores
240 teraflops de velocidade (240 trilhes de operaes por
segundo)
Esse supercomputador o 72o computador mais rpido do
mundo na ltima lista do Top 500 (jun/2012)
Voc pode alug-lo por menos de US$ 1.000/h
90 / 108
Top 500
A lista Top 500 elenca os 500 supercomputadores mais rpidos
do mundo
1.064 instncias do EC2 foram usadas para criar um
supercomputador com 17.024 cores
240 teraflops de velocidade (240 trilhes de operaes por
segundo)
Esse supercomputador o 72o computador mais rpido do
mundo na ltima lista do Top 500 (jun/2012)
Voc pode alug-lo por menos de US$ 1.000/h
90 / 108
Top 500
A lista Top 500 elenca os 500 supercomputadores mais rpidos
do mundo
1.064 instncias do EC2 foram usadas para criar um
supercomputador com 17.024 cores
240 teraflops de velocidade (240 trilhes de operaes por
segundo)
Esse supercomputador o 72o computador mais rpido do
mundo na ltima lista do Top 500 (jun/2012)
Voc pode alug-lo por menos de US$ 1.000/h
90 / 108
Top 500
A lista Top 500 elenca os 500 supercomputadores mais rpidos
do mundo
1.064 instncias do EC2 foram usadas para criar um
supercomputador com 17.024 cores
240 teraflops de velocidade (240 trilhes de operaes por
segundo)
Esse supercomputador o 72o computador mais rpido do
mundo na ltima lista do Top 500 (jun/2012)
Voc pode alug-lo por menos de US$ 1.000/h
90 / 108
Top 500
A lista Top 500 elenca os 500 supercomputadores mais rpidos
do mundo
1.064 instncias do EC2 foram usadas para criar um
supercomputador com 17.024 cores
240 teraflops de velocidade (240 trilhes de operaes por
segundo)
Esse supercomputador o 72o computador mais rpido do
mundo na ltima lista do Top 500 (jun/2012)
Voc pode alug-lo por menos de US$ 1.000/h
90 / 108
91 / 108
Auto Scaling
92 / 108
93 / 108
Amazon DynamoDB
94 / 108
Amazon SimpleDB
95 / 108
96 / 108
97 / 108
Amazon ElastiCache
98 / 108
Amazon CloudFront
99 / 108
100 / 108
Amazon CloudSearch
101 / 108
102 / 108
103 / 108
104 / 108
105 / 108
Amazon CloudWatch
106 / 108
107 / 108
Referncias
Above the Clouds: A Berkeley View of Cloud Computing
http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/
EECS-2009-28.html
Cursos dos professores:
Majd F. Sakr (Carnegie Mellon Qatar)
http://www.qatar.cmu.edu/~msakr/15319-s12/
Jimmy Lin (University of Maryland) http:
//www.umiacs.umd.edu/~jimmylin/cloud-2010-Spring/
108 / 108