Вы находитесь на странице: 1из 162

Introduo a Computao em Nuvem

Introduo a Computao em Nuvem


Conceitos tericos e prticos, evoluo e novas possibilidades

Daniel Cordeiro Departamento de Cincia da Computao Instituto de Matemtica e Estatstica Universidade de So Paulo

CESUPA Belm/PA outubro de 2012

Introduo a Computao em Nuvem

Ol! :)

Um pouco sobre mim Ps-doutorando no IME/USP Docteur en Mathmatiques et en Informatique Universit de Grenoble, Frana, 2012 Mestre em Computao Universidade de So Paulo, 2006 Para mais informaes: http://www.ime.usp.br/~danielc/

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

2 / 108

Introduo a Computao em Nuvem

Todos j devem ter ouvido algo sobre Cloud Computing


Ou ao menos algumas dessas ideias: Computao em nuvem nalmente tornou realidade o sonho da computao utilitria Desenvolvedores no precisam mais se preocupar em conseguir grandes somas de dinheiro antes de colocar uma nova aplicao web no ar Adeus aos problemas de provisionamento de servidores (Elasticidade dos recursos) Software como um servio Plataforma como um servio Infraestrutura como um servio

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

3 / 108

Introduo a Computao em Nuvem

Todos j devem ter ouvido algo sobre Cloud Computing


Ou ao menos algumas dessas ideias: Computao em nuvem nalmente tornou realidade o sonho da computao utilitria Desenvolvedores no precisam mais se preocupar em conseguir grandes somas de dinheiro antes de colocar uma nova aplicao web no ar Adeus aos problemas de provisionamento de servidores (Elasticidade dos recursos) Software como um servio Plataforma como um servio Infraestrutura como um servio

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

3 / 108

Introduo a Computao em Nuvem

Todos j devem ter ouvido algo sobre Cloud Computing


Ou ao menos algumas dessas ideias: Computao em nuvem nalmente tornou realidade o sonho da computao utilitria Desenvolvedores no precisam mais se preocupar em conseguir grandes somas de dinheiro antes de colocar uma nova aplicao web no ar Adeus aos problemas de provisionamento de servidores (Elasticidade dos recursos) Software como um servio Plataforma como um servio Infraestrutura como um servio

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

3 / 108

Introduo a Computao em Nuvem

Todos j devem ter ouvido algo sobre Cloud Computing


Ou ao menos algumas dessas ideias: Computao em nuvem nalmente tornou realidade o sonho da computao utilitria Desenvolvedores no precisam mais se preocupar em conseguir grandes somas de dinheiro antes de colocar uma nova aplicao web no ar Adeus aos problemas de provisionamento de servidores (Elasticidade dos recursos) Software como um servio Plataforma como um servio Infraestrutura como um servio

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

3 / 108

Introduo a Computao em Nuvem

Todos j devem ter ouvido algo sobre Cloud Computing


Ou ao menos algumas dessas ideias: Computao em nuvem nalmente tornou realidade o sonho da computao utilitria Desenvolvedores no precisam mais se preocupar em conseguir grandes somas de dinheiro antes de colocar uma nova aplicao web no ar Adeus aos problemas de provisionamento de servidores (Elasticidade dos recursos) Software como um servio Plataforma como um servio Infraestrutura como um servio

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

3 / 108

Introduo a Computao em Nuvem

Todos j devem ter ouvido algo sobre Cloud Computing


Ou ao menos algumas dessas ideias: Computao em nuvem nalmente tornou realidade o sonho da computao utilitria Desenvolvedores no precisam mais se preocupar em conseguir grandes somas de dinheiro antes de colocar uma nova aplicao web no ar Adeus aos problemas de provisionamento de servidores (Elasticidade dos recursos) Software como um servio Plataforma como um servio Infraestrutura como um servio

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

3 / 108

Introduo a Computao em Nuvem

Todo mundo fala sobre Computao em Nuvem, mas o que isso?

The interesting thing about Cloud Computing is that weve redened Cloud Computing to include everything that we already do (...) I dont understand what we would do dierently in the light of Cloud Computing other than change the wording of some of our ads.
Larry Ellison (CEO da Oracle), The Wall Street Journal, 26 de setembro de 2008

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

4 / 108

Introduo a Computao em Nuvem

Todo mundo fala sobre Computao em Nuvem, mas o que isso?

A lot of people are jumping on the [cloud] bandwagon, but I have not heard two people say the same thing about it. There are multiple denitions out there of the cloud.
Andy Isherwood (vice-presidente de vendas da HP na Europa), ZDnet News, 11 de dezembro de 2008

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

4 / 108

Introduo a Computao em Nuvem

Todo mundo fala sobre Computao em Nuvem, mas o que isso?

Its stupidity. Its worse than stupidity: its a marketing hype campaign. Somebody is saying this is inevitable and whenever you hear somebody saying that, its very likely to be a set of businesses campaigning to make it true.
Richard Stallman (Free Software Foundation), The Guardian, 29 de setembro de 2008

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

4 / 108

Introduo a Computao em Nuvem

Histrico e motivaes

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

5 / 108

Introduo a Computao em Nuvem

Quatro problemas que (ainda) requerem constante inovao tecnolgica

Problemas em escala da web Grandes data centers Computao paralela e distribuda Aplicaes web interativas

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

6 / 108

Introduo a Computao em Nuvem

Problemas em escala da web

Caractersticas
Denitivamente 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 cientcos (fsica, astronomia, etc.) Redes de sensores Aplicaes Web 2.0 etc.

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

7 / 108

Introduo a Computao em Nuvem

De qual volume de dados estamos falando?


Muitos, mas muitos dados O Google processa cerca de 20 petabytes de dados por dia (2008) O Wayback Machine tem cerca de 3 petabytes + 100 terabytes/dia (mar/2009) O Facebook tem cerca de 2,5 petabytes de dados de usurios + 15 terabytes/dia (abr/2009) O site eBay tem cerca de 6,5 petabytes de dados dos usurios + 50 terabytes/dia (mai/2009) O Grande Colisor de Hdrons do CERN ir gerar cerca de 15 petabytes/ano

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

8 / 108

Introduo a Computao em Nuvem

De qual volume de dados estamos falando?


Muitos, mas muitos dados O Google processa cerca de 20 petabytes de dados por dia (2008) O Wayback Machine tem cerca de 3 petabytes + 100 terabytes/dia (mar/2009) O Facebook tem cerca de 2,5 petabytes de dados de usurios + 15 terabytes/dia (abr/2009) O site eBay tem cerca de 6,5 petabytes de dados dos usurios + 50 terabytes/dia (mai/2009) O Grande Colisor de Hdrons do CERN ir gerar cerca de 15 petabytes/ano

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

8 / 108

Introduo a Computao em Nuvem

De qual volume de dados estamos falando?


Muitos, mas muitos dados O Google processa cerca de 20 petabytes de dados por dia (2008) O Wayback Machine tem cerca de 3 petabytes + 100 terabytes/dia (mar/2009) O Facebook tem cerca de 2,5 petabytes de dados de usurios + 15 terabytes/dia (abr/2009) O site eBay tem cerca de 6,5 petabytes de dados dos usurios + 50 terabytes/dia (mai/2009) O Grande Colisor de Hdrons do CERN ir gerar cerca de 15 petabytes/ano

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

