Sei sulla pagina 1di 178

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 maio de 2013

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 maio de 2013

2 / 111

Introduo a Computao em Nuvem

Todos j devem ter ouvido algo sobre Cloud Computing


Ou ao menos algumas dessas ideias:
Computao em nuvem finalmente 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 maio de 2013

3 / 111

Introduo a Computao em Nuvem

Todos j devem ter ouvido algo sobre Cloud Computing


Ou ao menos algumas dessas ideias:
Computao em nuvem finalmente 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 maio de 2013

3 / 111

Introduo a Computao em Nuvem

Todos j devem ter ouvido algo sobre Cloud Computing


Ou ao menos algumas dessas ideias:
Computao em nuvem finalmente 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 maio de 2013

3 / 111

Introduo a Computao em Nuvem

Todos j devem ter ouvido algo sobre Cloud Computing


Ou ao menos algumas dessas ideias:
Computao em nuvem finalmente 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 maio de 2013

3 / 111

Introduo a Computao em Nuvem

Todos j devem ter ouvido algo sobre Cloud Computing


Ou ao menos algumas dessas ideias:
Computao em nuvem finalmente 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 maio de 2013

3 / 111

Introduo a Computao em Nuvem

Todos j devem ter ouvido algo sobre Cloud Computing


Ou ao menos algumas dessas ideias:
Computao em nuvem finalmente 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 maio de 2013

3 / 111

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 redefined Cloud Computing to include everything
that we already do (...) I dont understand what we
would do differently 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 maio de 2013

4 / 111

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 definitions 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 maio de 2013

4 / 111

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 maio de 2013

4 / 111

Introduo a Computao em Nuvem

Histrico e motivaes

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

CESUPA Belm/PA maio de 2013

5 / 111

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 maio de 2013

6 / 111

Introduo a Computao em Nuvem

Problemas em escala da web

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.

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

CESUPA Belm/PA maio de 2013

7 / 111

Introduo a Computao em Nuvem

De qual volume de dados estamos falando?

Problemas da ordem de petabytes!

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

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

CESUPA Belm/PA maio de 2013

8 / 111

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 maio de 2013

8 / 111

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 maio de 2013

8 / 111

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 maio de 2013

8 / 111

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 maio de 2013

8 / 111

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 maio de 2013

8 / 111

Introduo a Computao em Nuvem

De qual volume de dados estamos falando?

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

CESUPA Belm/PA maio de 2013

8 / 111

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 maio de 2013

8 / 111

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 maio de 2013

9 / 111

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 maio de 2013

9 / 111

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 maio de 2013

9 / 111

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 maio de 2013

9 / 111

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 maio de 2013

9 / 111

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 maio de 2013

9 / 111

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 maio de 2013

10 / 111

Introduo a Computao em Nuvem

Grandes data centers

Pergunta:
Quo grandes so os data centers que fazem sistemas que afetam a
vida de quase todo mundo que se conecta a Internet (como os do
Google, Facebook, etc.) funcionarem?

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

CESUPA Belm/PA maio de 2013

11 / 111

Introduo a Computao em Nuvem

Grandes data centers

Fonte: http://www.google.com/intl/pt-BR/about/datacenters/
Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA maio de 2013

12 / 111

Introduo a Computao em Nuvem

Grandes data centers

Fonte: http://www.google.com/intl/pt-BR/about/datacenters/
Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA maio de 2013

12 / 111

Introduo a Computao em Nuvem

Grandes data centers

Fonte: http://www.google.com/intl/pt-BR/about/datacenters/
Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA maio de 2013

12 / 111

Introduo a Computao em Nuvem

Grandes data centers

Fonte: http://www.google.com/intl/pt-BR/about/datacenters/
Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA maio de 2013

12 / 111

Introduo a Computao em Nuvem

Grandes data centers


S o Google tem treze desses espalhados pelo mundo!
Amricas
Berkeley County, Carolina do Sul
Council Bluffs, Iowa
Douglas County, Georgia
Mayes County, Oklahoma
Lenoir, Carolina do Norte
The Dalles, Oregon
Quilicura, Chile
Daniel Cordeiro http://www.ime.usp.br/~danielc/

