Service deployer FISL 2013

500 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
500
No SlideShare
0
A partir de incorporações
0
Número de incorporações
57
Ações
Compartilhamentos
0
Downloads
7
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Service deployer FISL 2013

  1. 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. 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. 3. Web services Padrão de troca de mensagens (xml)entre sistemas através da Internet (http)
  4. 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. 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. 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. 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. 8. Composição de serviços
  9. 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. 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. 11. O projeto CHOReOS• Orquestração • Coreografia
  12. 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. 13. A nuvem• Compartilhamento de recursos• Pagamento por consumo• Virtualização• Provisionamento dinâmico
  14. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 24. O middlewareMas como tudo isso funciona por de baixo dos panos?
  25. 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. 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. 27. O Chef
  28. 28. Receitas do Chef• DSL Ruby-like• Armazenadas no Chef-server• Descrevem dependências • Exemplo: receita tomcat requer receita java
  29. 29. Receita mysql-client
  30. 30. Interação com o Chef Server• API REST• Interface web• Knife
  31. 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. 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. 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. 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. 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. 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. 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

×