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
@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
@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
segunda-feira, 16 de maio de 2011
Agenda




segunda-feira, 16 de maio de 2011
Agenda
            •      Introdução e conceitos;




segunda-feira, 16 de maio de 2011
Agenda
            •      Introdução e conceitos;

            •      Desafios no processo para
                   deploy de Java EE no Azure;




segunda-feira, 16 de maio de 2011
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
Introdução &
                                      Conceitos


segunda-feira, 16 de maio de 2011
Cloud Computing

segunda-feira, 16 de maio de 2011
segunda-feira, 16 de maio de 2011
Usuário
                                             Final


                                    Desenvolvedores


                                    Administradores
                                       de rede




segunda-feira, 16 de maio de 2011
segunda-feira, 16 de maio de 2011
segunda-feira, 16 de maio de 2011
Share Point Online,
                                                Office Live, CRM
                                                    Services



                                        Windows Server, IIS,
                                              SQL



                                      Compute, storage,
                                    network, access control




segunda-feira, 16 de maio de 2011
segunda-feira, 16 de maio de 2011
Desafios no deploy de
                       Java EE no Azure


segunda-feira, 16 de maio de 2011
Desenv.



                            Packaging   Preparação   Run



                                         Upload



segunda-feira, 16 de maio de 2011
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
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
Desenv.



                            Packaging   Preparação   Run



                                         Upload



segunda-feira, 16 de maio de 2011
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
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
Desenv.




segunda-feira, 16 de maio de 2011
Desenv.



                            Packaging   Preparação   Run



                                         Upload



segunda-feira, 16 de maio de 2011
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
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
Packaging




segunda-feira, 16 de maio de 2011
Desenv.



                            Packaging   Preparação   Run



                                         Upload



segunda-feira, 16 de maio de 2011
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
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
Upload




segunda-feira, 16 de maio de 2011
Desenv.



                            Packaging   Preparação   Run



                                         Upload



segunda-feira, 16 de maio de 2011
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
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
Run




segunda-feira, 16 de maio de 2011
Run




segunda-feira, 16 de maio de 2011
Desenv.



                            Packaging   Preparação   Run



                                         Upload



segunda-feira, 16 de maio de 2011
Elasticidade com
                                     Java EE e Azure


segunda-feira, 16 de maio de 2011
Load Balancer




          Virtual Machine


segunda-feira, 16 de maio de 2011
Load Balancer




          Virtual Machine


segunda-feira, 16 de maio de 2011
Load Balancer




          Virtual Machine


segunda-feira, 16 de maio de 2011
Load Balancer




          Virtual Machine


segunda-feira, 16 de maio de 2011
Load Balancer




          Virtual Machine


segunda-feira, 16 de maio de 2011
Load Balancer




          Virtual Machine


segunda-feira, 16 de maio de 2011
Load Balancer




          Virtual Machine


segunda-feira, 16 de maio de 2011
Load Balancer




          Virtual Machine


segunda-feira, 16 de maio de 2011
1000 usuários



                                    Load Balancer




          Virtual Machine               100 usuários por VM


segunda-feira, 16 de maio de 2011
500 usuários



                                    Load Balancer




          Virtual Machine                50 usuários por VM


segunda-feira, 16 de maio de 2011
100 usuários



                                    Load Balancer




          Virtual Machine                10 usuários por VM


segunda-feira, 16 de maio de 2011
100 usuários



                                    Load Balancer




          Virtual Machine             100 usuários numa VM


segunda-feira, 16 de maio de 2011
100 usuários



                                    Load Balancer




          Virtual Machine             100 usuários numa VM


segunda-feira, 16 de maio de 2011
Apache
                                    mod_cluster




       JBossAS + mod_cluster


segunda-feira, 16 de maio de 2011
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
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
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
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

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
  • 4.
  • 5.
  • 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
  • 10.
  • 11.
  • 12.
    Usuário Final Desenvolvedores Administradores de rede segunda-feira, 16 de maio de 2011
  • 13.
  • 14.
  • 15.
    Share Point Online, Office Live, CRM Services Windows Server, IIS, SQL Compute, storage, network, access control segunda-feira, 16 de maio de 2011
  • 16.
  • 17.
    Desafios no deployde 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
  • 24.
  • 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
  • 28.
  • 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
  • 32.
  • 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
  • 36.
  • 37.
  • 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