Slides da apresentação realizada no JustJava 2011 em São Paulo no dia 14/Maio/2011 das 15:50 às 16:40.
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.
Computação Física com Arduino/Program-ME e a Plataforma Java
Desafios no deploy de aplicações Java EE 6 no Microsoft Azure
1. Java EE 6 & Azure
Desafios no deploy de aplicações Java EE
no cloud da Microsoft
Dr. Spock
@drspockbr
segunda-feira, 16 de maio de 2011
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;
segunda-feira, 16 de maio de 2011
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;
segunda-feira, 16 de maio de 2011
6. Agenda
• Introdução e conceitos;
segunda-feira, 16 de maio de 2011
7. Agenda
• Introdução e conceitos;
• Desafios no processo para
deploy de Java EE no Azure;
segunda-feira, 16 de maio de 2011
8. Agenda
• Introdução e conceitos;
• Desafios no processo para
deploy de Java EE no Azure;
• Elasticidade com Java EE e
Azure;
segunda-feira, 16 de maio de 2011
9. Introdução &
Conceitos
segunda-feira, 16 de maio de 2011
17. Desafios no deploy de
Java EE no Azure
segunda-feira, 16 de maio de 2011
18. Desenv.
Packaging Preparação Run
Upload
segunda-feira, 16 de maio de 2011
19. Preparação
• Windows Azure SDK;
• IIS 7 + Hotfixes;
• Windows Starter Kit for Java
=> Ant ou Eclipse
• MS Visual Web Developer
2010 Express
segunda-feira, 16 de maio de 2011
20. 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”
segunda-feira, 16 de maio de 2011
21. Desenv.
Packaging Preparação Run
Upload
segunda-feira, 16 de maio de 2011
22. 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
segunda-feira, 16 de maio de 2011
23. 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”
segunda-feira, 16 de maio de 2011
25. Desenv.
Packaging Preparação Run
Upload
segunda-feira, 16 de maio de 2011
26. 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)
segunda-feira, 16 de maio de 2011
27. 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”
segunda-feira, 16 de maio de 2011
29. Desenv.
Packaging Preparação Run
Upload
segunda-feira, 16 de maio de 2011
30. Upload
• Upload .cspkg e .csdef via Portal
• Portal requer Silverlight
• Storage acessível por outra
ferramenta
• Upload via MS Visual Developer
2010 Express
segunda-feira, 16 de maio de 2011
31. 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”
segunda-feira, 16 de maio de 2011
33. Desenv.
Packaging Preparação Run
Upload
segunda-feira, 16 de maio de 2011
34. 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
segunda-feira, 16 de maio de 2011
35. 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”
segunda-feira, 16 de maio de 2011
38. Desenv.
Packaging Preparação Run
Upload
segunda-feira, 16 de maio de 2011
39. Elasticidade com
Java EE e Azure
segunda-feira, 16 de maio de 2011
40. Load Balancer
Virtual Machine
segunda-feira, 16 de maio de 2011
41. Load Balancer
Virtual Machine
segunda-feira, 16 de maio de 2011
42. Load Balancer
Virtual Machine
segunda-feira, 16 de maio de 2011
43. Load Balancer
Virtual Machine
segunda-feira, 16 de maio de 2011
44. Load Balancer
Virtual Machine
segunda-feira, 16 de maio de 2011
45. Load Balancer
Virtual Machine
segunda-feira, 16 de maio de 2011
46. Load Balancer
Virtual Machine
segunda-feira, 16 de maio de 2011
47. Load Balancer
Virtual Machine
segunda-feira, 16 de maio de 2011
48. 1000 usuários
Load Balancer
Virtual Machine 100 usuários por VM
segunda-feira, 16 de maio de 2011
49. 500 usuários
Load Balancer
Virtual Machine 50 usuários por VM
segunda-feira, 16 de maio de 2011
50. 100 usuários
Load Balancer
Virtual Machine 10 usuários por VM
segunda-feira, 16 de maio de 2011
51. 100 usuários
Load Balancer
Virtual Machine 100 usuários numa VM
segunda-feira, 16 de maio de 2011
52. 100 usuários
Load Balancer
Virtual Machine 100 usuários numa VM
segunda-feira, 16 de maio de 2011
53. Apache
mod_cluster
JBossAS + mod_cluster
segunda-feira, 16 de maio de 2011
54. 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
segunda-feira, 16 de maio de 2011
55. 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
segunda-feira, 16 de maio de 2011
56. 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
segunda-feira, 16 de maio de 2011
57. Obrigado!
• Contato:
Dr. Spock
spock@softplan.com.br
• Twitter:
@drspockbr
• Apoio:
Softplan/Poligraph
http://talentos.softplan.com.br
segunda-feira, 16 de maio de 2011