Post on 29-Dec-2016
Introdução a Computação em Nuvem
Introdução a Computação em NuvemConceitos teóricos e práticos, evolução
e novas possibilidades
Daniel CordeiroDepartamento de Ciência da ComputaçãoInstituto de Matemática e Estatística
Universidade de São Paulo
CESUPA – Belém/PA – maio de 2013
Introdução a Computação em Nuvem
Olá! :)
Um pouco sobre mim
Pós-doutorando no IME/USPDocteur en Mathématiques et en Informatique – Université deGrenoble, França, 2012Mestre em Computação – Universidade de São Paulo, 2006
Para mais informações:http://www.ime.usp.br/~danielc/
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 2 / 111
Introdução a Computação em Nuvem
Todos já devem ter ouvido algo sobre Cloud Computing
Ou ao menos algumas dessas ideias:
“Computação em nuvem finalmente tornou realidade o sonhoda computação utilitária”“Desenvolvedores não precisam mais se preocupar emconseguir grandes somas de dinheiro antes de colocar umanova aplicação web no ar”“Adeus aos problemas de provisionamento de servidores(Elasticidade dos recursos)”Software como um serviçoPlataforma como um serviçoInfraestrutura como um serviço
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 3 / 111
Introdução a Computação em Nuvem
Todos já devem ter ouvido algo sobre Cloud Computing
Ou ao menos algumas dessas ideias:
“Computação em nuvem finalmente tornou realidade o sonhoda computação utilitária”“Desenvolvedores não precisam mais se preocupar emconseguir grandes somas de dinheiro antes de colocar umanova aplicação web no ar”“Adeus aos problemas de provisionamento de servidores(Elasticidade dos recursos)”Software como um serviçoPlataforma como um serviçoInfraestrutura como um serviço
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 3 / 111
Introdução a Computação em Nuvem
Todos já devem ter ouvido algo sobre Cloud Computing
Ou ao menos algumas dessas ideias:
“Computação em nuvem finalmente tornou realidade o sonhoda computação utilitária”“Desenvolvedores não precisam mais se preocupar emconseguir grandes somas de dinheiro antes de colocar umanova aplicação web no ar”“Adeus aos problemas de provisionamento de servidores(Elasticidade dos recursos)”Software como um serviçoPlataforma como um serviçoInfraestrutura como um serviço
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 3 / 111
Introdução a Computação em Nuvem
Todos já devem ter ouvido algo sobre Cloud Computing
Ou ao menos algumas dessas ideias:
“Computação em nuvem finalmente tornou realidade o sonhoda computação utilitária”“Desenvolvedores não precisam mais se preocupar emconseguir grandes somas de dinheiro antes de colocar umanova aplicação web no ar”“Adeus aos problemas de provisionamento de servidores(Elasticidade dos recursos)”Software como um serviçoPlataforma como um serviçoInfraestrutura como um serviço
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 3 / 111
Introdução a Computação em Nuvem
Todos já devem ter ouvido algo sobre Cloud Computing
Ou ao menos algumas dessas ideias:
“Computação em nuvem finalmente tornou realidade o sonhoda computação utilitária”“Desenvolvedores não precisam mais se preocupar emconseguir grandes somas de dinheiro antes de colocar umanova aplicação web no ar”“Adeus aos problemas de provisionamento de servidores(Elasticidade dos recursos)”Software como um serviçoPlataforma como um serviçoInfraestrutura como um serviço
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 3 / 111
Introdução a Computação em Nuvem
Todos já devem ter ouvido algo sobre Cloud Computing
Ou ao menos algumas dessas ideias:
“Computação em nuvem finalmente tornou realidade o sonhoda computação utilitária”“Desenvolvedores não precisam mais se preocupar emconseguir grandes somas de dinheiro antes de colocar umanova aplicação web no ar”“Adeus aos problemas de provisionamento de servidores(Elasticidade dos recursos)”Software como um serviçoPlataforma como um serviçoInfraestrutura como um serviço
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 3 / 111
Introdução a Computação em Nuvem
Todo mundo fala sobre Computação em Nuvem, mas o queé isso?
The interesting thing about Cloud Computing is thatwe’ve redefined Cloud Computing to include everythingthat we already do (...) I don’t understand what wewould do differently in the light of Cloud Computingother 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 – Belém/PA – maio de 2013 4 / 111
Introdução a Computação em Nuvem
Todo mundo fala sobre Computação 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 aboutit. 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 – Belém/PA – maio de 2013 4 / 111
Introdução a Computação em Nuvem
Todo mundo fala sobre Computação em Nuvem, mas o queé isso?
It’s stupidity. It’s worse than stupidity: it’s a marketinghype campaign. Somebody is saying this is inevitable —and whenever you hear somebody saying that, it’s verylikely to be a set of businesses campaigning to make ittrue.
Richard Stallman (Free Software Foundation), The Guardian, 29 de setembro de 2008
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 4 / 111
Introdução a Computação em Nuvem
Histórico e motivações
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 5 / 111
Introdução a Computação em Nuvem
Quatro problemas que (ainda) requerem constante inovaçãotecnológica
Problemas “em escala da web”Grandes data centersComputação paralela e distribuídaAplicações web interativas
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 6 / 111
Introdução a Computação em Nuvem
Problemas em escala da web
CaracterísticasDefinitivamente data-intensiveMas podem também ser processing-intensive
Exemplos:Crawling, indexação, busca, mineração de dados da webPesquisa em biologia computacional na era “pós-genômica”Processamento de dados científicos (física, astronomia, etc.)Redes de sensoresAplicações Web 2.0etc.
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 7 / 111
Introdução a Computação 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 milhão de gigabytes= 1 mil terabytes
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 8 / 111
Introdução a Computação 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 + 100terabytes/dia (mar/2009)O Facebook tem cerca de 2,5 petabytes de dados deusuários + 15 terabytes/dia (abr/2009)O site eBay tem cerca de 6,5 petabytes de dados dosusuários + 50 terabytes/dia (mai/2009)O Grande Colisor de Hádrons do CERN irá gerar cerca de 15petabytes/ano
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 8 / 111
Introdução a Computação 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 + 100terabytes/dia (mar/2009)O Facebook tem cerca de 2,5 petabytes de dados deusuários + 15 terabytes/dia (abr/2009)O site eBay tem cerca de 6,5 petabytes de dados dosusuários + 50 terabytes/dia (mai/2009)O Grande Colisor de Hádrons do CERN irá gerar cerca de 15petabytes/ano
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 8 / 111
Introdução a Computação 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 + 100terabytes/dia (mar/2009)O Facebook tem cerca de 2,5 petabytes de dados deusuários + 15 terabytes/dia (abr/2009)O site eBay tem cerca de 6,5 petabytes de dados dosusuários + 50 terabytes/dia (mai/2009)O Grande Colisor de Hádrons do CERN irá gerar cerca de 15petabytes/ano
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 8 / 111
Introdução a Computação 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 + 100terabytes/dia (mar/2009)O Facebook tem cerca de 2,5 petabytes de dados deusuários + 15 terabytes/dia (abr/2009)O site eBay tem cerca de 6,5 petabytes de dados dosusuários + 50 terabytes/dia (mai/2009)O Grande Colisor de Hádrons do CERN irá gerar cerca de 15petabytes/ano
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 8 / 111
Introdução a Computação 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 + 100terabytes/dia (mar/2009)O Facebook tem cerca de 2,5 petabytes de dados deusuários + 15 terabytes/dia (abr/2009)O site eBay tem cerca de 6,5 petabytes de dados dosusuários + 50 terabytes/dia (mai/2009)O Grande Colisor de Hádrons do CERN irá gerar cerca de 15petabytes/ano
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 8 / 111
Introdução a Computação em Nuvem
De qual volume de dados estamos falando?
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 8 / 111
Introdução a Computação em Nuvem
De qual volume de dados estamos falando?
1 PB = 1.000.000.000.000.000 B
= 1.0005 B
= 1015 B= 1 milhão de gigabytes= 1 mil terabytes
Ou seja, os 15 petabytes que o CERN irá gerar por ano equivalem a15 milhões de gigabytes. Seriam necessários 1,7 milhão de DVDsdual-layer para armazenar tanta informação!
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 8 / 111
Introdução a Computação em Nuvem
O que se faz com tantos dados?
Encontram informações sobre novos fatosCasamento de padrões com informações da webex: quem matou John Lennon?
Procuram por novas relações entre os dadosAlguns padrões levam a novas relações:
os fatos: “Nascimento-de(Mozart, 1756)” e“Nascimento-de(Einstein, 1879)”levam aos dados: “Wolfgang Amadeus Mozart (1756–1791)” e“Einstein nasceu em 1879”que levam a diferentes padrões: “PESSOA (DATA –” e“PESSOA nasceu em DATA”que, por sua vez, permitem encontrar novos fatos
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 9 / 111
Introdução a Computação em Nuvem
O que se faz com tantos dados?
Encontram informações sobre novos fatosCasamento de padrões com informações da webex: quem matou John Lennon?
Procuram por novas relações entre os dadosAlguns padrões levam a novas relações:
os fatos: “Nascimento-de(Mozart, 1756)” e“Nascimento-de(Einstein, 1879)”levam aos dados: “Wolfgang Amadeus Mozart (1756–1791)” e“Einstein nasceu em 1879”que levam a diferentes padrões: “PESSOA (DATA –” e“PESSOA nasceu em DATA”que, por sua vez, permitem encontrar novos fatos
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 9 / 111
Introdução a Computação em Nuvem
O que se faz com tantos dados?
Encontram informações sobre novos fatosCasamento de padrões com informações da webex: quem matou John Lennon?
Procuram por novas relações entre os dadosAlguns padrões levam a novas relações:
os fatos: “Nascimento-de(Mozart, 1756)” e“Nascimento-de(Einstein, 1879)”levam aos dados: “Wolfgang Amadeus Mozart (1756–1791)” e“Einstein nasceu em 1879”que levam a diferentes padrões: “PESSOA (DATA –” e“PESSOA nasceu em DATA”que, por sua vez, permitem encontrar novos fatos
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 9 / 111
Introdução a Computação em Nuvem
O que se faz com tantos dados?
Encontram informações sobre novos fatosCasamento de padrões com informações da webex: quem matou John Lennon?
Procuram por novas relações entre os dadosAlguns padrões levam a novas relações:
os fatos: “Nascimento-de(Mozart, 1756)” e“Nascimento-de(Einstein, 1879)”levam aos dados: “Wolfgang Amadeus Mozart (1756–1791)” e“Einstein nasceu em 1879”que levam a diferentes padrões: “PESSOA (DATA –” e“PESSOA nasceu em DATA”que, por sua vez, permitem encontrar novos fatos
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 9 / 111
Introdução a Computação em Nuvem
O que se faz com tantos dados?
Encontram informações sobre novos fatosCasamento de padrões com informações da webex: quem matou John Lennon?
Procuram por novas relações entre os dadosAlguns padrões levam a novas relações:
os fatos: “Nascimento-de(Mozart, 1756)” e“Nascimento-de(Einstein, 1879)”levam aos dados: “Wolfgang Amadeus Mozart (1756–1791)” e“Einstein nasceu em 1879”que levam a diferentes padrões: “PESSOA (DATA –” e“PESSOA nasceu em DATA”que, por sua vez, permitem encontrar novos fatos
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 9 / 111
Introdução a Computação em Nuvem
O que se faz com tantos dados?
Encontram informações sobre novos fatosCasamento de padrões com informações da webex: quem matou John Lennon?
Procuram por novas relações entre os dadosAlguns padrões levam a novas relações:
os fatos: “Nascimento-de(Mozart, 1756)” e“Nascimento-de(Einstein, 1879)”levam aos dados: “Wolfgang Amadeus Mozart (1756–1791)” e“Einstein nasceu em 1879”que levam a diferentes padrões: “PESSOA (DATA –” e“PESSOA nasceu em DATA”que, por sua vez, permitem encontrar novos fatos
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 9 / 111
Introdução a Computação em Nuvem
Como resolver problemas tão grandes?
Estratégia simples (mas de difícil execução):
Dividir para conquistarUsar mais recursos computacionais a medida que mais dadosaparecerem
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 10 / 111
Introdução a Computação em Nuvem
Grandes data centers
Pergunta:Quão grandes são os data centers que fazem sistemas que afetam avida de quase todo mundo que se conecta a Internet (como os doGoogle, Facebook, etc.) funcionarem?
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 11 / 111
Introdução a Computação em Nuvem
Grandes data centers
Fonte: http://www.google.com/intl/pt-BR/about/datacenters/
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 12 / 111
Introdução a Computação em Nuvem
Grandes data centers
Fonte: http://www.google.com/intl/pt-BR/about/datacenters/
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 12 / 111
Introdução a Computação em Nuvem
Grandes data centers
Fonte: http://www.google.com/intl/pt-BR/about/datacenters/
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 12 / 111
Introdução a Computação em Nuvem
Grandes data centers
Fonte: http://www.google.com/intl/pt-BR/about/datacenters/
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 12 / 111
Introdução a Computação em Nuvem
Grandes data centers
Só o Google tem treze desses espalhados pelo mundo!
Américas
Berkeley County, Carolina do SulCouncil Bluffs, IowaDouglas County, GeorgiaMayes County, OklahomaLenoir, Carolina do NorteThe Dalles, OregonQuilicura, Chile
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 13 / 111
Introdução a Computação em Nuvem
Grandes data centers
Só o Google tem treze desses espalhados pelo mundo!
Ásia
Hong KongCingapuraTaiwan
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 13 / 111
Introdução a Computação em Nuvem
Grandes data centers
Só o Google tem treze desses espalhados pelo mundo!
Europa
Hamina, FinlândiaSt Ghislain, BélgicaDublin, Irlanda
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 13 / 111
Introdução a Computação em Nuvem
Como isso era feito até então?
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 14 / 111
Introdução a Computação em Nuvem
Evolução da computação
anos 50: computadores eram grandes calculadorasprogramadas com cartões perfurados; início da computaçãoparalelafinal dos anos 60: ARPANET (computadores começavam aserem interconectados; noção de computação como umserviço)anos 70: surgem os primeiros microprocessadoresanos 80: popularização dos computadores pessoaisanos 90: popularização da Internet
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 15 / 111
Introdução a Computação em Nuvem
Evolução da computação
anos 50: computadores eram grandes calculadorasprogramadas com cartões perfurados; início da computaçãoparalelafinal dos anos 60: ARPANET (computadores começavam aserem interconectados; noção de computação como umserviço)anos 70: surgem os primeiros microprocessadoresanos 80: popularização dos computadores pessoaisanos 90: popularização da Internet
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 15 / 111
Introdução a Computação em Nuvem
Evolução da computação
anos 50: computadores eram grandes calculadorasprogramadas com cartões perfurados; início da computaçãoparalelafinal dos anos 60: ARPANET (computadores começavam aserem interconectados; noção de computação como umserviço)anos 70: surgem os primeiros microprocessadoresanos 80: popularização dos computadores pessoaisanos 90: popularização da Internet
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 15 / 111
Introdução a Computação em Nuvem
Evolução da computação
anos 50: computadores eram grandes calculadorasprogramadas com cartões perfurados; início da computaçãoparalelafinal dos anos 60: ARPANET (computadores começavam aserem interconectados; noção de computação como umserviço)anos 70: surgem os primeiros microprocessadoresanos 80: popularização dos computadores pessoaisanos 90: popularização da Internet
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 15 / 111
Introdução a Computação em Nuvem
Evolução da computação
anos 50: computadores eram grandes calculadorasprogramadas com cartões perfurados; início da computaçãoparalelafinal dos anos 60: ARPANET (computadores começavam aserem interconectados; noção de computação como umserviço)anos 70: surgem os primeiros microprocessadoresanos 80: popularização dos computadores pessoaisanos 90: popularização da Internet
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 15 / 111
Introdução a Computação em Nuvem
Paradigmas de computação
Computadores PessoaisComputadores ParalelosAglomerados de Computadores (clusters)Computação Voluntária (Volunteer Computing):
The Great Internet Mersenne Prime Search (1996): busca porprimos de Mersenne (primos da forma 2n − 1, n ∈ N)distributed.net (1997): decriptografia por força-brutaSETI@Home (1999): análise de sinais de rádio vindos doespaço em busca de evidência de vida extra-terreste
Computação em Grade (Grid Computing)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 16 / 111
Introdução a Computação em Nuvem
Paradigmas de computação
Computadores PessoaisComputadores ParalelosAglomerados de Computadores (clusters)Computação Voluntária (Volunteer Computing):
The Great Internet Mersenne Prime Search (1996): busca porprimos de Mersenne (primos da forma 2n − 1, n ∈ N)distributed.net (1997): decriptografia por força-brutaSETI@Home (1999): análise de sinais de rádio vindos doespaço em busca de evidência de vida extra-terreste
Computação em Grade (Grid Computing)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 16 / 111
Introdução a Computação em Nuvem
Paradigmas de computação
Computadores PessoaisComputadores ParalelosAglomerados de Computadores (clusters)Computação Voluntária (Volunteer Computing):
The Great Internet Mersenne Prime Search (1996): busca porprimos de Mersenne (primos da forma 2n − 1, n ∈ N)distributed.net (1997): decriptografia por força-brutaSETI@Home (1999): análise de sinais de rádio vindos doespaço em busca de evidência de vida extra-terreste
Computação em Grade (Grid Computing)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 16 / 111
Introdução a Computação em Nuvem
Paradigmas de computação
Computadores PessoaisComputadores ParalelosAglomerados de Computadores (clusters)Computação Voluntária (Volunteer Computing):
The Great Internet Mersenne Prime Search (1996): busca porprimos de Mersenne (primos da forma 2n − 1, n ∈ N)distributed.net (1997): decriptografia por força-brutaSETI@Home (1999): análise de sinais de rádio vindos doespaço em busca de evidência de vida extra-terreste
Computação em Grade (Grid Computing)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 16 / 111
Introdução a Computação em Nuvem
Paradigmas de computação
Computadores PessoaisComputadores ParalelosAglomerados de Computadores (clusters)Computação Voluntária (Volunteer Computing):
The Great Internet Mersenne Prime Search (1996): busca porprimos de Mersenne (primos da forma 2n − 1, n ∈ N)distributed.net (1997): decriptografia por força-brutaSETI@Home (1999): análise de sinais de rádio vindos doespaço em busca de evidência de vida extra-terreste
Computação em Grade (Grid Computing)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 16 / 111
Introdução a Computação em Nuvem
Paradigmas de computação
Computadores PessoaisComputadores ParalelosAglomerados de Computadores (clusters)Computação Voluntária (Volunteer Computing):
The Great Internet Mersenne Prime Search (1996): busca porprimos de Mersenne (primos da forma 2n − 1, n ∈ N)distributed.net (1997): decriptografia por força-brutaSETI@Home (1999): análise de sinais de rádio vindos doespaço em busca de evidência de vida extra-terreste
Computação em Grade (Grid Computing)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 16 / 111
Introdução a Computação em Nuvem
Paradigmas de computação
Computadores PessoaisComputadores ParalelosAglomerados de Computadores (clusters)Computação Voluntária (Volunteer Computing):
The Great Internet Mersenne Prime Search (1996): busca porprimos de Mersenne (primos da forma 2n − 1, n ∈ N)distributed.net (1997): decriptografia por força-brutaSETI@Home (1999): análise de sinais de rádio vindos doespaço em busca de evidência de vida extra-terreste
Computação em Grade (Grid Computing)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 16 / 111
Introdução a Computação em Nuvem
Paradigmas de computação
Computadores PessoaisComputadores ParalelosAglomerados de Computadores (clusters)Computação Voluntária (Volunteer Computing):
The Great Internet Mersenne Prime Search (1996): busca porprimos de Mersenne (primos da forma 2n − 1, n ∈ N)distributed.net (1997): decriptografia por força-brutaSETI@Home (1999): análise de sinais de rádio vindos doespaço em busca de evidência de vida extra-terreste
Computação em Grade (Grid Computing)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 16 / 111
Introdução a Computação em Nuvem
E como é feito agora?
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 17 / 111
Introdução a Computação em Nuvem
Grandes data centers
Seu problema aumenta na mesma escala da web?Fácil: basta adicionar mais máquinasTendência: centralização dos recursos computacionais emgrandes data centers
O que os fiordes noruegueses, a Islândia, o estado americanodo Oregon e minas abandonadas tem em comum?
Problemas a serem resolvidos:RedundânciaEficiênciaUtilizaçãoGerenciamento
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 18 / 111
Introdução a Computação em Nuvem
Grandes data centers
Seu problema aumenta na mesma escala da web?Fácil: basta adicionar mais máquinasTendência: centralização dos recursos computacionais emgrandes data centers
O que os fiordes noruegueses, a Islândia, o estado americanodo Oregon e minas abandonadas tem em comum?
Problemas a serem resolvidos:RedundânciaEficiênciaUtilizaçãoGerenciamento
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 18 / 111
Introdução a Computação em Nuvem
Grandes data centers
Seu problema aumenta na mesma escala da web?Fácil: basta adicionar mais máquinasTendência: centralização dos recursos computacionais emgrandes data centers
O que os fiordes noruegueses, a Islândia, o estado americanodo Oregon e minas abandonadas tem em comum?
Problemas a serem resolvidos:RedundânciaEficiênciaUtilizaçãoGerenciamento
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 18 / 111
Introdução a Computação em Nuvem
Grandes data centers
Seu problema aumenta na mesma escala da web?Fácil: basta adicionar mais máquinasTendência: centralização dos recursos computacionais emgrandes data centers
O que os fiordes noruegueses, a Islândia, o estado americanodo Oregon e minas abandonadas tem em comum?
Problemas a serem resolvidos:RedundânciaEficiênciaUtilizaçãoGerenciamento
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 18 / 111
Introdução a Computação em Nuvem
Grandes data centers
Seu problema aumenta na mesma escala da web?Fácil: basta adicionar mais máquinasTendência: centralização dos recursos computacionais emgrandes data centers
O que os fiordes noruegueses, a Islândia, o estado americanodo Oregon e minas abandonadas tem em comum?
Problemas a serem resolvidos:RedundânciaEficiênciaUtilizaçãoGerenciamento
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 18 / 111
Introdução a Computação em Nuvem
Grandes data centers
Seu problema aumenta na mesma escala da web?Fácil: basta adicionar mais máquinasTendência: centralização dos recursos computacionais emgrandes data centers
O que os fiordes noruegueses, a Islândia, o estado americanodo Oregon e minas abandonadas tem em comum?
Problemas a serem resolvidos:RedundânciaEficiênciaUtilizaçãoGerenciamento
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 18 / 111
Introdução a Computação em Nuvem
Grandes data centers
Seu problema aumenta na mesma escala da web?Fácil: basta adicionar mais máquinasTendência: centralização dos recursos computacionais emgrandes data centers
O que os fiordes noruegueses, a Islândia, o estado americanodo Oregon e minas abandonadas tem em comum?
Problemas a serem resolvidos:RedundânciaEficiênciaUtilizaçãoGerenciamento
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 18 / 111
Introdução a Computação em Nuvem
Grandes data centers
Seu problema aumenta na mesma escala da web?Fácil: basta adicionar mais máquinasTendência: centralização dos recursos computacionais emgrandes data centers
O que os fiordes noruegueses, a Islândia, o estado americanodo Oregon e minas abandonadas tem em comum?
Problemas a serem resolvidos:RedundânciaEficiênciaUtilizaçãoGerenciamento
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 18 / 111
Introdução a Computação em Nuvem
Ideias principais
Escalabilidade horizontal, não verticalExistem limites para máquinas SMP e arquiteturas de memóriacompartilhada
Mova o processamento para perto dos dadosa banda de rede é limitada
Processe os dados sequencialmente, evite padrões de acessoaleatórios
seeks são custosos, mas a vazão (throughput) do disco érazoável
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 19 / 111
Introdução a Computação em Nuvem
Como programar aplicações escaláveis?Divisão e conquista
"Trabalho"
t1 t2 t3
worker worker worker
r2r1 r3
resultado
Particionar
Combinar
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 20 / 111
Introdução a Computação em Nuvem
Desafios de paralelização
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 resultadosintermediários 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 – Belém/PA – maio de 2013 21 / 111
Introdução a Computação em Nuvem
Problema recorrente
Problemas de paralelização surgem por causa de:comunicação entre os workersacesso a recursos compartilhados (por exemplo, dados)
Portanto, precisamos de algum mecanismo de sincronização
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 22 / 111
Introdução a Computação em Nuvem
Gerenciar múltiplos workers
É difícil, pois:Não sabemos em que ordem cada worker será executadoNão sabemos quando um worker irá interromper outro workerNão sabemos em qual ordem os workers irão acessar os dadoscompartilhados
Por tanto, nós precisamos de:Semáforos (lock, unlock)Variáveis condicionais (wait, notify, broadcast)Barreiras de sincronização
Ainda assim, restam problemas como:Deadlock, starvation, race coditions, ...
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 23 / 111
Introdução a Computação em Nuvem
Ferramentas atuais
Modelos de programação:Memória compartilhada (pthreads)Passagem de mensagens (MPI)
Padrões arquiteturais:Mestre-escravoProdutor-consumidorFilas de trabalho compartilhadas
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 24 / 111
Introdução a Computação em Nuvem
Moral da história
Tudo se resume ao nível mais adequado de abstraçãoEsconda os detalhes do sistema dos desenvolvedores
Evita os problemas com race conditions, contenção em locks,etc.
Separe o “quê” do “como”:O desenvolvedor especifica apenas o que deve ser computadoO arcabouço deve se encarregar de como realizar a execução
O data center é o computador!
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 25 / 111
Introdução a Computação em Nuvem
Ruptura na indústria de TI
Computação em Nuvem é uma ideia antiga que finalmente pode sercolocada em prática graças a combinação de várias tecnologiasrecentes:
Tecnologias de aplicações web (AJAX, REST, SOA, etc.)VirtualizaçãoComputação Utilitária
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 26 / 111
Introdução a Computação em Nuvem
Tecnologias web
AJAX Asynchronous JavaScript and XML, permitiu acriação de clientes interativos para aplicações web.“Front-end” de computação em nuvem.
REST REpresentational State Transfer, definiu um padrãoarquitetural comum para aplicações web
SOA Service-oriented architecture, definiu uma série deprincípios e metodologias que tornaram os serviçosinteroperáveis
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 27 / 111
Introdução a Computação em Nuvem
Virtualização
DefiniçãoVirtualização é a criação de uma versão virtual de recursos comoum sistema operacional, um servidor, um dispositivo dearmazenamento, recursos de rede, etc.
Aplic. Aplic. Aplic.
Sistema Operacional
Hardware
Aplic. Aplic. Aplic.
Sistema Operacional
Hypervisor
Hardware
Pilha de Execução Tradicional Pilha de Execução Virtualizada
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 28 / 111
Introdução a Computação em Nuvem
Tipos principais de virtualização de hardware:
Virtualização completa: simulação quase completa dohardware, permite a execução de um sistema operacionalhóspede (guest) sem que esse precise ser modificado.Exemplos: Parallels Workstation, VirtualBox, Oracle VM,Virtual PC, Virtual Server, VMware Workstation, QEMU, etc.Virtualização assistida pelo hardware: o hardware provêfuncionalidades que facilitam a execução de um monitor demáquinas virtuais e permite a execução isolada de SOshóspedes. 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 – Belém/PA – maio de 2013 29 / 111
Introdução a Computação em Nuvem
Tipos principais de virtualização de hardware:
Virtualização parcial: máquinas virtuais simulam múltiplasinstâncias do hardware através de espaços de endereçamentode memória simulados.Para-virtualização: a máquina virtual não necessariamentesimula o hardware, apenas provê uma API que pode ser usadopor um SO hóspede (modificado) para notificar mudanças quepodem alterar o estado do hardware. Exemplos: Xen, IBMLPARs, Sun’s Logical Domains, z/VM, and TRANGO.
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 30 / 111
Introdução a Computação em Nuvem
Usos de virtualização
Consolidação de servidores (reduz CapEx/OpEx)Alta disponibilidade / recuperação de desastresOtimização de infraestrutura (permite planejamento preditivode recursos)Mobilidade (migrações) e segurança (isolamento)Infraestrutura inteligente (recursos sob demanda)Aplicações “prontas para executar” (deploy facilitado)etc.
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 31 / 111
Introdução a Computação em Nuvem
“If computers of the kind I have advocated become thecomputers of the future, then computing may someday beorganized as a public utility just as the telephone systemis a public utility (...) The computer utility could becomethe basis of a new and important industry.”
— John McCarthy, discurso no MIT Centennial em 1961
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 32 / 111
Introdução a Computação em Nuvem
Computação Utilitária
O que é?
Recursos de computação oferecidos como um serviço ondevocê paga pelo o que usaHabilidade de aprovisionar dinamicamente máquinas (virtuais)
Por quê?
Custo: despesas de capital vs. despesas de operaçãoEscalabilidade: capacidade “infinita”Elasticidade: aumentar ou diminuir o poder de processamento
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 33 / 111
Introdução a Computação em Nuvem
O que é Computação em Nuvem?
http://geek-and-poke.com/2008/05/simply-explaine.html
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 34 / 111
Introdução a Computação em Nuvem
Origem do termo “Computação em Nuvem”
Segundo a Wikipedia:A origem do termo Computação em Nuvem é obscura, o termoparece ter sido derivado do uso de uma nuvem estilizada emdiagramas de redes de computadores e sistemas de comunicação. Apalavra “nuvem” é usada como uma metáfora para a Internet (...)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 35 / 111
Introdução a Computação em Nuvem
Mas o que é Computação em Nuvem?
O termo refere-se ao mesmo a dois conceitos distintos:
aplicações disponibilizadas como serviços via Internethardware e sistemas de software em data centers que proveemesses serviços
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 36 / 111
Introdução a Computação em Nuvem
Classificação em serviços
A forma como as aplicações e hardware são disponibilizadas para osusuários é utilizada para classificar as plataformas de Computaçãoem Nuvem como:
Software as a Service (SaaS)as aplicações que rodam no navegador são oferecidas como umserviço
Platform as a Service (PaaS)a plataforma de desenvolvimento e execução para a criação deaplicações é oferecida como um serviço
Infrastructure as a Service (IaaS)A infraestrutura de hardware é oferecida como um serviço
XaaS, a lista não para de crescer
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 37 / 111
Introdução a Computação em Nuvem
Software como um serviço (SaaS)
Surgiu por volta de 1999 (Salesforce.com)Aplicações são licenciadas como um serviço sob demandaModelo de distribuição do serviço:
o aplicativo roda diretamente nos servidores do fornecedoro aplicativo é instalado em um dispositivo do cliente edesabilitado quando o contrato termina
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 38 / 111
Introdução a Computação em Nuvem
Software como um serviço (SaaS)
Configuração e personalização: a mesma aplicação geralmentefuncionalidades e look-and-feel diferentes para cada usuárioMulti-tenant efficient: uso de um mesmo servidor para vários“locatários” (tenants), sem diferenças aparentes para osusuáriosEscalabilidade: basta fazer o balanceamento de carga entre asinstâncias dos usuários
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 39 / 111
Introdução a Computação em Nuvem
Software como um serviço (SaaS)
Atualizações frequentes: aplicações SaaS são atualizadas commais frequência:
as aplicações são hospedadas em um único local, o que evitaque os clientes tenham que instalar as novas versõesa aplicação roda sempre em um ambiente conhecido, o quefacilita a fase de testeso fornecedor tem acesso a todos os dados dos clientes, o queacelera os testes de regressãoo fornecedor tem acesso a dados de usabilidade das aplicações(via web analytics), o que permite detectar as funcionalidadesque precisam de melhorias
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 40 / 111
Introdução a Computação em Nuvem
Exemplos de aplicações oferecidas como SaaS:
CRM (Customer Relationship Management)e-maildesktops virtuaisjogosetc.
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 41 / 111
Introdução a Computação em Nuvem
Exemplos de provedores de SaaS:
Google Apps (GMail, Drive, Calendar, Talk, etc.)iCloudsalesforce.comBasecampMicrosoft Office 365etc.
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 42 / 111
Introdução a Computação em Nuvem
Plataforma como um serviço (PaaS)
Plataforma de computação integrada (para desenvolver /testar / implantar novas aplicações) a um conjunto desoluções, disponibilizada como um serviçoPermite que uma aplicação seja implantada e distribuída semque seja preciso se preocupar com as camadas de hardware esoftware necessáriasTipicamente inclui serviços de armazenamento de dados,middleware, desenvolvimento, monitoramento, segurança, etc.
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 43 / 111
Introdução a Computação em Nuvem
Plataforma como um serviço (PaaS)
Vantagens:
capacidade de provisionamento de novos servidores quase queem tempo realambiente de execução otimizado para a plataformamodelo arquitetural padronizado para as aplicações
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 44 / 111
Introdução a Computação em Nuvem
Plataforma como um serviço (PaaS)
Exemplos serviços fornecidos como plataformas:
Arcabouços de execuçãoGerenciadores de bancos de dadosServidores WebFerramentas de desenvolvimentoetc.
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 45 / 111
Introdução a Computação em Nuvem
Plataforma como um serviço (PaaS)
Provedores de PaaS:
Google AppEngineHerokuEngineYardForce.comWindows Azure Cloud ServicesOracle Platform as a Service
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 46 / 111
Introdução a Computação em Nuvem
Infraestrutura como um serviço (IaaS)
Oferecimento de infraestrutura computacional (tipicamenteatravés de um ambiente virtualizado) como um serviçoRecursos disponibilizados:
ServidoresSoftwareEspaço no data centerEquipamentos de rede
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 47 / 111
Introdução a Computação em Nuvem
Infraestrutura como um serviço (IaaS)
Virtualização é a tecnologia fundamental que permitiu acriação de provedores de IaaSGraças a virtualização é possível:
garantir altas taxas de utilização dos servidores do data centerpermitir a execução de qualquer sistema operacional hóspedea criação de novas instâncias de servidores pré-configurados (apartir de uma imagem de máquina virtual). Uma novainstância pode ser adicionada em poucos minutos
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 48 / 111
Introdução a Computação em Nuvem
Exemplos:
Amazon EC2Windows AzureRackspace CloudGoogle Compute Engine
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 49 / 111
Introdução a Computação em Nuvem
Por que usar Computação em Nuvem?
Aplicações em grande escala para processamento de muitosdadosFlexibilidadeEscalabilidadeAdequação as necessidades atuais:
hardwaresoftware
Consequências:custos reduzidosmenos tempo de manutençãoalta disponibilidademenos emissões de carbono
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 50 / 111
Introdução a Computação em Nuvem
Por que usar Computação em Nuvem?
Flexibilidade
Software: permite que seu software seja usado a partir dequalquer plataformaAcesso: permite acesso aos recursos a partir de qualquercomputador conectado a InternetInfraestrutura de implantação adaptável:
Software controla a infraestrutura
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 51 / 111
Introdução a Computação em Nuvem
Por que usar Computação em Nuvem?
Escalabilidade
InstantâneaControle via software:
Adiciona / remove / reconstrói recursos instantaneamente(elasticidade)
Eliminação do comprometimento inicial com o número derecursos necessários ($$$): permite que empresas comecemcom um número modesto de recursos e aumente conformenecessárioIlusão de um número infinito de recursos computacionais
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 52 / 111
Introdução a Computação em Nuvem
Causo
Quando a Animoto1 tornou seu serviço disponível no Facebook,houve uma explosão na demanda que exigiu que o número deservidores fosse aumentado de 50 para 3.500 em três dias. Apósesse pico de utilização, o tráfego caiu para um nível muito menordo que o pico.
Se fosse uma companhia tradicional, o que teria acontecido?Com Computação em Nuvem: pague mais durante os picos,devolva os recursos desnecessários depois
1A Animoto é uma startup que oferece uma aplicação web que produzvídeos a partir de fotos, videoclipes e música.
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 53 / 111
Introdução a Computação em Nuvem
Evolução do número de instâncias EC2 usadas pela Animoto
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 54 / 111
Introdução a Computação em Nuvem
Por que usar Computação em Nuvem?
Personalização
Plataforma de softwareArmazenamentoLargura de banda de redeVelocidade...
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 55 / 111
Introdução a Computação em Nuvem
Por que usar Computação em Nuvem?
Custo
Pague a medida que usarPequenas/médias empresas podem competir com ainfraestrutura de grandes corporações
time to service / marketsem custo inicial
Permite reduzir o tamanho do departamento de TI do cliente
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 56 / 111
Introdução a Computação em Nuvem
Por que usar Computação em Nuvem?
Manutenção
É inteira responsabilidade do provedor do serviçoEssas responsabilidades incluem:
Atualizações de softwareAtualizações de segurançaMonitoramento do estado do sistemaBackup do sistemaetc.
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 57 / 111
Introdução a Computação em Nuvem
Por que usar Computação em Nuvem?
Utilização
Consolidação de uma grande quantidade de recursos:ciclos de CPUarmazenamentolargura de banda de rede
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 58 / 111
Introdução a Computação em Nuvem
Por que usar Computação em Nuvem?
Disponibilidade
Acesso ao software, plataforma, infraestrutura de qualquerlugar, a qualquer horaBasta acesso a Internet
Confiabilidade
A tolerância a falha do sistema é gerenciada pelo provedor deComputação em Nuvem e os usuários não precisam sepreocupar com isso
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 59 / 111
Introdução a Computação em Nuvem
Por que usar Computação em Nuvem?
Emissão de CO2
Consolidação dos servidoresMaiores taxas de utilizaçãoConsumo de energia reduzido
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 60 / 111
Introdução a Computação em Nuvem
Desafios e oportunidades de Computação em Nuvem
Disponibilidade do serviço: use múltiplos provedores; use aelasticidade para se proteger de ataques DDOSData lock-in: APIs padronizadasConfidencialidade dos dados e auditabilidade: empregarcriptografia, VLANs, firewalls, armazenamento de dados emdiferentes localidadesGargalos na transferência dos dados: envio de discos pelosCorreios; backup/arquivamentoImprevisibilidade do desempenho: melhorias na tecnologiade máquinas virtuais; uso de memória flash; melhorias noescalonamento das máquinas virtuais
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 61 / 111
Introdução a Computação em Nuvem
Desafios e oportunidades de Computação em Nuvem
Disponibilidade do serviço: use múltiplos provedores; use aelasticidade para se proteger de ataques DDOSData lock-in: APIs padronizadasConfidencialidade dos dados e auditabilidade: empregarcriptografia, VLANs, firewalls, armazenamento de dados emdiferentes localidadesGargalos na transferência dos dados: envio de discos pelosCorreios; backup/arquivamentoImprevisibilidade do desempenho: melhorias na tecnologiade máquinas virtuais; uso de memória flash; melhorias noescalonamento das máquinas virtuais
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 61 / 111
Introdução a Computação em Nuvem
Desafios e oportunidades de Computação em Nuvem
Disponibilidade do serviço: use múltiplos provedores; use aelasticidade para se proteger de ataques DDOSData lock-in: APIs padronizadasConfidencialidade dos dados e auditabilidade: empregarcriptografia, VLANs, firewalls, armazenamento de dados emdiferentes localidadesGargalos na transferência dos dados: envio de discos pelosCorreios; backup/arquivamentoImprevisibilidade do desempenho: melhorias na tecnologiade máquinas virtuais; uso de memória flash; melhorias noescalonamento das máquinas virtuais
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 61 / 111
Introdução a Computação em Nuvem
Desafios e oportunidades de Computação em Nuvem
Disponibilidade do serviço: use múltiplos provedores; use aelasticidade para se proteger de ataques DDOSData lock-in: APIs padronizadasConfidencialidade dos dados e auditabilidade: empregarcriptografia, VLANs, firewalls, armazenamento de dados emdiferentes localidadesGargalos na transferência dos dados: envio de discos pelosCorreios; backup/arquivamentoImprevisibilidade do desempenho: melhorias na tecnologiade máquinas virtuais; uso de memória flash; melhorias noescalonamento das máquinas virtuais
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 61 / 111
Introdução a Computação em Nuvem
Desafios e oportunidades de Computação em Nuvem
Disponibilidade do serviço: use múltiplos provedores; use aelasticidade para se proteger de ataques DDOSData lock-in: APIs padronizadasConfidencialidade dos dados e auditabilidade: empregarcriptografia, VLANs, firewalls, armazenamento de dados emdiferentes localidadesGargalos na transferência dos dados: envio de discos pelosCorreios; backup/arquivamentoImprevisibilidade do desempenho: melhorias na tecnologiade máquinas virtuais; uso de memória flash; melhorias noescalonamento das máquinas virtuais
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 61 / 111
Introdução a Computação em Nuvem
Desafios e oportunidades de Computação em Nuvem
Armazenamento escalável: inventar uma tecnologia dearmazenamento escalávelBugs em sistemas distribuídos grandes: inventar umdepurador que utiliza as máquinas virtuais distribuídasEscalabilidade mais rápida: inventar um escalonadorautomático baseado em aprendizado computacionalLicenciamento de software: licenças que cobram pelo uso
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 62 / 111
Introdução a Computação em Nuvem
Desafios e oportunidades de Computação em Nuvem
Armazenamento escalável: inventar uma tecnologia dearmazenamento escalávelBugs em sistemas distribuídos grandes: inventar umdepurador que utiliza as máquinas virtuais distribuídasEscalabilidade mais rápida: inventar um escalonadorautomático baseado em aprendizado computacionalLicenciamento de software: licenças que cobram pelo uso
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 62 / 111
Introdução a Computação em Nuvem
Desafios e oportunidades de Computação em Nuvem
Armazenamento escalável: inventar uma tecnologia dearmazenamento escalávelBugs em sistemas distribuídos grandes: inventar umdepurador que utiliza as máquinas virtuais distribuídasEscalabilidade mais rápida: inventar um escalonadorautomático baseado em aprendizado computacionalLicenciamento de software: licenças que cobram pelo uso
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 62 / 111
Introdução a Computação em Nuvem
Desafios e oportunidades de Computação em Nuvem
Armazenamento escalável: inventar uma tecnologia dearmazenamento escalávelBugs em sistemas distribuídos grandes: inventar umdepurador que utiliza as máquinas virtuais distribuídasEscalabilidade mais rápida: inventar um escalonadorautomático baseado em aprendizado computacionalLicenciamento de software: licenças que cobram pelo uso
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 62 / 111
Introdução a Computação em Nuvem
Modelos de implantação
Nuvem Privada a infraestrutura é provisionada para uso exclusivode uma única organização com vários usuários
Nuvem Comunitária a infraestrutura é provisionada para um grupode organizações com interesses em comum
Nuvem Pública a infraestrutura é provisionada para uso pelopúblico em geral. O provedor pode ser uma empresa,universidade, organização governamental, etc.
Nuvem Híbrida a infraestrutura é uma composição de dois ou maistipos infraestrutura (privada, pública ou comunitária)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 63 / 111
Introdução a Computação em Nuvem
Modelos de implantação
Nuvem Privada a infraestrutura é provisionada para uso exclusivode uma única organização com vários usuários
Nuvem Comunitária a infraestrutura é provisionada para um grupode organizações com interesses em comum
Nuvem Pública a infraestrutura é provisionada para uso pelopúblico em geral. O provedor pode ser uma empresa,universidade, organização governamental, etc.
Nuvem Híbrida a infraestrutura é uma composição de dois ou maistipos infraestrutura (privada, pública ou comunitária)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 63 / 111
Introdução a Computação em Nuvem
Modelos de implantação
Nuvem Privada a infraestrutura é provisionada para uso exclusivode uma única organização com vários usuários
Nuvem Comunitária a infraestrutura é provisionada para um grupode organizações com interesses em comum
Nuvem Pública a infraestrutura é provisionada para uso pelopúblico em geral. O provedor pode ser uma empresa,universidade, organização governamental, etc.
Nuvem Híbrida a infraestrutura é uma composição de dois ou maistipos infraestrutura (privada, pública ou comunitária)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 63 / 111
Introdução a Computação em Nuvem
Modelos de implantação
Nuvem Privada a infraestrutura é provisionada para uso exclusivode uma única organização com vários usuários
Nuvem Comunitária a infraestrutura é provisionada para um grupode organizações com interesses em comum
Nuvem Pública a infraestrutura é provisionada para uso pelopúblico em geral. O provedor pode ser uma empresa,universidade, organização governamental, etc.
Nuvem Híbrida a infraestrutura é uma composição de dois ou maistipos infraestrutura (privada, pública ou comunitária)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 63 / 111
Introdução a Computação em Nuvem
Com tantas vantagens
Por que agora é o momento daComputação em Nuvem?
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 64 / 111
Introdução a Computação em Nuvem
Vantagens para os provedores
Dinheirograndes compras (> 10.000 unidades) permitem negociarpreços de equipamento 5–7 vezes mais baratos que em umacompra média (100–1.000)multiplexação de recursos
Alavancar investimentos em outros negócioscompanhias podem já possuir nuvens privadas para outros fins
Defender uma marcamigrar clientes atuais para uma plataforma de Computação emNuvem
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 65 / 111
Introdução a Computação em Nuvem
Vantagens para os provedores
Posicionamento estratégico (atacar o “inimigo”)Google vs. Microsoft
Melhorar a relação com os clientesEx: IBMpreservar relações ao oferecer um serviço de Computação emNuvem de marca
Se tornar uma nova plataforma: mais clientes = mais $
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 66 / 111
Introdução a Computação em Nuvem
E para os usuários, por que agora?
Novo modelo de negócios: pague a medida que usarem 2000–2001 a Intel lançou o Intel Computing Service, queexigia um contrato de longa duração. Falhou.clientes não gostam de se comprometer
Novas aplicaçõesAplicações móveis interativasProcessamento paralelo em batch: muitos dadosBusiness analyticsAplicações desktop com computação intensa (ex: Matlab eMathematica)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 67 / 111
Introdução a Computação em Nuvem
Provedores de plataformas deComputação em Nuvem
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 68 / 111
Introdução a Computação em Nuvem
Alguns exemplos de plataformas disponíveis 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 Azurehttp://www.windowsazure.com/
UOL Cloudhttp://uol.com.br/cloud
Cloud Locawebhttp://locaweb.com.br/nasnuvens
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 69 / 111
Introdução a Computação em Nuvem
Amazon Web Services
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 70 / 111
Introdução a Computação em Nuvem
Amazon Web Services (AWS)
Amazon.com? Aquela loja que vende livros?2002: Amazon começou a oferecer serviços para outros sitesatravés de protocols como HTTP, REST e SOAP. Os serviçoseram cobrados pelo uso2004: alguns engenheiros da Amazon apresentaram um artigoonde explicavam como usar a infraestrutura da lojaAmazon.com. Nasce o Amazon EC22007: Amazon divulga que mais de 330.000 desenvolvedores seinscreveram para usar a Amazon Web Services
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 71 / 111
Introdução a Computação em Nuvem
Amazon Web Services (AWS)
Amazon.com? Aquela loja que vende livros?2002: Amazon começou a oferecer serviços para outros sitesatravés de protocols como HTTP, REST e SOAP. Os serviçoseram cobrados pelo uso2004: alguns engenheiros da Amazon apresentaram um artigoonde explicavam como usar a infraestrutura da lojaAmazon.com. Nasce o Amazon EC22007: Amazon divulga que mais de 330.000 desenvolvedores seinscreveram para usar a Amazon Web Services
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 71 / 111
Introdução a Computação em Nuvem
Amazon Web Services (AWS)
Amazon.com? Aquela loja que vende livros?2002: Amazon começou a oferecer serviços para outros sitesatravés de protocols como HTTP, REST e SOAP. Os serviçoseram cobrados pelo uso2004: alguns engenheiros da Amazon apresentaram um artigoonde explicavam como usar a infraestrutura da lojaAmazon.com. Nasce o Amazon EC22007: Amazon divulga que mais de 330.000 desenvolvedores seinscreveram para usar a Amazon Web Services
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 71 / 111
Introdução a Computação em Nuvem
Amazon Web Services (AWS)
Amazon.com? Aquela loja que vende livros?2002: Amazon começou a oferecer serviços para outros sitesatravés de protocols como HTTP, REST e SOAP. Os serviçoseram cobrados pelo uso2004: alguns engenheiros da Amazon apresentaram um artigoonde explicavam como usar a infraestrutura da lojaAmazon.com. Nasce o Amazon EC22007: Amazon divulga que mais de 330.000 desenvolvedores seinscreveram para usar a Amazon Web Services
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 71 / 111
Introdução a Computação em Nuvem
Alguns produtos que usam o AWS
InstagramfoursquareNetflixDropboxHerokuPinteresttumblretc.
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 72 / 111
Introdução a Computação em Nuvem
Algumas empresas que confiam no AWS
SamsungShellThe New York TimesTicketmasterNasaUnileverNasdaqetc.
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 73 / 111
Introdução a Computação em Nuvem
Muitos brasileiros já usam
O acesso às plataformas de Computação em Nuvem não sãoexclusividade das empresas estrangeiras.
Portal TerraSulAméricaGrupo Pão de AçúcarGolPeixe UrbanoR7Caelumetc.
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 74 / 111
Introdução a Computação em Nuvem
Infraestrutura Global do AWS
Em dez/2011 a Amazon disponibilizou o primeiro data center naAmérica Latina, aqui no Brasil (em São Paulo).
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 75 / 111
Introdução a Computação em Nuvem
Regiões e zonas de disponibilidade
RegiõesData centers espalhados geograficamente em diversas localidades:
EUA Leste (Virginia)EUA Oeste (Oregon)EUA Oeste (Califórnia)Europa (Irlanda)Ásia (Singapura)Ásia (Tóquio)América do Sul (São Paulo)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 76 / 111
Introdução a Computação em Nuvem
Regiões e zonas de disponibilidadeZonas de disponibilidadeZonas de disponibilidade são áreas separadas dentro de uma regiãoque foram arquitetadas para que falhas em uma zona não afetem osserviços de outra zona. A conexão entre duas zonas de uma mesmaregião é rápida.
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 77 / 111
Introdução a Computação em Nuvem
Que tipos de aplicação essas empresas rodam usandoComputação em Nuvem?
Aplicações de negócio Shell, Nasdaq, Gol, etc.Aplicações web Grupo Pão de Açúcar, Samsung, etc.BigData e HPC Unilever, Ticketmaster, etc.Recuperação de desastres Hitachi, Amazon.com, etc.
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 78 / 111
Introdução a Computação em Nuvem
O que os analistas dizem?
the 451 group AWS é o líder de market share de IaaS (59%)Gartner líder em 2011 do Gartner IaaS Magic Quadrant
Forrester líder em 2011 do Forrester Hadoop Wave
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 79 / 111
Introdução a Computação em Nuvem
Visão geral dos serviços
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 80 / 111
Introdução a Computação em Nuvem
Amazon Simple Storage Service (S3)
Armazenamento para a web. Sempre online, acesso via HTTPArmazena e distribui qualquer quantidade de dados, a qualquermomento, para qualquer lugar da webEscalável, confiável, rápido e durável. Planejado paradurabilidade de 99,999999999% durante um ano (ou seja,0,000000001% dos objetos podem ser perdidos durante umano devido a falhas)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 81 / 111
Introdução a Computação em Nuvem
Crescimento do Amazon S3
Aumento no número de objetos armazenados na Amazon S3 aolongo dos anos:
2006 2,9 bilhões2007 14 bilhões2008 40 bilhões2009 102 bilhões2010 262 bilhões2011 762 bilhões
jun/2012 1 trilhão
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 82 / 111
Introdução a Computação em Nuvem
Amazon Elastic Block Service (EBS)
Volumes para uso com instâncias do EC2Você o cria e anexa a instância como um disco rígidoPersiste independente da instânciaSnapshots para backup podem ser armazenados no S3
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 83 / 111
Introdução a Computação em Nuvem
AWS Import/Export
Acelera a transferência de dados para dentro e para fora doAmazon S3 ou do Amazon EBSTransfere dados diretamente de dispositivos dearmazenamento físicosUsa a rede de alta velocidade interna da Amazon
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 84 / 111
Introdução a Computação em Nuvem
Amazon Elastic Compute Cloud (EC2)
Solução de IaaS da AmazonCapacidade computacional de tamanho ajustávelControle completo de seus servidoresReduz o tempo necessário para obter novos servidores paraordem de minutosEscala 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 – Belém/PA – maio de 2013 85 / 111
Introdução a Computação em Nuvem
Amazon Elastic Compute Cloud (EC2)
Solução de IaaS da AmazonCapacidade computacional de tamanho ajustávelControle completo de seus servidoresReduz o tempo necessário para obter novos servidores paraordem de minutosEscala 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 – Belém/PA – maio de 2013 85 / 111
Introdução a Computação em Nuvem
Amazon Elastic Compute Cloud (EC2)
Solução de IaaS da AmazonCapacidade computacional de tamanho ajustávelControle completo de seus servidoresReduz o tempo necessário para obter novos servidores paraordem de minutosEscala 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 – Belém/PA – maio de 2013 85 / 111
Introdução a Computação em Nuvem
Amazon Elastic Compute Cloud (EC2)
Solução de IaaS da AmazonCapacidade computacional de tamanho ajustávelControle completo de seus servidoresReduz o tempo necessário para obter novos servidores paraordem de minutosEscala 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 – Belém/PA – maio de 2013 85 / 111
Introdução a Computação em Nuvem
Amazon Elastic Compute Cloud (EC2)
Solução de IaaS da AmazonCapacidade computacional de tamanho ajustávelControle completo de seus servidoresReduz o tempo necessário para obter novos servidores paraordem de minutosEscala 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 – Belém/PA – maio de 2013 85 / 111
Introdução a Computação em Nuvem
Amazon Elastic Compute Cloud (EC2)
Solução de IaaS da AmazonCapacidade computacional de tamanho ajustávelControle completo de seus servidoresReduz o tempo necessário para obter novos servidores paraordem de minutosEscala 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 – Belém/PA – maio de 2013 85 / 111
Introdução a Computação em Nuvem
Tipos de instâncias disponíveis
A Amazon disponibiliza diferentes tipos de computadoresCada tipo provê uma capacidade computacional diferenteAs instâncias são cobradas por hora de execuçãoCabe ao desenvolvedor escolher qual instância oferece omelhor custo-benefício para a aplicaçãoO poder computacional é definido em termos de unidadescomputacionais EC2: 1 unidade ' 1,0 – 1,2 GHz.
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 86 / 111
Introdução a Computação em Nuvem
Tipos de instâncias disponíveis
Instâncias padrãoInstância pequena:
Memória de 1,7 GB1 unidade computacional EC2 (1 núcleo virtual com 1 unidadecomputacional EC2)Armazenamento de instâncias de 160 GBPlataforma de 32 ou 64 bitsDesempenho de E/S: moderadoOtimizada para EBS disponível: nãoNome da API: m1.small
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 87 / 111
Introdução a Computação em Nuvem
Tipos de instâncias disponíveis
Instâncias padrãoInstância média:
Memória de 3,75 GB2 unidades de processamento EC2 (2 núcleos virtuais com 1unidade de processamento EC2)Armazenamento de instâncias de 410 GBPlataforma de 32 ou 64 bitsDesempenho de E/S: moderadoOtimizada para EBS disponível: nãoNome da API: m1.medium
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 87 / 111
Introdução a Computação em Nuvem
Tipos de instâncias disponíveis
Instâncias padrãoInstância grande:
Memória de 7,5 GB4 unidades de processamento EC2 (2 núcleos virtuais com 2unidades de processamento EC2 cada)Armazenamento de instâncias de 850 GBPlataforma de 64 bitsDesempenho de E/S: altoOtimizada para EBS disponível: 500 MbpsNome da API: m1.large
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 87 / 111
Introdução a Computação em Nuvem
Tipos de instâncias disponíveis
Instâncias padrãoInstância extra-grande:
Memória de 15 GB8 unidades de processamento EC2 (4 núcleos virtuais com 2unidades de processamento EC2 cada)Armazenamento de instâncias de 1.690 GBPlataforma de 64 bitsDesempenho de E/S: altoOtimizada para EBS disponível: 1000 MbpsNome da API: m1.xlarge
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 87 / 111
Introdução a Computação em Nuvem
Outros tipos de instâncias
Micro pequena quantidade de recursos (até 2 unidades EC2e memória de 613 MB)
de mais memória grandes tamanhos de memória para aplicações dealta taxa de transferência, incluindo banco de dados eaplicativos de cache de memória. (17, 34 e 68 GB dememória)
de CPUs de alto desempenho 5 a 20 unidades de processamentode Clusters de Computação CPU de alto desempenho interligadas
por rede de alto desempenhode Cluster GPU CPU de alto desempenho com 2 x GPUs NVIDIA
Tesla “Fermi” M2050
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 88 / 111
Introdução a Computação em Nuvem
Preço do EC2 em SP (outubro/2012)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 89 / 111
Introdução a Computação em Nuvem
Preços do EC2 nos EUA (outubro/2012)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 90 / 111
Introdução a Computação em Nuvem
Instâncias Spot
Permitem negociar a parte não usada da infraestrutura do EC2Você diz o quanto quer pagar no máximo por uma instância dedeterminado tipoPreços das instâncias são redefinidos periodicamente, variandocom a oferta e demanda por capacidadeSe o preço atual for menor que o preço máximo definido, vocêrecebe uma instância e paga só pelo preço atual (normalmentemenor do que o preço máximo)Você usa a instância até que opte por terminá-la ou até que opreço atual ultrapasse o preço máximo definido
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 91 / 111
Introdução a Computação em Nuvem
Como preparar sua instância?
Criando sua própria imagem de um sistema operacional (maisdifícil, porém mais flexível)Usando uma Amazon Machine Image, imagens de SOspré-configuradas e prontas para uso
UbuntuRed HatWindowsCent OSOracle LinuxOpenSolarisFedoraGentooOpenSUSEDebianetc.
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 92 / 111
Introdução a Computação em Nuvem
Top 500
A lista Top 500 elenca os 500 supercomputadores mais rápidosdo mundo1.064 instâncias do EC2 foram usadas para criar umsupercomputador com 17.024 cores240 teraflops de velocidade (240 trilhões de operações porsegundo)Esse supercomputador é o 72o computador mais rápido domundo 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 – Belém/PA – maio de 2013 93 / 111
Introdução a Computação em Nuvem
Top 500
A lista Top 500 elenca os 500 supercomputadores mais rápidosdo mundo1.064 instâncias do EC2 foram usadas para criar umsupercomputador com 17.024 cores240 teraflops de velocidade (240 trilhões de operações porsegundo)Esse supercomputador é o 72o computador mais rápido domundo 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 – Belém/PA – maio de 2013 93 / 111
Introdução a Computação em Nuvem
Top 500
A lista Top 500 elenca os 500 supercomputadores mais rápidosdo mundo1.064 instâncias do EC2 foram usadas para criar umsupercomputador com 17.024 cores240 teraflops de velocidade (240 trilhões de operações porsegundo)Esse supercomputador é o 72o computador mais rápido domundo 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 – Belém/PA – maio de 2013 93 / 111
Introdução a Computação em Nuvem
Top 500
A lista Top 500 elenca os 500 supercomputadores mais rápidosdo mundo1.064 instâncias do EC2 foram usadas para criar umsupercomputador com 17.024 cores240 teraflops de velocidade (240 trilhões de operações porsegundo)Esse supercomputador é o 72o computador mais rápido domundo 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 – Belém/PA – maio de 2013 93 / 111
Introdução a Computação em Nuvem
Top 500
A lista Top 500 elenca os 500 supercomputadores mais rápidosdo mundo1.064 instâncias do EC2 foram usadas para criar umsupercomputador com 17.024 cores240 teraflops de velocidade (240 trilhões de operações porsegundo)Esse supercomputador é o 72o computador mais rápido domundo 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 – Belém/PA – maio de 2013 93 / 111
Introdução a Computação em Nuvem
Amazon Elastic MapReduce (Amazon EMR)
Permite processar um conjunto vasto de dados com uma boarelação custo-benefícioInternamente utiliza o arcabouço Hadoop
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 94 / 111
Introdução a Computação em Nuvem
Auto Scaling
Permite ajudar a capacidade dos seus servidores EC2automaticamenteÚtil para aplicações que possuem grande variabilidade nonúmero de usuáriosDisponível sem custo adicionalMuito útil, mas cuidado com imprevisibilidade dos custos (quetambém irão variar automaticamente)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 95 / 111
Introdução a Computação em Nuvem
Elastic Load Balancing
Oferece roteamento e balanceamento de carga de conexõesHTTP, HTTPS e TCP para instâncias EC2Verifica periodicamente a “saúde” das instâncias, para detectare remover instâncias que estejam com problemasAumenta e diminui dinamicamente o número de recursosbaseados nos padrões de acessoIntegrado com o auto-scaling para aumentar e diminuir onúmero de instâncias baseado nas medições de escalabilidadeda aplicaçãoTodos os recursos são acessados através de um único ponto deentrada (um único CNAME nas configurações do DNS)
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 96 / 111
Introdução a Computação em Nuvem
Amazon DynamoDB
Serviço de banco de dados NoSQLNão limita a quantidade de dados que pode ser armazenadaPermite provisionar e definir qual a capacidade que cada tabelapossui de atender consultasFoco no throughput e não na quantidade de armazenamentoIntegrado ao serviço de Elastic MapReduce
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 97 / 111
Introdução a Computação em Nuvem
Amazon SimpleDB
Implementa apenas as operações básicas de indexação dedados e consultasNão possui schema, indexação ocorre automaticamenteCria e gerencia várias réplicas distribuídas geograficamenteElimina a sobrecarga administrativa de modelagem dos dados,manutenção dos índices e ajustes de desempenho
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 98 / 111
Introdução a Computação em Nuvem
Bancos de dados NoSQLUm parênteses sobre NoSQLBancos de dados NoSQL (not only SQL) são uma classe desistemas gerenciadores de bancos de dados que se distinguem pornão seguirem o modelo de dados relacional.
Características gerais:
Otimizados para operações de consultas e adição (append)As funcionalidades em geral se limitam ao armazenamento deregistros (pares chave-valor)Não usam SQL para as consultasNão garantem as propriedades ACID (Atomicidade,Consistência, Isolamento e Durabilidade)Proveem uma arquitetura distribuída tolerante a falhas
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 99 / 111
Introdução a Computação em Nuvem
Amazon Relational Database Service (RDS)
Provê acesso a instâncias de bancos de dados tradicionais:MySQL, Oracle ou SQL ServerEsconde todo o trabalho de administração do banco de dados(configuração, atualizações de segurança, backup, etc.)Oferece bom custo-benefício e capacidade deredimensionamentoPermite que você implante as aplicações que você já usa hoje,sem grandes dores de cabeça com o BD
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 100 / 111
Introdução a Computação em Nuvem
Amazon ElastiCache
Cluster para cache que segue a arquitetura do MemcachedGerencia tarefas de patching, detecção de falhas em nós decache e recuperação desses nósSimples chamadas a uma API permitem aumentar ou diminuiro tamanho do cluster de cacheIntegra-se facilmente a instâncias do SimpleDB e do RDS
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 101 / 111
Introdução a Computação em Nuvem
Amazon CloudFront
Serviço web para distribuição de conteúdoDistribua conteúdo para usuários com baixa latência e altavelocidade de transferência de dadosDistribui seu conteúdo usando uma rede global de nósPermite downloads, streaming e live streaming com o AdobeFlash Media Server.
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 102 / 111
Introdução a Computação em Nuvem
Amazon Simple Workflow Service (SWF)
Roda aplicações especificadas por workflows e processos denegócio no AWSGerencia aplicações que estão na plataforma do SWF,aplicações móveis e mesmo aplicações in-loco (que acessam aAmazon para solicitar tarefas)Funciona com qualquer linguagem de programação
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 103 / 111
Introdução a Computação em Nuvem
Amazon CloudSearch
Serviço de busca gerenciado pela AmazonPermite integrar um serviço de busca rápido e escalável emqualquer aplicaçãoEscalabilidade automática: se adapta ao aumento daquantidade de dados indexados ou ao aumento da quantidadede buscasAWS gerencia o provisionamento de recursos, particionamentodos dados e atualizações de software
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 104 / 111
Introdução a Computação em Nuvem
Amazon Simple Notification Service (SNS)
Facilita a configuração, a operação e o envio de notificaçõesPublica mensagens geradas por uma aplicação e a envia para“assinantes” ou outras aplicaçõesMensagens podem ser enviadas usando diferentes protocolos(HTTP, e-mail, etc.).Usa um mecanismo “push” que elimina a necessidade deverificação periódica ou “poll” para novas informações eatualizações.
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 105 / 111
Introdução a Computação em Nuvem
Amazon Simple Queue Service (SQS)
Provê um serviço de filas escalável e confiável para oarmazenamento de mensagensMove dados entre componentes distribuídos de uma aplicação
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 106 / 111
Introdução a Computação em Nuvem
Amazon Simple Email Service (Amazon SES)
Serviço de envio de e-mails (em lote) transacionaisElimina os problemas com o gerenciamento de servidores dee-mails, configurações de rede e padrões (rigorosos) dosservidores de acesso a InternetProvê um sistema de feedback, incluindo notificações sobree-mails que não foram entregues, dados sobre as tentativas deentrega e reclamações sobre spam
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 107 / 111
Introdução a Computação em Nuvem
AWS Elastic BeanstalkPaaS da AmazonAutomaticamente gerencia a implantação, provisionamento,balanceamento de carga, auto-scaling e monitoramento dostatus do sistemaExecuta e gerencia aplicações escritas em PHP, .NET, Java ePythonControla todos os serviços do AWS necessários para aaplicaçãoPorém, o usuário continua com o controle sobre ainfraestrutura e sobre o softwarePossui ferramenta de desenvolvimento integrada ao VisualStudio e ao EclipseNão há cobrança pelo uso do serviço, só pelos recursosutilizados
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 108 / 111
Introdução a Computação em Nuvem
Amazon CloudWatch
Permite visualizar a utilização dos recursos, desempenhooperacional, e padrões de utilização dos serviçosAs métricas incluem uso de CPU, leituras e escritas em disco,tráfego de rede, etc.Permite também a definição de novas métricas específicas daaplicaçãoOs dados são acessíveis a partir da interface de gerenciamento,mas também através de APIs, SDK ou CLI
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 109 / 111
Introdução a Computação em Nuvem
AWS Identity and Access Management (IAM)
Permite a criação de usuários e grupos com permissõesespecíficas, tais como restrições de acesso a algumas APIs ourecursos do AWSControla o acesso ao console de gerenciamento e a algumaschamadas às APIs, de acordo com as credenciais dos usuáriosTambém possibilita a concessão de acesso a recursos da AWSpara usuários gerenciados fora da AWS no seu diretóriocorporativo
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 110 / 111
Introdução a Computação em Nuvem
Referências
Above the Clouds: A Berkeley View of Cloud Computinghttp://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.htmlCursos 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 América Latina:http://www.slideshare.net/AmazonWebServicesLATAM/
Daniel Cordeiro – http://www.ime.usp.br/~danielc/ CESUPA – Belém/PA – maio de 2013 111 / 111