CESUPA Belm/PA maio de 2013

13 / 111

Introduo a Computao em Nuvem

Grandes data centers


S o Google tem treze desses espalhados pelo mundo!
sia
Hong Kong
Cingapura
Taiwan

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

CESUPA Belm/PA maio de 2013

13 / 111

Introduo a Computao em Nuvem

Grandes data centers


S o Google tem treze desses espalhados pelo mundo!
Europa
Hamina, Finlndia
St Ghislain, Blgica
Dublin, Irlanda

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

CESUPA Belm/PA maio de 2013

13 / 111

Introduo a Computao em Nuvem

Como isso era feito at ento?

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

CESUPA Belm/PA maio de 2013

14 / 111

Introduo a Computao em Nuvem

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

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

CESUPA Belm/PA maio de 2013

15 / 111

Introduo a Computao em Nuvem

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

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

CESUPA Belm/PA maio de 2013

15 / 111

Introduo a Computao em Nuvem

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

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

CESUPA Belm/PA maio de 2013

15 / 111

Introduo a Computao em Nuvem

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

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

CESUPA Belm/PA maio de 2013

15 / 111

Introduo a Computao em Nuvem

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

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

CESUPA Belm/PA maio de 2013

15 / 111

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): decriptografia 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 maio de 2013

16 / 111

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): decriptografia 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 maio de 2013

16 / 111

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): decriptografia 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 maio de 2013

16 / 111

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): decriptografia 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 maio de 2013

16 / 111

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): decriptografia 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 maio de 2013

16 / 111

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): decriptografia 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 maio de 2013

16 / 111

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): decriptografia 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 maio de 2013

16 / 111

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): decriptografia 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 maio de 2013

16 / 111

Introduo a Computao em Nuvem

E como feito agora?

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

CESUPA Belm/PA maio de 2013

17 / 111

Introduo a Computao em Nuvem

Grandes data centers


Seu problema aumenta na mesma escala da web?
Fcil: basta adicionar mais mquinas
Tendncia: centralizao dos recursos computacionais em
grandes data centers
O que os fiordes noruegueses, a Islndia, o estado americano
do Oregon e minas abandonadas tem em comum?

Problemas a serem resolvidos:


Redundncia
Eficincia
Utilizao
Gerenciamento

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

CESUPA Belm/PA maio de 2013

18 / 111

Introduo a Computao em Nuvem

Grandes data centers


Seu problema aumenta na mesma escala da web?
Fcil: basta adicionar mais mquinas
Tendncia: centralizao dos recursos computacionais em
grandes data centers
O que os fiordes noruegueses, a Islndia, o estado americano
do Oregon e minas abandonadas tem em comum?

Problemas a serem resolvidos:


Redundncia
Eficincia
Utilizao
Gerenciamento

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

CESUPA Belm/PA maio de 2013

18 / 111

Introduo a Computao em Nuvem

Grandes data centers


Seu problema aumenta na mesma escala da web?
Fcil: basta adicionar mais mquinas
Tendncia: centralizao dos recursos computacionais em
grandes data centers
O que os fiordes noruegueses, a Islndia, o estado americano
do Oregon e minas abandonadas tem em comum?

Problemas a serem resolvidos:


Redundncia
Eficincia
Utilizao
Gerenciamento

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

CESUPA Belm/PA maio de 2013

18 / 111

Introduo a Computao em Nuvem

Grandes data centers


Seu problema aumenta na mesma escala da web?
Fcil: basta adicionar mais mquinas
Tendncia: centralizao dos recursos computacionais em
grandes data centers
O que os fiordes noruegueses, a Islndia, o estado americano
do Oregon e minas abandonadas tem em comum?

Problemas a serem resolvidos:


Redundncia
Eficincia
Utilizao
Gerenciamento

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

CESUPA Belm/PA maio de 2013

18 / 111

Introduo a Computao em Nuvem