8 / 108

Introduo a Computao em Nuvem

De qual volume de dados estamos falando?


Muitos, mas muitos dados O Google processa cerca de 20 petabytes de dados por dia (2008) O Wayback Machine tem cerca de 3 petabytes + 100 terabytes/dia (mar/2009) O Facebook tem cerca de 2,5 petabytes de dados de usurios + 15 terabytes/dia (abr/2009) O site eBay tem cerca de 6,5 petabytes de dados dos usurios + 50 terabytes/dia (mai/2009) O Grande Colisor de Hdrons do CERN ir gerar cerca de 15 petabytes/ano

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

8 / 108

Introduo a Computao em Nuvem

De qual volume de dados estamos falando?


Muitos, mas muitos dados O Google processa cerca de 20 petabytes de dados por dia (2008) O Wayback Machine tem cerca de 3 petabytes + 100 terabytes/dia (mar/2009) O Facebook tem cerca de 2,5 petabytes de dados de usurios + 15 terabytes/dia (abr/2009) O site eBay tem cerca de 6,5 petabytes de dados dos usurios + 50 terabytes/dia (mai/2009) O Grande Colisor de Hdrons do CERN ir gerar cerca de 15 petabytes/ano

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

8 / 108

Introduo a Computao em Nuvem

De qual volume de dados estamos falando?

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

8 / 108

Introduo a Computao em Nuvem

De qual volume de dados estamos falando?

1 PB = 1.000.000.000.000.000 B = 1.0005 B = 1015 B = 1 milho de gigabytes = 1 mil terabytes

Ou seja, os 15 petabytes que o CERN ir gerar por ano equivalem a 15 milhes de gigabytes. Seriam necessrios 1,7 milho de DVDs dual-layer para armazenar tanta informao!
Daniel Cordeiro http://www.ime.usp.br/~danielc/ CESUPA Belm/PA outubro de 2012 8 / 108

Introduo a Computao em Nuvem

O que se faz com tantos dados?


Encontram informaes sobre novos fatos
Casamento de padres com informaes da web ex: quem matou John Lennon?

Procuram por novas relaes entre os dados


Alguns padres levam a novas relaes:
os fatos: Nascimento-de(Mozart, 1756) e Nascimento-de(Einstein, 1879) levam aos dados: Wolfgang Amadeus Mozart (17561791) e Einstein nasceu em 1879 que levam a diferentes padres: PESSOA (DATA e PESSOA nasceu em DATA que, por sua vez, permitem encontrar novos fatos

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

9 / 108

Introduo a Computao em Nuvem

O que se faz com tantos dados?


Encontram informaes sobre novos fatos
Casamento de padres com informaes da web ex: quem matou John Lennon?

Procuram por novas relaes entre os dados


Alguns padres levam a novas relaes:
os fatos: Nascimento-de(Mozart, 1756) e Nascimento-de(Einstein, 1879) levam aos dados: Wolfgang Amadeus Mozart (17561791) e Einstein nasceu em 1879 que levam a diferentes padres: PESSOA (DATA e PESSOA nasceu em DATA que, por sua vez, permitem encontrar novos fatos

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

9 / 108

Introduo a Computao em Nuvem

O que se faz com tantos dados?


Encontram informaes sobre novos fatos
Casamento de padres com informaes da web ex: quem matou John Lennon?

Procuram por novas relaes entre os dados


Alguns padres levam a novas relaes:
os fatos: Nascimento-de(Mozart, 1756) e Nascimento-de(Einstein, 1879) levam aos dados: Wolfgang Amadeus Mozart (17561791) e Einstein nasceu em 1879 que levam a diferentes padres: PESSOA (DATA e PESSOA nasceu em DATA que, por sua vez, permitem encontrar novos fatos

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

9 / 108

Introduo a Computao em Nuvem

O que se faz com tantos dados?


Encontram informaes sobre novos fatos
Casamento de padres com informaes da web ex: quem matou John Lennon?

Procuram por novas relaes entre os dados


Alguns padres levam a novas relaes:
os fatos: Nascimento-de(Mozart, 1756) e Nascimento-de(Einstein, 1879) levam aos dados: Wolfgang Amadeus Mozart (17561791) e Einstein nasceu em 1879 que levam a diferentes padres: PESSOA (DATA e PESSOA nasceu em DATA que, por sua vez, permitem encontrar novos fatos

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

9 / 108

Introduo a Computao em Nuvem

O que se faz com tantos dados?


Encontram informaes sobre novos fatos
Casamento de padres com informaes da web ex: quem matou John Lennon?

Procuram por novas relaes entre os dados


Alguns padres levam a novas relaes:
os fatos: Nascimento-de(Mozart, 1756) e Nascimento-de(Einstein, 1879) levam aos dados: Wolfgang Amadeus Mozart (17561791) e Einstein nasceu em 1879 que levam a diferentes padres: PESSOA (DATA e PESSOA nasceu em DATA que, por sua vez, permitem encontrar novos fatos

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

9 / 108

Introduo a Computao em Nuvem

O que se faz com tantos dados?


Encontram informaes sobre novos fatos
Casamento de padres com informaes da web ex: quem matou John Lennon?

Procuram por novas relaes entre os dados


Alguns padres levam a novas relaes:
os fatos: Nascimento-de(Mozart, 1756) e Nascimento-de(Einstein, 1879) levam aos dados: Wolfgang Amadeus Mozart (17561791) e Einstein nasceu em 1879 que levam a diferentes padres: PESSOA (DATA e PESSOA nasceu em DATA que, por sua vez, permitem encontrar novos fatos

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

9 / 108

Introduo a Computao em Nuvem

Como resolver problemas to grandes?

Estratgia simples (mas de difcil execuo): Dividir para conquistar Usar mais recursos computacionais a medida que mais dados aparecerem

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

10 / 108

Introduo a Computao em Nuvem

Como isso era feito at ento?

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

11 / 108

Introduo a Computao em Nuvem

Evoluo da computao
anos 50: computadores eram grandes calculadoras programadas com cartes perfurados; incio da computao paralela nal 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

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

12 / 108

Introduo a Computao em Nuvem

Evoluo da computao
anos 50: computadores eram grandes calculadoras programadas com cartes perfurados; incio da computao paralela nal 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

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

12 / 108

Introduo a Computao em Nuvem

Evoluo da computao
anos 50: computadores eram grandes calculadoras programadas com cartes perfurados; incio da computao paralela nal 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

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

12 / 108

Introduo a Computao em Nuvem

Evoluo da computao
anos 50: computadores eram grandes calculadoras programadas com cartes perfurados; incio da computao paralela nal 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

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

12 / 108

Introduo a Computao em Nuvem

Evoluo da computao
anos 50: computadores eram grandes calculadoras programadas com cartes perfurados; incio da computao paralela nal 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

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

12 / 108

Introduo a Computao em Nuvem

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): decriptograa por fora-bruta SETI@Home (1999): anlise de sinais de rdio vindos do espao em busca de evidncia de vida extra-terreste

Computao em Grade (Grid Computing )

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

13 / 108

Introduo a Computao em Nuvem

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): decriptograa por fora-bruta SETI@Home (1999): anlise de sinais de rdio vindos do espao em busca de evidncia de vida extra-terreste

Computao em Grade (Grid Computing )

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

13 / 108

Introduo a Computao em Nuvem

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): decriptograa por fora-bruta SETI@Home (1999): anlise de sinais de rdio vindos do espao em busca de evidncia de vida extra-terreste

Computao em Grade (Grid Computing )

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

13 / 108

Introduo a Computao em Nuvem

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): decriptograa por fora-bruta SETI@Home (1999): anlise de sinais de rdio vindos do espao em busca de evidncia de vida extra-terreste

Computao em Grade (Grid Computing )

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

13 / 108

Introduo a Computao em Nuvem

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): decriptograa por fora-bruta SETI@Home (1999): anlise de sinais de rdio vindos do espao em busca de evidncia de vida extra-terreste

Computao em Grade (Grid Computing )

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

13 / 108

Introduo a Computao em Nuvem

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): decriptograa por fora-bruta SETI@Home (1999): anlise de sinais de rdio vindos do espao em busca de evidncia de vida extra-terreste

