TDC2011: Java EE 6 & Azure

1,223 views

Published on

Slides da apresentação realizada no TDC2011 em Florianópolis/SC no dia 20/Agosto/2011 das 16:40 às 17:30 na trilha de SOA/Cloud.

O Azure é o produto de IaaS e PaaS da Microsoft que disponibiliza máquinas virtuais para Cloud Computing baseadas em Windows Server 2008 e na capacidade de receber aplicações com suporte a IIS e ASP.NET. Mas, o PaaS ainda não possibilita a execução de aplicações Java. Portanto, resta-nos apenas usar o IaaS ao executar a instalação e configuração da infra-estrutura necessária para rodar aplicações Java EE. Contudo, esta instalação e configuração são delegadas para o cliente. Nesta sessão serão apresentados alguns desafios e dificuldades do ponto de vista de um desenvolvedor para a instalação de um servidor de aplicações Java EE 6 e a implantação de uma aplicação Java escalável, clusterizada, tolerante a falhas e elástica no Microsoft Azure.

IaaS = Infrastructure as a Service; PaaS = Platform as a Service; IIS = Internet Information Server.

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
1,223
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

TDC2011: Java EE 6 & Azure

  1. 1. Java EE 6 & AzureDesafios no deploy de aplicações Java EE no cloud da Microsoft Dr. Spock @drspockbr
  2. 2. @bout me!• Bacharel e especialista em Física pela UFV e Unicamp;• Desenvolvedor de aplicações Web desde 96 e Java desde 99;• Palestrante em eventos nacionais e internacionais;• Integrante da equipe de P&D da Softplan em Florianópolis;
  3. 3. @bout me!• Bacharel e especialista em Física pela UFV e Unicamp;• Desenvolvedor de aplicações Web desde 96 e Java desde 99;• Palestrante em eventos nacionais e internacionais;• Integrante da equipe de P&D da Softplan em Florianópolis;
  4. 4. Visite o SBUGhttp://www.springbrasil.com.br/
  5. 5. Agenda
  6. 6. Agenda• Introdução e conceitos;
  7. 7. Agenda• Introdução e conceitos;• Desafios no processo para deploy de Java EE no Azure;
  8. 8. Agenda• Introdução e conceitos;• Desafios no processo para deploy de Java EE no Azure;• Elasticidade com Java EE e Azure;
  9. 9. Introdução & Conceitos
  10. 10. Cloud Computing
  11. 11. Usuário FinalDesenvolvedoresAdministradores de rede
  12. 12. Share Point Online, Office Live, CRM Services Windows Server, IIS, SQL Compute, storage,network, access control
  13. 13. Desafios no deploy de Java EE no Azure
  14. 14. Desenv.Packaging Preparação Run Upload
  15. 15. Preparação • Windows Azure SDK; • IIS 7 + Hotfixes; • Windows Starter Kit for Java => Ant ou Eclipse • MS Visual Web Developer 2010 Express
  16. 16. Preparação • Windows Azure SDK; • IIS 7 + Hotfixes; • Windows Starter Kit for Java => Ant ou Eclipse • MS Visual Web Developer 2010 Express • Desafio 1: “Escolha”
  17. 17. Desenv.Packaging Preparação Run Upload
  18. 18. Desenv. • A parte fácil => WAR ou EAR • Arquivos no storage • Criação de scripts de inicialização => .bat, .cmd ou .ps • VBScript ou C# => .NET DLLs
  19. 19. Desenv. • A parte fácil => WAR ou EAR • Arquivos no storage • Criação de scripts de inicialização => .bat, .cmd ou .ps • VBScript ou C# => .NET DLLs • Desafio 2: “Códigos estranhos”
  20. 20. Desenv.
  21. 21. Desenv.Packaging Preparação Run Upload
  22. 22. Packaging • Gerar o arquivo Cloud Service Package (.cspkg) • Task Ant requer DLL do Windows Azure SDK • Gerar o Cloud Service Definition (XML .csdef com tipo VM, ativação RDP, criptografia, etc)
  23. 23. Packaging • Gerar o arquivo Cloud Service Package (.cspkg) • Task Ant requer DLL do Windows Azure SDK • Gerar o Cloud Service Definition (XML .csdef com tipo VM, ativação RDP, criptografia, etc) • Desafio 3: “Configurações XML”
  24. 24. Packaging
  25. 25. Desenv.Packaging Preparação Run Upload
  26. 26. Upload • Upload .cspkg e .csdef via Portal • Portal requer Silverlight • Storage acessível por outra ferramenta • Upload via MS Visual Developer 2010 Express
  27. 27. Upload • Upload .cspkg e .csdef via Portal • Portal requer Silverlight • Storage acessível por outra ferramenta • Upload via MS Visual Developer 2010 Express • Desafio 4: “Tempo de deploy”
  28. 28. Upload
  29. 29. Desenv.Packaging Preparação Run Upload
  30. 30. Run• Na inicialização da VM o script é executado• O script pode falhar em algum ponto• Portas mapeadas não tem efeito quando ocorre erro• Recomendado habilitar RDP
  31. 31. Run• Na inicialização da VM o script é executado• O script pode falhar em algum ponto• Portas mapeadas não tem efeito quando ocorre erro• Recomendado habilitar RDP• Desafio 5: “Debug”
  32. 32. Run
  33. 33. Run
  34. 34. Desenv.Packaging Preparação Run Upload
  35. 35. Elasticidade com Java EE e Azure
  36. 36. Load BalancerVirtual Machine
  37. 37. Load BalancerVirtual Machine
  38. 38. Load BalancerVirtual Machine
  39. 39. Load BalancerVirtual Machine
  40. 40. Load BalancerVirtual Machine
  41. 41. Load BalancerVirtual Machine
  42. 42. Load BalancerVirtual Machine
  43. 43. Load BalancerVirtual Machine
  44. 44. 1000 usuários Load BalancerVirtual Machine 100 usuários por VM
  45. 45. 500 usuários Load BalancerVirtual Machine 50 usuários por VM
  46. 46. 100 usuários Load BalancerVirtual Machine 10 usuários por VM
  47. 47. 100 usuários Load BalancerVirtual Machine 100 usuários numa VM
  48. 48. 100 usuários Load BalancerVirtual Machine 100 usuários numa VM
  49. 49. Apache mod_clusterJBossAS + mod_cluster
  50. 50. Uma possível solução! • Windows Azure Connect • Virtual Network + Activation Token • 1 VM com Apache 64bits + mod_cluster • n VMs com JBossAS 6 + mod_cluster • Datagrid com Infinispan
  51. 51. Referências• Windows Azure http://www.microsoft.com/windowsazure/• Interoperability Bridges http://www.interoperabilitybridges.com/• Windows Azure SDK for Java http://www.windowsazure4j.org/• Windows Azure Tools for Eclipse http://www.windowsazure4e.org/• JBoss Community - mod_cluster http://www.jboss.org/mod_cluster
  52. 52. Referências• Mani Doraisany’s Blog - Statelessness vs Elasticity http://manidoraisamy.blogspot.com/2010/07/why-does-elastic-nature-of-cloud-impose.html• Glassfish no Azure - Arun Gupta http://blogs.oracle.com/arungupta/entry/ttod_155_glassfish_in_azure
  53. 53. Obrigado!• Contato: Dr. Spock spock@springbrasil.com.br• Twitter: @drspockbr• About me: http://about.me/drspockbr

×