Grandes data centers


Seu problema aumenta na mesma escala da web?
Fcil: basta adicionar mais mquinas
Tendncia: centralizao dos recursos computacionais em
grandes data centers
O que os fiordes noruegueses, a Islndia, o estado americano
do Oregon e minas abandonadas tem em comum?

Problemas a serem resolvidos:


Redundncia
Eficincia
Utilizao
Gerenciamento

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

CESUPA Belm/PA maio de 2013

18 / 111

Introduo a Computao em Nuvem

Grandes data centers


Seu problema aumenta na mesma escala da web?
Fcil: basta adicionar mais mquinas
Tendncia: centralizao dos recursos computacionais em
grandes data centers
O que os fiordes noruegueses, a Islndia, o estado americano
do Oregon e minas abandonadas tem em comum?

Problemas a serem resolvidos:


Redundncia
Eficincia
Utilizao
Gerenciamento

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

CESUPA Belm/PA maio de 2013

18 / 111

Introduo a Computao em Nuvem

Grandes data centers


Seu problema aumenta na mesma escala da web?
Fcil: basta adicionar mais mquinas
Tendncia: centralizao dos recursos computacionais em
grandes data centers
O que os fiordes noruegueses, a Islndia, o estado americano
do Oregon e minas abandonadas tem em comum?

Problemas a serem resolvidos:


Redundncia
Eficincia
Utilizao
Gerenciamento

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

CESUPA Belm/PA maio de 2013

18 / 111

Introduo a Computao em Nuvem

Grandes data centers


Seu problema aumenta na mesma escala da web?
Fcil: basta adicionar mais mquinas
Tendncia: centralizao dos recursos computacionais em
grandes data centers
O que os fiordes noruegueses, a Islndia, o estado americano
do Oregon e minas abandonadas tem em comum?

Problemas a serem resolvidos:


Redundncia
Eficincia
Utilizao
Gerenciamento

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

CESUPA Belm/PA maio de 2013

18 / 111

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 maio de 2013

19 / 111

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 maio de 2013

20 / 111

Introduo a Computao em Nuvem

Desafios 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 maio de 2013

21 / 111

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 maio de 2013

22 / 111

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 maio de 2013

23 / 111

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 maio de 2013

24 / 111

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 especifica 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 maio de 2013

25 / 111

Introduo a Computao em Nuvem

Ruptura na indstria de TI

Computao em Nuvem uma ideia antiga que finalmente 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 maio de 2013

26 / 111

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, definiu um padro
arquitetural comum para aplicaes web
SOA Service-oriented architecture, definiu uma srie de
princpios e metodologias que tornaram os servios
interoperveis

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

CESUPA Belm/PA maio de 2013

27 / 111

Introduo a Computao em Nuvem

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

Pilha de Execuo Tradicional

Pilha de Execuo Virtualizada

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

CESUPA Belm/PA maio de 2013

28 / 111

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 modificado.
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 maio de 2013

29 / 111

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 (modificado) para notificar 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 maio de 2013

30 / 111

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 maio de 2013

31 / 111

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 maio de 2013

32 / 111

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

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

CESUPA Belm/PA maio de 2013

33 / 111

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 maio de 2013

34 / 111

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 maio de 2013

35 / 111

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 maio de 2013

36 / 111

Introduo a Computao em Nuvem

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

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 maio de 2013

37 / 111

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 maio de 2013

38 / 111

Introduo a Computao em Nuvem

Software como um servio (SaaS)

Configurao e personalizao: a mesma aplicao geralmente


funcionalidades e look-and-feel diferentes para cada usurio
Multi-tenant efficient: 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 maio de 2013

39 / 111

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 maio de 2013

40 / 111

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 maio de 2013

41 / 111

Introduo a Computao em Nuvem

Exemplos de provedores de SaaS:

Google Apps (GMail, Drive, Calendar, Talk, etc.)


iCloud
salesforce.com
Basecamp
Microsoft Office 365
etc.

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

CESUPA Belm/PA maio de 2013