Computao em Grade (Grid Computing )

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

13 / 108

Introduo a Computao em Nuvem

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): decriptograa por fora-bruta SETI@Home (1999): anlise de sinais de rdio vindos do espao em busca de evidncia de vida extra-terreste

Computao em Grade (Grid Computing )

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

13 / 108

Introduo a Computao em Nuvem

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): decriptograa por fora-bruta SETI@Home (1999): anlise de sinais de rdio vindos do espao em busca de evidncia de vida extra-terreste

Computao em Grade (Grid Computing )

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

13 / 108

Introduo a Computao em Nuvem

E como feito agora?

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

14 / 108

Introduo a Computao em Nuvem

Grandes data centers


Problemas em escala da web? Simples: basta adicionar mais mquinas Tendncia: centralizao dos recursos computacionais em grandes data centers
O que os ordes noruegueses, a Islndia, o estado americano do Oregon e minas abandonadas tem em comum?

Problemas a serem resolvidos:


Redundncia Ecincia Utilizao Gerenciamento

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

15 / 108

Introduo a Computao em Nuvem

Como programar aplicaes escalveis?


Diviso e conquista
"Trabalho" Particionar t1 t2 t3

worker

worker

worker

r1

r2

r3 Combinar

resultado

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

16 / 108

Introduo a Computao em Nuvem

Desaos de paralelizao

Como repartir as unidades de trabalho entre os workers ? O que fazer quando temos mais trabalho do que workers ? E se os workers precisarem compartilhar resultados intermedirios entre si? Como agregar os resultados parciais? O que fazer se um worker parar de funcionar? Como saber se todos os workers terminaram seus trabalhos?

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

17 / 108

Introduo a Computao em Nuvem

Problema recorrente

Problemas de paralelizao surgem por causa de:


comunicao entre os workers acesso a recursos compartilhados (por exemplo, dados)

Portanto, precisamos de algum mecanismo de sincronizao

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

18 / 108

Introduo a Computao em Nuvem

Gerenciar mltiplos workers


difcil, pois:
No sabemos em que ordem cada worker ser executado No sabemos quando um worker ir interromper outro worker No sabemos em qual ordem os workers iro acessar os dados compartilhados

Por tanto, ns precisamos de:


Semforos (lock, unlock) Variveis condicionais (wait, notify, broadcast) Barreiras de sincronizao

Ainda assim, restam problemas como:


Deadlock, starvation, race coditions, ...

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

19 / 108

Introduo a Computao em Nuvem

Ferramentas atuais

Modelos de programao:
Memria compartilhada (pthreads) Passagem de mensagens (MPI)

Padres arquiteturais:
Mestre-escravo Produtor-consumidor Filas de trabalho compartilhadas

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

20 / 108

Introduo a Computao em Nuvem

Moral da histria

Tudo se resume ao nvel mais adequado de abstrao Esconda os detalhes do sistema dos desenvolvedores
Evita os problemas com race conditions, conteno em locks, etc.

Separe o qu do como:
O desenvolvedor especica apenas o que deve ser computado O arcabouo deve se encarregar de como realizar a execuo

O data center o computador!

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

21 / 108

Introduo a Computao em Nuvem

Ideias principais

Escalabilidade horizontal, no vertical


Existem limites para mquinas SMP e arquiteturas de memria compartilhada

Mova o processamento para perto dos dados


a banda de rede limitada

Processe os dados sequencialmente, evite padres de acesso aleatrios


seeks so custosos, mas a vazo (throughput ) do disco razovel

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

22 / 108

Introduo a Computao em Nuvem

Ruptura na indstria de TI

Computao em Nuvem uma ideia antiga que nalmente pode ser colocada em prtica graas a combinao de vrias tecnologias recentes: Tecnologias de aplicaes web (AJAX, REST, SOA, etc.) Virtualizao Computao Utilitria

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

23 / 108

Introduo a Computao em Nuvem

Tecnologias web

AJAX Asynchronous JavaScript and XML, permitiu a criao de clientes interativos para aplicaes web. Front-end de computao em nuvem. REST REpresentational State Transfer, deniu um padro arquitetural comum para aplicaes web SOA Service-oriented architecture, deniu uma srie de princpios e metodologias que tornaram os servios interoperveis

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

24 / 108

Introduo a Computao em Nuvem

Virtualizao
Denio 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

Pilha de Execuo Tradicional

Pilha de Execuo Virtualizada

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

25 / 108

Introduo a Computao em Nuvem

Tipos principais de virtualizao de hardware:


Virtualizao completa: simulao quase completa do hardware, permite a execuo de um sistema operacional hspede (guest ) sem que esse precise ser modicado. Exemplos: Parallels Workstation, VirtualBox, Oracle VM, Virtual PC, Virtual Server, VMware Workstation, QEMU, etc. Virtualizao assistida pelo hardware: o hardware prov funcionalidades que facilitam a execuo de um monitor de mquinas virtuais e permite a execuo isolada de SOs hspedes. Exemplos: Linux KVM, VMware Workstation, Microsoft Virtual PC, Xen, Oracle VM Server for SPARC, VirtualBox and Parallels Workstation.

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

26 / 108

Introduo a Computao em Nuvem

Tipos principais de virtualizao de hardware:

Virtualizao parcial: mquinas virtuais simulam mltiplas instncias do hardware atravs de espaos de endereamento de memria simulados. Para-virtualizao: a mquina virtual no necessariamente simula o hardware, apenas prov uma API que pode ser usado por um SO hspede (modicado) para noticar mudanas que podem alterar o estado do hardware. Exemplos: Xen, IBM LPARs, Suns Logical Domains, z/VM, and TRANGO.

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

27 / 108

Introduo a Computao em Nuvem

Usos de virtualizao

Consolidao de servidores (reduz CapEx/OpEx) Alta disponibilidade / recuperao de desastres Otimizao de infraestrutura (permite planejamento preditivo de recursos) Mobilidade (migraes) e segurana (isolamento) Infraestrutura inteligente (recursos sob demanda) Aplicaes prontas para executar (deploy facilitado) etc.

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

