Your SlideShare is downloading. ×
0
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Service deployer FISL 2013
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Service deployer FISL 2013

221

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
221
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. CHOReOS:Automatizando a implantação de web services na nuvem Nelson Lago Leonardo Alexandre Ferreira Leite Carlos Eduardo Moreira dos Santos CCSL IME/USP FISL – Julho/2012
  • 2. Agenda• Web services• Composições de serviços em larga-escala• O projeto CHOReOS• A nuvem• O middleware• O Chef• CHOReOS + Chef• Dificuldades
  • 3. Web services Padrão de troca de mensagens (xml)entre sistemas através da Internet (http)
  • 4. Web services Padrão de troca de mensagens (xml) entre sistemas através da Internet (http)• Aplicações: • Integração de sistemas heterogêneos • Acesso a dados abertos • Automação de fluxos de negócio
  • 5. Web services Padrão de troca de mensagens (xml) entre sistemas através da Internet (http)• Aplicações: • Integração de sistemas heterogêneos • Acesso a dados abertos • Automação de fluxos de negócio
  • 6. Agenda• Web services• Composições de serviços em larga-escala• O projeto CHOReOS• A nuvem• O middleware• O Chef• CHOReOS + Chef• Dificuldades
  • 7. Computação em ultra-larga escala• Centenas de milhões de usuários • Dispositivos móveis • Computação ubíqua • “Internet of things” - Dispositivos “inteligentes” (geladeiras etc.)• Dezenas de milhares de serviços • Incluindo a “internet of things”• Mash-ups “ad-hoc”
  • 8. Composição de serviços
  • 9. Agenda• Web services• Composições de serviços em larga-escala• O projeto CHOReOS• A nuvem• O middleware• O Chef• CHOReOS + Chef• Dificuldades
  • 10. O projeto CHOReOS• Financiado pela Comissão Europeia• Parceiros acadêmicos e industriais • Resultados científicos através da pesquisa • Possibilidade de novos produtos através da inovação tecnológica• Parceiros em vários países • Brasil, França, Grécia, Itália...• Um dos componentes é o middleware para viabilizar a criação e execução de composições de serviços em larga-escala • A USP é um dos principais parceiros envolvidos com essa tarefa
  • 11. O projeto CHOReOS• Orquestração • Coreografia
  • 12. Agenda• Web services• Composições de serviços em larga-escala• O projeto CHOReOS• A nuvem• O middleware• O Chef• CHOReOS + Chef• Dificuldades
  • 13. A nuvem• Compartilhamento de recursos• Pagamento por consumo• Virtualização• Provisionamento dinâmico
  • 14. AWS / OpenStack (IaaS)• Gerência (CRUD) de VMs através de API• Usuário pode gravar uma imagem de uma VM e criar várias instâncias• AWS permite escolher região geográfica
  • 15. AWS / OpenStack (IaaS)• Gerência (CRUD) de VMs através de API• Usuário pode gravar uma imagem de uma VM e criar várias instâncias• AWS permite escolher região geográfica• API EC2• JClouds abstrai EC2 (e outras APIs) para Java
  • 16. AWS / OpenStack (IaaS)• Gerência (CRUD) de VMs através de API• Usuário pode gravar uma imagem de uma VM e criar várias instâncias• AWS permite escolher região geográfica• API EC2• JClouds abstrai EC2 (e outras APIs) para Java• AWS: nuvem pública• OpenStack: nuvem privada
  • 17. Google App Engine (PaaS)• Cliente escreve aplicação web Python/Java• Engine aloca aplicação na nuvem do Google• Engine cuida da escalabilidade
  • 18. Agenda• Web services• Composições de serviços em larga-escala• O projeto CHOReOS• A nuvem• O middleware• O Chef• CHOReOS + Chef• Dificuldades
  • 19. O middleware• Oferece serviços REST para automatizar a implantação de web services na nuvem.• Abstrai diferentes tipos de nuvem (AWS, OpenStack)• Decide em que nó o serviço fornecido será implantado.• Diferentes organizações podem definir diferentes políticas de alocação.• Informa aos serviços recém implantados os endpoints de suas dependências.
  • 20. O middlewareImplantação de serviçosRequisiçãoPOST servicedeployer/services<serviceSpec>  <type>WAR</type>  <codeURI>http://ccsl.ime.usp.br/marketservice.war</codeURI>  <port/> <endpointName>market</endpointName> <resourceImpact>   <storage>high</storage>   <mem>low</mem> </resourceImpact></serviceSpec>
  • 21. O middlewareResposta201 CREATEDlocation = 12514<service>  <id>12514</id> <type>WAR</type> <port>8080</port> <hostname>ccsl534</hostname> <ip>192.168.56.103</ip> <uri>http://192.168.56.103:8080/market</uri>  <codeURI>http://ccsl.ime.usp.br/marketservice.war</codeURI> <file>marketservice.war</file>  <endpointName>market</endpointName> <resourceImpact>...</resourceImpact></service>
  • 22. O middlewareCriação de nósRequisiçãoPOST nodepoolmanager/nodes<node>   <cpus>2</cpus>  <ram>1024</ram>   <storage>100</storage>   <so>Ubuntu 10.4</so></node>
  • 23. O middlewareResposta201 CREATEDlocation = 534<node>  <id>534</id>   <cpus>2</cpus>  <ram>1024</ram>   <storage>100</storage>   <so>Ubuntu 10.4</so>  <ip>192.168.56.103</ip>  <hostname>ccsl534</hostname></node>
  • 24. O middlewareMas como tudo isso funciona por de baixo dos panos?
  • 25. Agenda• Web services• Composições de serviços em larga-escala• O projeto CHOReOS• A nuvem• O middleware• O Chef• CHOReOS + Chef• Dificuldades
  • 26. O Chef• Configuração de nós da nuvem.• Funciona assim: • Uma receita descreve como se instala um software • Receitas são atribuídas a papéis • Papéis são atribuídos a nós• Exemplo: • Receita tomcat descreve instalação do tomcat • Papel web contém receita tomcat • Nó 192.168.56.103 deve ter papel web• Não gerencia a instanciação dos nós na nuvem
  • 27. O Chef
  • 28. Receitas do Chef• DSL Ruby-like• Armazenadas no Chef-server• Descrevem dependências • Exemplo: receita tomcat requer receita java
  • 29. Receita mysql-client
  • 30. Interação com o Chef Server• API REST• Interface web• Knife
  • 31. Agenda• Web services• Composições de serviços em larga-escala• O projeto CHOReOS• A nuvem• O middleware• O Chef• CHOReOS + Chef• Dificuldades
  • 32. CHOReOS + Chef• Middleware instancia nós na nuvem (AWS, OpenStack) usando a API Jclouds• Middleware faz o bootstrap do nó criado para que ele seja um nó do Chef• Middleware cria uma receita para cada serviço que precisa ser implantado• Middleware usa Chef para aplicar a receita em um nó escolhido pelo próprio middleware
  • 33. CHOReOS + Chef• Problema: • Não tem como a receita de um serviço A ser a mesma receita do serviço B• Solução • Criação dinâmica de receitas
  • 34. Dificuldades• Web services• Composições de serviços em larga-escala• O projeto CHOReOS• A nuvem• O middleware• O Chef• CHOReOS + Chef• Dificuldades
  • 35. Dificuldades• Falta de uma API Java pra usar o Chef• Chamadas concorrentes pelo Knife• Chamadas concorrentes pela API EC2• Suporte imaturo do JClouds para o OpenStack
  • 36. Conclusão• O uso do Chef simplificou grandemente o desenvolvimento • Ponto para o software livre!• OpenStack e Web Services evitam a dependência de fornecedores/provedores fechados• Middleware e ferramentas usadas são livres • Software livre é a base da Internet do Futuro• Novas pesquisas devem continuar a partir do código desenvolvido • Venha fazer pós conosco!
  • 37. Obrigado! CCSL IME/USP• Nosso site: • http://ccsl.ime.usp.br• Projeto CHOReOS: • http://www.choreos.eu• Código-fonte: • http://forge.ow2.org/projects/choreos/• Email de contato: • ccsl@ime.usp.br

×