42 / 111

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 maio de 2013

43 / 111

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 maio de 2013

44 / 111

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 maio de 2013

45 / 111

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 maio de 2013

46 / 111

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 maio de 2013

47 / 111

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-configurados (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 maio de 2013

48 / 111

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 maio de 2013

49 / 111

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 maio de 2013

50 / 111

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 maio de 2013

51 / 111

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 infinito de recursos computacionais

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

CESUPA Belm/PA maio de 2013

52 / 111

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 maio de 2013

53 / 111

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 maio de 2013

54 / 111

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 maio de 2013

55 / 111

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 maio de 2013

56 / 111

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 maio de 2013

57 / 111

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 maio de 2013

58 / 111

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
Confiabilidade
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 maio de 2013

59 / 111

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 maio de 2013

60 / 111

Introduo a Computao em Nuvem

Desafios 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
Confidencialidade dos dados e auditabilidade: empregar
criptografia, VLANs, firewalls, 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 flash; melhorias no
escalonamento das mquinas virtuais

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

CESUPA Belm/PA maio de 2013

61 / 111

Introduo a Computao em Nuvem

Desafios 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
Confidencialidade dos dados e auditabilidade: empregar
criptografia, VLANs, firewalls, 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 flash; melhorias no
escalonamento das mquinas virtuais

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

CESUPA Belm/PA maio de 2013

61 / 111

Introduo a Computao em Nuvem

Desafios 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
Confidencialidade dos dados e auditabilidade: empregar
criptografia, VLANs, firewalls, 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 flash; melhorias no
escalonamento das mquinas virtuais

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

CESUPA Belm/PA maio de 2013

61 / 111

Introduo a Computao em Nuvem

Desafios 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
Confidencialidade dos dados e auditabilidade: empregar
criptografia, VLANs, firewalls, 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 flash; melhorias no
escalonamento das mquinas virtuais

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

CESUPA Belm/PA maio de 2013

61 / 111

Introduo a Computao em Nuvem

Desafios 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
Confidencialidade dos dados e auditabilidade: empregar
criptografia, VLANs, firewalls, 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 flash; melhorias no
escalonamento das mquinas virtuais

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

CESUPA Belm/PA maio de 2013

61 / 111

Introduo a Computao em Nuvem

Desafios 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 maio de 2013

62 / 111

Introduo a Computao em Nuvem

Desafios 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 maio de 2013

62 / 111

Introduo a Computao em Nuvem

Desafios 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 maio de 2013

62 / 111

Introduo a Computao em Nuvem

Desafios 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 maio de 2013

62 / 111

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 maio de 2013

63 / 111

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 maio de 2013

63 / 111

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 maio de 2013

63 / 111

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 maio de 2013

63 / 111

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 maio de 2013

64 / 111

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 fins

Defender uma marca


migrar clientes atuais para uma plataforma de Computao em
Nuvem

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

CESUPA Belm/PA maio de 2013

65 / 111

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 maio de 2013

66 / 111

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 maio de 2013

67 / 111

Introduo a Computao em Nuvem

Provedores de plataformas de
Computao em Nuvem

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

CESUPA Belm/PA maio de 2013

68 / 111

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 maio de 2013

69 / 111

Introduo a Computao em Nuvem

Amazon Web Services

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

CESUPA Belm/PA maio de 2013

70 / 111

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 maio de 2013

71 / 111

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 maio de 2013

71 / 111

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 maio de 2013

71 / 111

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 maio de 2013

71 / 111

Introduo a Computao em Nuvem

Alguns produtos que usam o AWS

Instagram
foursquare
Netflix
Dropbox
Heroku
Pinterest
tumblr
etc.

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

CESUPA Belm/PA maio de 2013

72 / 111

Introduo a Computao em Nuvem

Algumas empresas que confiam no AWS

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

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

CESUPA Belm/PA maio de 2013

73 / 111

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 maio de 2013

74 / 111

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 maio de 2013

75 / 111

Introduo a Computao em Nuvem

Regies e zonas de disponibilidade


Regies
Data centers espalhados geograficamente 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 maio de 2013

76 / 111

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 maio de 2013

77 / 111

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 maio de 2013

78 / 111

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 maio de 2013

79 / 111

Introduo a Computao em Nuvem

Viso geral dos servios

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

CESUPA Belm/PA maio de 2013

80 / 111

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, confivel, 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 maio de 2013

81 / 111

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 maio de 2013

82 / 111

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 maio de 2013

83 / 111

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 maio de 2013

84 / 111

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 maio de 2013

85 / 111

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 maio de 2013

85 / 111

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 maio de 2013

85 / 111

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 maio de 2013

85 / 111

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 maio de 2013

85 / 111

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 maio de 2013

85 / 111

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 definido em termos de unidades
computacionais EC2: 1 unidade ' 1,0 1,2 GHz.

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

CESUPA Belm/PA maio de 2013

86 / 111

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 maio de 2013

87 / 111

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 maio de 2013

87 / 111

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 maio de 2013

87 / 111

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 maio de 2013

87 / 111

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 maio de 2013

88 / 111

Introduo a Computao em Nuvem

Preo do EC2 em SP (outubro/2012)

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

CESUPA Belm/PA maio de 2013

89 / 111

Introduo a Computao em Nuvem

Preos do EC2 nos EUA (outubro/2012)

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

CESUPA Belm/PA maio de 2013

90 / 111

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

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

CESUPA Belm/PA maio de 2013

91 / 111

Introduo a Computao em Nuvem

Como preparar sua instncia?


Criando sua prpria imagem de um sistema operacional (mais
difcil, porm mais flexvel)
Usando uma Amazon Machine Image, imagens de SOs
pr-configuradas 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 maio de 2013

92 / 111

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

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

CESUPA Belm/PA maio de 2013

93 / 111

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

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

CESUPA Belm/PA maio de 2013

93 / 111

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

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

CESUPA Belm/PA maio de 2013

93 / 111

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

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

CESUPA Belm/PA maio de 2013

93 / 111

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

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

CESUPA Belm/PA maio de 2013

93 / 111

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 maio de 2013

94 / 111

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 maio de 2013

95 / 111

Introduo a Computao em Nuvem

Elastic Load Balancing


Oferece roteamento e balanceamento de carga de conexes
HTTP, HTTPS e TCP para instncias EC2
Verifica 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 configuraes do DNS)

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