28 / 108

Introduo a Computao em Nuvem

If computers of the kind I have advocated become the computers of the future, then computing may someday be organized as a public utility just as the telephone system is a public utility (...) The computer utility could become the basis of a new and important industry.
John McCarthy, discurso no MIT Centennial em 1961 Daniel Cordeiro http://www.ime.usp.br/~danielc/ CESUPA Belm/PA outubro de 2012 29 / 108

Introduo a Computao em Nuvem

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 innita Elasticidade: aumentar ou diminuir o poder de processamento

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

30 / 108

Introduo a Computao em Nuvem

O que Computao em Nuvem?

http://geek-and-poke.com/2008/05/simply-explaine.html Daniel Cordeiro http://www.ime.usp.br/~danielc/ CESUPA Belm/PA outubro de 2012 31 / 108

Introduo a Computao em Nuvem

Origem do termo Computao em Nuvem

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 (...)

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

32 / 108

Introduo a Computao em Nuvem

Mas o que Computao em Nuvem?

O termo refere-se ao mesmo a dois conceitos distintos: aplicaes disponibilizadas como servios via Internet hardware e sistemas de software em data centers que proveem esses servios

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

33 / 108

Introduo a Computao em Nuvem

Classicao em servios
A forma como as aplicaes e hardware so disponibilizadas para os usurios utilizada para classicar as plataformas de Computao em Nuvem como: Software as a Service (SaaS)
as aplicaes que rodam no navegador so oferecidas como um servio

Platform as a Service (PaaS)


a plataforma de desenvolvimento e execuo para a criao de aplicaes oferecida como um servio

Infrastructure as a Service (IaaS)


A infraestrutura de hardware oferecida como um servio

XaaS, a lista no para de crescer

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

34 / 108

Introduo a Computao em Nuvem

Software como um servio (SaaS)

Surgiu por volta de 1999 (Salesforce.com) Aplicaes so licenciadas como um servio sob demanda Modelo de distribuio do servio:
o aplicativo roda diretamente nos servidores do fornecedor o aplicativo instalado em um dispositivo do cliente e desabilitado quando o contrato termina

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

35 / 108

Introduo a Computao em Nuvem

Software como um servio (SaaS)

Congurao e personalizao: a mesma aplicao geralmente funcionalidades e look-and-feel diferentes para cada usurio Multi-tenant ecient : uso de um mesmo servidor para vrios locatrios (tenants ), sem diferenas aparentes para os usurios Escalabilidade: basta fazer o balanceamento de carga entre as instncias dos usurios

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

36 / 108

Introduo a Computao em Nuvem

Software como um servio (SaaS)


Atualizaes frequentes: aplicaes SaaS so atualizadas com mais frequncia:
as aplicaes so hospedadas em um nico local, o que evita que os clientes tenham que instalar as novas verses a aplicao roda sempre em um ambiente conhecido, o que facilita a fase de testes o fornecedor tem acesso a todos os dados dos clientes, o que acelera os testes de regresso o fornecedor tem acesso a dados de usabilidade das aplicaes (via web analytics ), o que permite detectar as funcionalidades que precisam de melhorias

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

37 / 108

Introduo a Computao em Nuvem

Exemplos de aplicaes oferecidas como SaaS:

CRM (Customer Relationship Management) e-mail desktops virtuais jogos etc.

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

38 / 108

Introduo a Computao em Nuvem

Exemplos de provedores de SaaS:

Google Apps (GMail, Drive, Calendar, Talk, etc.) iCloud salesforce.com Basecamp Microsoft Oce 365 etc.

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

39 / 108

Introduo a Computao em Nuvem

Plataforma como um servio (PaaS)

Plataforma de computao integrada (para desenvolver / testar / implantar novas aplicaes) a um conjunto de solues, disponibilizada como um servio Permite que uma aplicao seja implantada e distribuda sem que seja preciso se preocupar com as camadas de hardware e software necessrias Tipicamente inclui servios de armazenamento de dados, middleware, desenvolvimento, monitoramento, segurana, etc.

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

40 / 108

Introduo a Computao em Nuvem

Plataforma como um servio (PaaS)

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

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

41 / 108

Introduo a Computao em Nuvem

Plataforma como um servio (PaaS)

Exemplos servios fornecidos como plataformas: Arcabouos de execuo Gerenciadores de bancos de dados Servidores Web Ferramentas de desenvolvimento etc.

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

42 / 108

Introduo a Computao em Nuvem

Plataforma como um servio (PaaS)

Provedores de PaaS: Google AppEngine Heroku EngineYard Force.com Windows Azure Cloud Services Oracle Platform as a Service

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

43 / 108

Introduo a Computao em Nuvem

Infraestrutura como um servio (IaaS)

Oferecimento de infraestrutura computacional (tipicamente atravs de um ambiente virtualizado) como um servio Recursos disponibilizados:
Servidores Software Espao no data center Equipamentos de rede

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

44 / 108

Introduo a Computao em Nuvem

Infraestrutura como um servio (IaaS)

Virtualizao a tecnologia fundamental que permitiu a criao de provedores de IaaS Graas a virtualizao possvel:
garantir altas taxas de utilizao dos servidores do data center permitir a execuo de qualquer sistema operacional hspede a criao de novas instncias de servidores pr-congurados (a partir de uma imagem de mquina virtual). Uma nova instncia pode ser adicionada em poucos minutos

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

45 / 108

Introduo a Computao em Nuvem

Exemplos:

Amazon EC2 Windows Azure Rackspace Cloud Google Compute Engine

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

46 / 108

Introduo a Computao em Nuvem

Por que usar Computao em Nuvem?


Aplicaes em grande escala para processamento de muitos dados Flexibilidade Escalabilidade Adequao as necessidades atuais:
hardware software

Consequncias:
custos reduzidos menos tempo de manuteno alta disponibilidade menos emisses de carbono

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

47 / 108

Introduo a Computao em Nuvem

Por que usar Computao em Nuvem?

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

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

48 / 108

Introduo a Computao em Nuvem

Por que usar Computao em Nuvem?


Escalabilidade Instantnea Controle via software:
Adiciona / remove / reconstri recursos instantaneamente (elasticidade)

Eliminao do comprometimento inicial com o nmero de recursos necessrios ($$$): permite que empresas comecem com um nmero modesto de recursos e aumente conforme necessrio Iluso de um nmero innito de recursos computacionais

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

49 / 108

Introduo a Computao em Nuvem

Causo

Quando a Animoto1 tornou seu servio disponvel no Facebook, houve uma exploso na demanda que exigiu que o nmero de servidores fosse aumentado de 50 para 3.500 em trs dias. Aps esse pico de utilizao, o trfego caiu para um nvel muito menor do que o pico. Se fosse uma companhia tradicional, o que teria acontecido? Com Computao em Nuvem: pague mais durante os picos, devolva os recursos desnecessrios depois

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/ CESUPA Belm/PA outubro de 2012 50 / 108

Introduo a Computao em Nuvem

Evoluo do nmero de instncias EC2 usadas pela Animoto

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

