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.
Dicas e Truques sobre Performance em Java EE, JPA e JSF
TDC2011: Java EE 6 & Azure
1. Java EE 6 & Azure
Desafios no deploy de aplicações Java EE
no cloud da Microsoft
Dr. Spock
@drspockbr
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. @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;
20. Preparação
• Windows Azure SDK;
• IIS 7 + Hotfixes;
• Windows Starter Kit for Java
=> Ant ou Eclipse
• MS Visual Web Developer
2010 Express
21. 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”
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
24. 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”
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)
28. 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”
31. Upload
• Upload .cspkg e .csdef via Portal
• Portal requer Silverlight
• Storage acessível por outra
ferramenta
• Upload via MS Visual Developer
2010 Express
32. 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”
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
36. 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”
55. 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
56. 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
57. 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
58. Obrigado!
• Contato:
Dr. Spock
spock@springbrasil.com.br
• Twitter:
@drspockbr
• About me:
http://about.me/drspockbr