CESUPA Belm/PA maio de 2013

96 / 111

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 definir 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 maio de 2013

97 / 111

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 geograficamente
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 maio de 2013

98 / 111

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 maio de 2013

99 / 111

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
(configurao, 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 maio de 2013

100 / 111

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 maio de 2013

101 / 111

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 maio de 2013

102 / 111

Introduo a Computao em Nuvem

Amazon Simple Workflow Service (SWF)

Roda aplicaes especificadas por workflows 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 maio de 2013

103 / 111

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 maio de 2013

104 / 111

Introduo a Computao em Nuvem

Amazon Simple Notification Service (SNS)

Facilita a configurao, a operao e o envio de notificaes


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
verificao peridica ou poll para novas informaes e
atualizaes.

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

CESUPA Belm/PA maio de 2013

105 / 111

Introduo a Computao em Nuvem

Amazon Simple Queue Service (SQS)

Prov um servio de filas escalvel e confivel para o


armazenamento de mensagens
Move dados entre componentes distribudos de uma aplicao

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

CESUPA Belm/PA maio de 2013

106 / 111

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, configuraes de rede e padres (rigorosos) dos
servidores de acesso a Internet
Prov um sistema de feedback, incluindo notificaes 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 maio de 2013

107 / 111

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 maio de 2013

108 / 111

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 definio de novas mtricas especficas 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 maio de 2013

109 / 111

Introduo a Computao em Nuvem

AWS Identity and Access Management (IAM)

Permite a criao de usurios e grupos com permisses


especficas, 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 maio de 2013

110 / 111

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 maio de 2013

111 / 111

Potrebbero piacerti anche