51 / 108

Introduo a Computao em Nuvem

Por que usar Computao em Nuvem?

Personalizao Plataforma de software Armazenamento Largura de banda de rede Velocidade ...

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

52 / 108

Introduo a Computao em Nuvem

Por que usar Computao em Nuvem?

Custo Pague a medida que usar Pequenas/mdias empresas podem competir com a infraestrutura de grandes corporaes
time to service / market sem custo inicial

Permite reduzir o tamanho do departamento de TI do cliente

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

53 / 108

Introduo a Computao em Nuvem

Por que usar Computao em Nuvem?

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.

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

54 / 108

Introduo a Computao em Nuvem

Por que usar Computao em Nuvem?

Utilizao Consolidao de uma grande quantidade de recursos:


ciclos de CPU armazenamento largura de banda de rede

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

55 / 108

Introduo a Computao em Nuvem

Por que usar Computao em Nuvem?


Disponibilidade Acesso ao software, plataforma, infraestrutura de qualquer lugar, a qualquer hora Basta acesso a Internet Conabilidade A tolerncia a falha do sistema gerenciada pelo provedor de Computao em Nuvem e os usurios no precisam se preocupar com isso

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

56 / 108

Introduo a Computao em Nuvem

Por que usar Computao em Nuvem?

Emisso de CO2 Consolidao dos servidores Maiores taxas de utilizao Consumo de energia reduzido

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

57 / 108

Introduo a Computao em Nuvem

Desaos e oportunidades de Computao em Nuvem


Disponibilidade do servio: use mltiplos provedores; use a elasticidade para se proteger de ataques DDOS Data lock-in : APIs padronizadas Condencialidade dos dados e auditabilidade: empregar criptograa, VLANs, rewalls, armazenamento de dados em diferentes localidades Gargalos na transferncia dos dados: envio de discos pelos Correios; backup/arquivamento Imprevisibilidade do desempenho: melhorias na tecnologia de mquinas virtuais; uso de memria ash; melhorias no escalonamento das mquinas virtuais

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

58 / 108

Introduo a Computao em Nuvem

Desaos e oportunidades de Computao em Nuvem


Disponibilidade do servio: use mltiplos provedores; use a elasticidade para se proteger de ataques DDOS Data lock-in : APIs padronizadas Condencialidade dos dados e auditabilidade: empregar criptograa, VLANs, rewalls, armazenamento de dados em diferentes localidades Gargalos na transferncia dos dados: envio de discos pelos Correios; backup/arquivamento Imprevisibilidade do desempenho: melhorias na tecnologia de mquinas virtuais; uso de memria ash; melhorias no escalonamento das mquinas virtuais

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

58 / 108

Introduo a Computao em Nuvem

Desaos e oportunidades de Computao em Nuvem


Disponibilidade do servio: use mltiplos provedores; use a elasticidade para se proteger de ataques DDOS Data lock-in : APIs padronizadas Condencialidade dos dados e auditabilidade: empregar criptograa, VLANs, rewalls, armazenamento de dados em diferentes localidades Gargalos na transferncia dos dados: envio de discos pelos Correios; backup/arquivamento Imprevisibilidade do desempenho: melhorias na tecnologia de mquinas virtuais; uso de memria ash; melhorias no escalonamento das mquinas virtuais

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

58 / 108

Introduo a Computao em Nuvem

Desaos e oportunidades de Computao em Nuvem


Disponibilidade do servio: use mltiplos provedores; use a elasticidade para se proteger de ataques DDOS Data lock-in : APIs padronizadas Condencialidade dos dados e auditabilidade: empregar criptograa, VLANs, rewalls, armazenamento de dados em diferentes localidades Gargalos na transferncia dos dados: envio de discos pelos Correios; backup/arquivamento Imprevisibilidade do desempenho: melhorias na tecnologia de mquinas virtuais; uso de memria ash; melhorias no escalonamento das mquinas virtuais

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

58 / 108

Introduo a Computao em Nuvem

Desaos e oportunidades de Computao em Nuvem


Disponibilidade do servio: use mltiplos provedores; use a elasticidade para se proteger de ataques DDOS Data lock-in : APIs padronizadas Condencialidade dos dados e auditabilidade: empregar criptograa, VLANs, rewalls, armazenamento de dados em diferentes localidades Gargalos na transferncia dos dados: envio de discos pelos Correios; backup/arquivamento Imprevisibilidade do desempenho: melhorias na tecnologia de mquinas virtuais; uso de memria ash; melhorias no escalonamento das mquinas virtuais

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

58 / 108

Introduo a Computao em Nuvem

Desaos e oportunidades de Computao em Nuvem

Armazenamento escalvel: inventar uma tecnologia de armazenamento escalvel Bugs em sistemas distribudos grandes: inventar um depurador que utiliza as mquinas virtuais distribudas Escalabilidade mais rpida: inventar um escalonador automtico baseado em aprendizado computacional Licenciamento de software: licenas que cobram pelo uso

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

59 / 108

Introduo a Computao em Nuvem

Desaos e oportunidades de Computao em Nuvem

Armazenamento escalvel: inventar uma tecnologia de armazenamento escalvel Bugs em sistemas distribudos grandes: inventar um depurador que utiliza as mquinas virtuais distribudas Escalabilidade mais rpida: inventar um escalonador automtico baseado em aprendizado computacional Licenciamento de software: licenas que cobram pelo uso

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

59 / 108

Introduo a Computao em Nuvem

Desaos e oportunidades de Computao em Nuvem

Armazenamento escalvel: inventar uma tecnologia de armazenamento escalvel Bugs em sistemas distribudos grandes: inventar um depurador que utiliza as mquinas virtuais distribudas Escalabilidade mais rpida: inventar um escalonador automtico baseado em aprendizado computacional Licenciamento de software: licenas que cobram pelo uso

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

59 / 108

Introduo a Computao em Nuvem

Desaos e oportunidades de Computao em Nuvem

Armazenamento escalvel: inventar uma tecnologia de armazenamento escalvel Bugs em sistemas distribudos grandes: inventar um depurador que utiliza as mquinas virtuais distribudas Escalabilidade mais rpida: inventar um escalonador automtico baseado em aprendizado computacional Licenciamento de software: licenas que cobram pelo uso

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

59 / 108

Introduo a Computao em Nuvem

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)

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

60 / 108

Introduo a Computao em Nuvem

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)

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

60 / 108

Introduo a Computao em Nuvem

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)

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

60 / 108

Introduo a Computao em Nuvem

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)

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

60 / 108

Introduo a Computao em Nuvem

Com tantas vantagens

Por que agora o momento da Computao em Nuvem?

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

61 / 108

Introduo a Computao em Nuvem

Vantagens para os provedores


Dinheiro
grandes compras (> 10.000 unidades) permitem negociar preos de equipamento 57 vezes mais baratos que em uma compra mdia (1001.000) multiplexao de recursos

Alavancar investimentos em outros negcios


companhias podem j possuir nuvens privadas para outros ns

Defender uma marca


migrar clientes atuais para uma plataforma de Computao em Nuvem

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

62 / 108

Introduo a Computao em Nuvem

Vantagens para os provedores

Posicionamento estratgico (atacar o inimigo)


Google vs. Microsoft

Melhorar a relao com os clientes


Ex: IBM preservar relaes ao oferecer um servio de Computao em Nuvem de marca

Se tornar uma nova plataforma: mais clientes = mais $

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

63 / 108

Introduo a Computao em Nuvem

E para os usurios, por que agora?


Novo modelo de negcios: pague a medida que usar
em 20002001 a Intel lanou o Intel Computing Service, que exigia um contrato de longa durao. Falhou. clientes no gostam de se comprometer

Novas aplicaes
Aplicaes mveis interativas Processamento paralelo em batch: muitos dados Business analytics Aplicaes desktop com computao intensa (ex: Matlab e Mathematica)

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

64 / 108

Introduo a Computao em Nuvem

Provedores de plataformas de Computao em Nuvem

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

65 / 108

Introduo a Computao em Nuvem

Alguns exemplos de plataformas disponveis no mercado


Amazon Web Services (EC2, S3, etc.) http://aws.amazon.com Google Cloud Platform (App Engine, Compute Engine, CloudStorage, etc.) http://cloud.google.com Windows Azure http://www.windowsazure.com/ UOL Cloud http://uol.com.br/cloud Cloud Locaweb http://locaweb.com.br/nasnuvens

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

66 / 108

Introduo a Computao em Nuvem

Amazon Web Services

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

67 / 108

Introduo a Computao em Nuvem

Amazon Web Services (AWS)


Amazon.com? Aquela loja que vende livros? 2002: Amazon comeou a oferecer servios para outros sites atravs de protocols como HTTP, REST e SOAP. Os servios eram cobrados pelo uso 2004: alguns engenheiros da Amazon apresentaram um artigo onde explicavam como usar a infraestrutura da loja Amazon.com. Nasce o Amazon EC2 2007: Amazon divulga que mais de 330.000 desenvolvedores se inscreveram para usar a Amazon Web Services

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

68 / 108

Introduo a Computao em Nuvem

Amazon Web Services (AWS)


Amazon.com? Aquela loja que vende livros? 2002: Amazon comeou a oferecer servios para outros sites atravs de protocols como HTTP, REST e SOAP. Os servios eram cobrados pelo uso 2004: alguns engenheiros da Amazon apresentaram um artigo onde explicavam como usar a infraestrutura da loja Amazon.com. Nasce o Amazon EC2 2007: Amazon divulga que mais de 330.000 desenvolvedores se inscreveram para usar a Amazon Web Services

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

68 / 108

Introduo a Computao em Nuvem

Amazon Web Services (AWS)


Amazon.com? Aquela loja que vende livros? 2002: Amazon comeou a oferecer servios para outros sites atravs de protocols como HTTP, REST e SOAP. Os servios eram cobrados pelo uso 2004: alguns engenheiros da Amazon apresentaram um artigo onde explicavam como usar a infraestrutura da loja Amazon.com. Nasce o Amazon EC2 2007: Amazon divulga que mais de 330.000 desenvolvedores se inscreveram para usar a Amazon Web Services

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

68 / 108

Introduo a Computao em Nuvem

Amazon Web Services (AWS)


Amazon.com? Aquela loja que vende livros? 2002: Amazon comeou a oferecer servios para outros sites atravs de protocols como HTTP, REST e SOAP. Os servios eram cobrados pelo uso 2004: alguns engenheiros da Amazon apresentaram um artigo onde explicavam como usar a infraestrutura da loja Amazon.com. Nasce o Amazon EC2 2007: Amazon divulga que mais de 330.000 desenvolvedores se inscreveram para usar a Amazon Web Services

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

68 / 108

Introduo a Computao em Nuvem

Alguns produtos que usam o AWS

Instagram foursquare Netix Dropbox Heroku Pinterest tumblr etc.

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

69 / 108

Introduo a Computao em Nuvem

Algumas empresas que conam no AWS

Samsung Shell The New York Times Ticketmaster Nasa Unilever Nasdaq etc.

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

70 / 108

Introduo a Computao em Nuvem

Muitos brasileiros j usam


O acesso s plataformas de Computao em Nuvem no so exclusividade das empresas estrangeiras. Portal Terra SulAmrica Grupo Po de Acar Gol Peixe Urbano R7 Caelum etc.

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

71 / 108

Introduo a Computao em Nuvem

Infraestrutura Global do AWS

Em dez/2011 a Amazon disponibilizou o primeiro data center na Amrica Latina, aqui no Brasil (em So Paulo).
Daniel Cordeiro http://www.ime.usp.br/~danielc/ CESUPA Belm/PA outubro de 2012 72 / 108

Introduo a Computao em Nuvem

Regies e zonas de disponibilidade


Regies Data centers espalhados geogracamente em diversas localidades: EUA Leste (Virginia) EUA Oeste (Oregon) EUA Oeste (Califrnia) Europa (Irlanda) sia (Singapura) sia (Tquio) Amrica do Sul (So Paulo)

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

73 / 108

Introduo a Computao em Nuvem

Regies e zonas de disponibilidade


Zonas de disponibilidade Zonas de disponibilidade so reas separadas dentro de uma regio que foram arquitetadas para que falhas em uma zona no afetem os servios de outra zona. A conexo entre duas zonas de uma mesma regio rpida.

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

74 / 108

Introduo a Computao em Nuvem

Que tipos de aplicao essas empresas rodam usando Computao em Nuvem?

Aplicaes de negcio Shell, Nasdaq, Gol, etc. Aplicaes web Grupo Po de Acar, Samsung, etc. BigData e HPC Unilever, Ticketmaster, etc. Recuperao de desastres Hitachi, Amazon.com, etc.

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

75 / 108

Introduo a Computao em Nuvem

O que os analistas dizem?

the 451 group AWS o lder de market share de IaaS (59%) Gartner lder em 2011 do Gartner IaaS Magic Quadrant Forrester lder em 2011 do Forrester Hadoop Wave

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

76 / 108

Introduo a Computao em Nuvem

Viso geral dos servios

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

77 / 108

Introduo a Computao em Nuvem

Amazon Simple Storage Service (S3)

Armazenamento para a web. Sempre online, acesso via HTTP Armazena e distribui qualquer quantidade de dados, a qualquer momento, para qualquer lugar da web Escalvel, convel, rpido e durvel. Planejado para durabilidade de 99,999999999% durante um ano (ou seja, 0,000000001% dos objetos podem ser perdidos durante um ano devido a falhas)

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

78 / 108

Introduo a Computao em Nuvem

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

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

79 / 108

Introduo a Computao em Nuvem

Amazon Elastic Block Service (EBS)

Volumes para uso com instncias do EC2 Voc o cria e anexa a instncia como um disco rgido Persiste independente da instncia Snapshots para backup podem ser armazenados no S3

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

80 / 108

Introduo a Computao em Nuvem

AWS Import/Export

Acelera a transferncia de dados para dentro e para fora do Amazon S3 ou do Amazon EBS Transfere dados diretamente de dispositivos de armazenamento fsicos Usa a rede de alta velocidade interna da Amazon

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

81 / 108

Introduo a Computao em Nuvem

Amazon Elastic Compute Cloud (EC2)

Soluo de IaaS da Amazon Capacidade computacional de tamanho ajustvel Controle completo de seus servidores Reduz o tempo necessrio para obter novos servidores para ordem de minutos Escala a capacidade de acordo com demanda automaticamente (se voc assim quiser) Pague apenas pela capacidade que utilizar

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

82 / 108

Introduo a Computao em Nuvem

Amazon Elastic Compute Cloud (EC2)

Soluo de IaaS da Amazon Capacidade computacional de tamanho ajustvel Controle completo de seus servidores Reduz o tempo necessrio para obter novos servidores para ordem de minutos Escala a capacidade de acordo com demanda automaticamente (se voc assim quiser) Pague apenas pela capacidade que utilizar

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

82 / 108

Introduo a Computao em Nuvem

Amazon Elastic Compute Cloud (EC2)

Soluo de IaaS da Amazon Capacidade computacional de tamanho ajustvel Controle completo de seus servidores Reduz o tempo necessrio para obter novos servidores para ordem de minutos Escala a capacidade de acordo com demanda automaticamente (se voc assim quiser) Pague apenas pela capacidade que utilizar

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

82 / 108

Introduo a Computao em Nuvem

Amazon Elastic Compute Cloud (EC2)

Soluo de IaaS da Amazon Capacidade computacional de tamanho ajustvel Controle completo de seus servidores Reduz o tempo necessrio para obter novos servidores para ordem de minutos Escala a capacidade de acordo com demanda automaticamente (se voc assim quiser) Pague apenas pela capacidade que utilizar

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

82 / 108

Introduo a Computao em Nuvem

Amazon Elastic Compute Cloud (EC2)

Soluo de IaaS da Amazon Capacidade computacional de tamanho ajustvel Controle completo de seus servidores Reduz o tempo necessrio para obter novos servidores para ordem de minutos Escala a capacidade de acordo com demanda automaticamente (se voc assim quiser) Pague apenas pela capacidade que utilizar

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

82 / 108

Introduo a Computao em Nuvem

Amazon Elastic Compute Cloud (EC2)

Soluo de IaaS da Amazon Capacidade computacional de tamanho ajustvel Controle completo de seus servidores Reduz o tempo necessrio para obter novos servidores para ordem de minutos Escala a capacidade de acordo com demanda automaticamente (se voc assim quiser) Pague apenas pela capacidade que utilizar

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

82 / 108

Introduo a Computao em Nuvem

Tipos de instncias disponveis

A Amazon disponibiliza diferentes tipos de computadores Cada tipo prov uma capacidade computacional diferente As instncias so cobradas por hora de execuo Cabe ao desenvolvedor escolher qual instncia oferece o melhor custo-benefcio para a aplicao O poder computacional denido em termos de unidades computacionais EC2: 1 unidade 1,0 1,2 GHz.

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

83 / 108

Introduo a Computao em Nuvem

Tipos de instncias disponveis


Instncias padro Instncia pequena: Memria de 1,7 GB 1 unidade computacional EC2 (1 ncleo virtual com 1 unidade computacional EC2) Armazenamento de instncias de 160 GB Plataforma de 32 ou 64 bits Desempenho de E/S: moderado Otimizada para EBS disponvel: no Nome da API: m1.small

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

84 / 108

Introduo a Computao em Nuvem

Tipos de instncias disponveis


Instncias padro Instncia mdia: Memria de 3,75 GB 2 unidades de processamento EC2 (2 ncleos virtuais com 1 unidade de processamento EC2) Armazenamento de instncias de 410 GB Plataforma de 32 ou 64 bits Desempenho de E/S: moderado Otimizada para EBS disponvel: no Nome da API: m1.medium

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

84 / 108

Introduo a Computao em Nuvem

Tipos de instncias disponveis


Instncias padro Instncia grande: Memria de 7,5 GB 4 unidades de processamento EC2 (2 ncleos virtuais com 2 unidades de processamento EC2 cada) Armazenamento de instncias de 850 GB Plataforma de 64 bits Desempenho de E/S: alto Otimizada para EBS disponvel: 500 Mbps Nome da API: m1.large

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

84 / 108

Introduo a Computao em Nuvem

Tipos de instncias disponveis


Instncias padro Instncia extra-grande: Memria de 15 GB 8 unidades de processamento EC2 (4 ncleos virtuais com 2 unidades de processamento EC2 cada) Armazenamento de instncias de 1.690 GB Plataforma de 64 bits Desempenho de E/S: alto Otimizada para EBS disponvel: 1000 Mbps Nome da API: m1.xlarge

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

84 / 108

Introduo a Computao em Nuvem

Outros tipos de instncias


Micro pequena quantidade de recursos (at 2 unidades EC2 e memria de 613 MB) de mais memria grandes tamanhos de memria para aplicaes de alta taxa de transferncia, incluindo banco de dados e aplicativos de cache de memria. (17, 34 e 68 GB de memria) de CPUs de alto desempenho 5 a 20 unidades de processamento de Clusters de Computao CPU de alto desempenho interligadas por rede de alto desempenho de Cluster GPU CPU de alto desempenho com 2 x GPUs NVIDIA Tesla Fermi M2050

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

85 / 108

Introduo a Computao em Nuvem

Preo do EC2 em SP (outubro/2012)

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

86 / 108

Introduo a Computao em Nuvem

Preos do EC2 nos EUA (outubro/2012)

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

87 / 108

Introduo a Computao em Nuvem

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 redenidos periodicamente, variando com a oferta e demanda por capacidade Se o preo atual for menor que o preo mximo denido, 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 denido

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

88 / 108

Introduo a Computao em Nuvem

Como preparar sua instncia?


Criando sua prpria imagem de um sistema operacional (mais difcil, porm mais exvel) Usando uma Amazon Machine Image, imagens de SOs pr-conguradas e prontas para uso
Ubuntu Red Hat Windows Cent OS Oracle Linux OpenSolaris Fedora Gentoo OpenSUSE Debian etc.
Daniel Cordeiro http://www.ime.usp.br/~danielc/ CESUPA Belm/PA outubro de 2012 89 / 108

Introduo a Computao em Nuvem

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 teraops 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

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

90 / 108

Introduo a Computao em Nuvem

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 teraops 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

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

90 / 108

Introduo a Computao em Nuvem

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 teraops 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

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

90 / 108

Introduo a Computao em Nuvem

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 teraops 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

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

90 / 108

Introduo a Computao em Nuvem

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 teraops 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

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

90 / 108

Introduo a Computao em Nuvem

Amazon Elastic MapReduce (Amazon EMR)

Permite processar um conjunto vasto de dados com uma boa relao custo-benefcio Internamente utiliza o arcabouo Hadoop

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

91 / 108

Introduo a Computao em Nuvem

Auto Scaling

Permite ajudar a capacidade dos seus servidores EC2 automaticamente til para aplicaes que possuem grande variabilidade no nmero de usurios Disponvel sem custo adicional Muito til, mas cuidado com imprevisibilidade dos custos (que tambm iro variar automaticamente)

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

92 / 108

Introduo a Computao em Nuvem

Elastic Load Balancing


Oferece roteamento e balanceamento de carga de conexes HTTP, HTTPS e TCP para instncias EC2 Verica periodicamente a sade das instncias, para detectar e remover instncias que estejam com problemas Aumenta e diminui dinamicamente o nmero de recursos baseados nos padres de acesso Integrado com o auto-scaling para aumentar e diminuir o nmero de instncias baseado nas medies de escalabilidade da aplicao Todos os recursos so acessados atravs de um nico ponto de entrada (um nico CNAME nas conguraes do DNS)

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

93 / 108

Introduo a Computao em Nuvem

Amazon DynamoDB

Servio de banco de dados NoSQL No limita a quantidade de dados que pode ser armazenada Permite provisionar e denir qual a capacidade que cada tabela possui de atender consultas Foco no throughput e no na quantidade de armazenamento Integrado ao servio de Elastic MapReduce

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

94 / 108

Introduo a Computao em Nuvem

Amazon SimpleDB

Implementa apenas as operaes bsicas de indexao de dados e consultas No possui schema, indexao ocorre automaticamente Cria e gerencia vrias rplicas distribudas geogracamente Elimina a sobrecarga administrativa de modelagem dos dados, manuteno dos ndices e ajustes de desempenho

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

95 / 108

Introduo a Computao em Nuvem

Bancos de dados NoSQL


Um parnteses sobre NoSQL Bancos de dados NoSQL (not only SQL) so uma classe de sistemas gerenciadores de bancos de dados que se distinguem por no seguirem o modelo de dados relacional. Caractersticas gerais: Otimizados para operaes de consultas e adio (append ) As funcionalidades em geral se limitam ao armazenamento de registros (pares chave-valor) No usam SQL para as consultas No garantem as propriedades ACID (Atomicidade, Consistncia, Isolamento e Durabilidade) Proveem uma arquitetura distribuda tolerante a falhas
Daniel Cordeiro http://www.ime.usp.br/~danielc/ CESUPA Belm/PA outubro de 2012 96 / 108

Introduo a Computao em Nuvem

Amazon Relational Database Service (RDS)

Prov acesso a instncias de bancos de dados tradicionais: MySQL, Oracle ou SQL Server Esconde todo o trabalho de administrao do banco de dados (congurao, atualizaes de segurana, backup, etc.) Oferece bom custo-benefcio e capacidade de redimensionamento Permite que voc implante as aplicaes que voc j usa hoje, sem grandes dores de cabea com o BD

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

97 / 108

Introduo a Computao em Nuvem

Amazon ElastiCache

Cluster para cache que segue a arquitetura do Memcached Gerencia tarefas de patching, deteco de falhas em ns de cache e recuperao desses ns Simples chamadas a uma API permitem aumentar ou diminuir o tamanho do cluster de cache Integra-se facilmente a instncias do SimpleDB e do RDS

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

98 / 108

Introduo a Computao em Nuvem

Amazon CloudFront

Servio web para distribuio de contedo Distribua contedo para usurios com baixa latncia e alta velocidade de transferncia de dados Distribui seu contedo usando uma rede global de ns Permite downloads, streaming e live streaming com o Adobe Flash Media Server.

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

99 / 108

Introduo a Computao em Nuvem

Amazon Simple Workow Service (SWF)

Roda aplicaes especicadas por workows e processos de negcio no AWS Gerencia aplicaes que esto na plataforma do SWF, aplicaes mveis e mesmo aplicaes in-loco (que acessam a Amazon para solicitar tarefas) Funciona com qualquer linguagem de programao

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

100 / 108

Introduo a Computao em Nuvem

Amazon CloudSearch

Servio de busca gerenciado pela Amazon Permite integrar um servio de busca rpido e escalvel em qualquer aplicao Escalabilidade automtica: se adapta ao aumento da quantidade de dados indexados ou ao aumento da quantidade de buscas AWS gerencia o provisionamento de recursos, particionamento dos dados e atualizaes de software

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

101 / 108

Introduo a Computao em Nuvem

Amazon Simple Notication Service (SNS)

Facilita a congurao, a operao e o envio de noticaes Publica mensagens geradas por uma aplicao e a envia para assinantes ou outras aplicaes Mensagens podem ser enviadas usando diferentes protocolos (HTTP, e-mail etc.). Usa um mecanismo push que elimina a necessidade de vericao peridica ou poll para novas informaes e atualizaes.

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

102 / 108

Introduo a Computao em Nuvem

Amazon Simple Queue Service (SQS)

Prov um servio de las escalvel e convel para o armazenamento de mensagens Move dados entre componentes distribudos de uma aplicao

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

103 / 108

Introduo a Computao em Nuvem

Amazon Simple Email Service (Amazon SES)

Servio de envio de e-mails (em lote) transacionais Elimina os problemas com o gerenciamento de servidores de e-mails, conguraes de rede e padres (rigorosos) dos servidores de acesso a Internet Prov um sistema de feedback, incluindo noticaes sobre e-mails que no foram entregues, dados sobre as tentativas de entrega e reclamaes sobre spam

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

104 / 108

Introduo a Computao em Nuvem

AWS Elastic Beanstalk


PaaS da Amazon Automaticamente gerencia a implantao, provisionamento, balanceamento de carga, auto-scaling e monitoramento do status do sistema Executa e gerencia aplicaes escritas em PHP, .NET, Java e Python Controla todos os servios do AWS necessrios para a aplicao Porm, o usurio continua com o controle sobre a infraestrutura e sobre o software Possui ferramenta de desenvolvimento integrada ao Visual Studio e ao Eclipse No h cobrana pelo uso do servio, s pelos recursos utilizados
Daniel Cordeiro http://www.ime.usp.br/~danielc/ CESUPA Belm/PA outubro de 2012 105 / 108

Introduo a Computao em Nuvem

Amazon CloudWatch

Permite visualizar a utilizao dos recursos, desempenho operacional, e padres de utilizao dos servios As mtricas incluem uso de CPU, leituras e escritas em disco, trfego de rede, etc. Permite tambm a denio de novas mtricas especcas da aplicao Os dados so acessveis a partir da interface de gerenciamento, mas tambm atravs de APIs, SDK ou CLI

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

106 / 108

Introduo a Computao em Nuvem

AWS Identity and Access Management (IAM)

Permite a criao de usurios e grupos com permisses especcas, tais como restries de acesso a algumas APIs ou recursos do AWS Controla o acesso ao console de gerenciamento e a algumas chamadas s APIs, de acordo com as credenciais dos usurios Tambm possibilita a concesso de acesso a recursos da AWS para usurios gerenciados fora da AWS no seu diretrio corporativo

Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA outubro de 2012

107 / 108

Introduo a Computao em Nuvem

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/

Amazon Web Services: http://aws.amazon.com/pt/ The AWS Network on SlideShare: http://www.slideshare.net/AmazonWebServices, incluindo o canal da Amrica Latina: http://www.slideshare.net/AmazonWebServicesLATAM/
Daniel Cordeiro http://www.ime.usp.br/~danielc/ CESUPA Belm/PA outubro de 2012 108 / 108

Вам также может понравиться