SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Mais procurados

Java EE com Apache TomEE
Java EE com Apache TomEEJava EE com Apache TomEE
Java EE com Apache TomEE
Daniel Cunha
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação maven
Victor Gouveia
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação maven
André Justi
 
Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
Gustavo Lopes
 
Desenvolvimento de Aplicações
Desenvolvimento de AplicaçõesDesenvolvimento de Aplicações
Desenvolvimento de Aplicações
José Maria Silveira Neto
 
Tutorial WebSocket em Java
Tutorial WebSocket em JavaTutorial WebSocket em Java
Tutorial WebSocket em Java
lucascsoliveira
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Daniel Makiyama
 
Integração Contínua
Integração ContínuaIntegração Contínua
Integração Contínua
Maicon Carlos Pereira
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
Fabrício Lopes Sanchez
 
Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?
Jocsa Rosendo
 
A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )
Michael Douglas
 
Trabalhando de forma profissional com silex
Trabalhando de forma profissional com silexTrabalhando de forma profissional com silex
Trabalhando de forma profissional com silex
Michael Douglas
 

Mais procurados (12)

Java EE com Apache TomEE
Java EE com Apache TomEEJava EE com Apache TomEE
Java EE com Apache TomEE
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação maven
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação maven
 
Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
 
Desenvolvimento de Aplicações
Desenvolvimento de AplicaçõesDesenvolvimento de Aplicações
Desenvolvimento de Aplicações
 
Tutorial WebSocket em Java
Tutorial WebSocket em JavaTutorial WebSocket em Java
Tutorial WebSocket em Java
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
 
Integração Contínua
Integração ContínuaIntegração Contínua
Integração Contínua
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
 
Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?
 
A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )
 
Trabalhando de forma profissional com silex
Trabalhando de forma profissional com silexTrabalhando de forma profissional com silex
Trabalhando de forma profissional com silex
 

Semelhante a Desafios no deploy de aplicações Java EE 6 no Microsoft Azure

iOS, APIs e sincronização de dados
iOS, APIs e sincronização de dadosiOS, APIs e sincronização de dados
iOS, APIs e sincronização de dados
Maurício Linhares
 
Web eclipse
Web eclipseWeb eclipse
Web eclipse
Agenor Neto
 
TDC2016SP - O que há de novo no Entity Framework Core 1.0
TDC2016SP - O que há de novo no Entity Framework Core 1.0TDC2016SP - O que há de novo no Entity Framework Core 1.0
TDC2016SP - O que há de novo no Entity Framework Core 1.0
tdc-globalcode
 
Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0
Caliel Costa
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
munosai
 
TDC2016POA | Trilha .NET - .NET Entity Core 1.0
TDC2016POA | Trilha .NET - .NET Entity Core 1.0TDC2016POA | Trilha .NET - .NET Entity Core 1.0
TDC2016POA | Trilha .NET - .NET Entity Core 1.0
tdc-globalcode
 
TDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureTDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & Azure
Dr. Spock
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Allyson Barros
 
Plugin Maven no Eclipse
Plugin Maven no EclipsePlugin Maven no Eclipse
Plugin Maven no Eclipse
elievanFPaulino
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em Java
Mariana de Azevedo Santos
 
Material - Play! Framework - UERN - Aula 01
Material - Play! Framework - UERN - Aula 01Material - Play! Framework - UERN - Aula 01
Material - Play! Framework - UERN - Aula 01
Allyson Barros
 
Guia para o Profissional Java
Guia para o Profissional JavaGuia para o Profissional Java
Guia para o Profissional Java
armeniocardoso
 
Mundo novo com cdi
Mundo novo com cdiMundo novo com cdi
Mundo novo com cdi
José Rodolfo Freitas
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Renato Groff
 
Mini aula-java
Mini aula-javaMini aula-java
Mini aula-java
Wanderlei Silva do Carmo
 
Mini aula-java
Mini aula-javaMini aula-java
Mini aula-java
Wanderlei Silva do Carmo
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWS
Amazon Web Services LATAM
 
Integração Continua - Jenkins
Integração Continua - JenkinsIntegração Continua - Jenkins
Integração Continua - Jenkins
João Carlos Ottobboni
 
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Getúlio Strapazzon
 
Titanium appacelerator
Titanium appaceleratorTitanium appacelerator
Titanium appacelerator
Davi Felipe Russi
 

Semelhante a Desafios no deploy de aplicações Java EE 6 no Microsoft Azure (20)

iOS, APIs e sincronização de dados
iOS, APIs e sincronização de dadosiOS, APIs e sincronização de dados
iOS, APIs e sincronização de dados
 
Web eclipse
Web eclipseWeb eclipse
Web eclipse
 
TDC2016SP - O que há de novo no Entity Framework Core 1.0
TDC2016SP - O que há de novo no Entity Framework Core 1.0TDC2016SP - O que há de novo no Entity Framework Core 1.0
TDC2016SP - O que há de novo no Entity Framework Core 1.0
 
Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
TDC2016POA | Trilha .NET - .NET Entity Core 1.0
TDC2016POA | Trilha .NET - .NET Entity Core 1.0TDC2016POA | Trilha .NET - .NET Entity Core 1.0
TDC2016POA | Trilha .NET - .NET Entity Core 1.0
 
TDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureTDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & Azure
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
 
Plugin Maven no Eclipse
Plugin Maven no EclipsePlugin Maven no Eclipse
Plugin Maven no Eclipse
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em Java
 
Material - Play! Framework - UERN - Aula 01
Material - Play! Framework - UERN - Aula 01Material - Play! Framework - UERN - Aula 01
Material - Play! Framework - UERN - Aula 01
 
Guia para o Profissional Java
Guia para o Profissional JavaGuia para o Profissional Java
Guia para o Profissional Java
 
Mundo novo com cdi
Mundo novo com cdiMundo novo com cdi
Mundo novo com cdi
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
 
Mini aula-java
Mini aula-javaMini aula-java
Mini aula-java
 
Mini aula-java
Mini aula-javaMini aula-java
Mini aula-java
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWS
 
Integração Continua - Jenkins
Integração Continua - JenkinsIntegração Continua - Jenkins
Integração Continua - Jenkins
 
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
 
Titanium appacelerator
Titanium appaceleratorTitanium appacelerator
Titanium appacelerator
 

Mais de Dr. Spock

Improving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific LanguageImproving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific Language
Dr. Spock
 
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Dr. Spock
 
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvemEvitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
Dr. Spock
 
Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2
Dr. Spock
 
Workshop de Introdução ao ScrumToys
Workshop de Introdução ao ScrumToysWorkshop de Introdução ao ScrumToys
Workshop de Introdução ao ScrumToys
Dr. Spock
 
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
Dr. Spock
 
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
Dr. Spock
 
TDC2011: Spring Mobile
TDC2011: Spring MobileTDC2011: Spring Mobile
TDC2011: Spring Mobile
Dr. Spock
 
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvensTDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
Dr. Spock
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software Enterprise
Dr. Spock
 
Spring Framework no desenvolvimento móvel
Spring Framework no desenvolvimento móvelSpring Framework no desenvolvimento móvel
Spring Framework no desenvolvimento móvel
Dr. Spock
 
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer FacesPerformance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
Dr. Spock
 
Dicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSFDicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSF
Dr. Spock
 
Computação Física com Arduino, Program-ME e Java
Computação Física com Arduino, Program-ME e JavaComputação Física com Arduino, Program-ME e Java
Computação Física com Arduino, Program-ME e Java
Dr. Spock
 
Spring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do FrameworkSpring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do Framework
Dr. Spock
 
Produtividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App EngineProdutividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App Engine
Dr. Spock
 
Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!
Dr. Spock
 
Spring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidadesSpring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidades
Dr. Spock
 
Dicas e Truques sobre Performance em Java EE, JPA e JSF
Dicas e Truques sobre Performance em Java EE, JPA e JSFDicas e Truques sobre Performance em Java EE, JPA e JSF
Dicas e Truques sobre Performance em Java EE, JPA e JSF
Dr. Spock
 
Computação Física com Arduino/Program-ME e a Plataforma Java
Computação Física com Arduino/Program-ME e a Plataforma JavaComputação Física com Arduino/Program-ME e a Plataforma Java
Computação Física com Arduino/Program-ME e a Plataforma Java
Dr. Spock
 

Mais de Dr. Spock (20)

Improving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific LanguageImproving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific Language
 
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
 
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvemEvitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
 
Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2
 
Workshop de Introdução ao ScrumToys
Workshop de Introdução ao ScrumToysWorkshop de Introdução ao ScrumToys
Workshop de Introdução ao ScrumToys
 
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
 
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
 
TDC2011: Spring Mobile
TDC2011: Spring MobileTDC2011: Spring Mobile
TDC2011: Spring Mobile
 
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvensTDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software Enterprise
 
Spring Framework no desenvolvimento móvel
Spring Framework no desenvolvimento móvelSpring Framework no desenvolvimento móvel
Spring Framework no desenvolvimento móvel
 
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer FacesPerformance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
 
Dicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSFDicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSF
 
Computação Física com Arduino, Program-ME e Java
Computação Física com Arduino, Program-ME e JavaComputação Física com Arduino, Program-ME e Java
Computação Física com Arduino, Program-ME e Java
 
Spring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do FrameworkSpring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do Framework
 
Produtividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App EngineProdutividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App Engine
 
Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!
 
Spring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidadesSpring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidades
 
Dicas e Truques sobre Performance em Java EE, JPA e JSF
Dicas e Truques sobre Performance em Java EE, JPA e JSFDicas e Truques sobre Performance em Java EE, JPA e JSF
Dicas e Truques sobre Performance em Java EE, JPA e JSF
 
Computação Física com Arduino/Program-ME e a Plataforma Java
Computação Física com Arduino/Program-ME e a Plataforma JavaComputação Física com Arduino/Program-ME e a Plataforma Java
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
  • 4. 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
  • 11. segunda-feira, 16 de maio de 2011
  • 12. Usuário Final Desenvolvedores Administradores de rede segunda-feira, 16 de maio de 2011
  • 13. segunda-feira, 16 de maio de 2011
  • 14. segunda-feira, 16 de maio de 2011
  • 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. 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
  • 36. Run segunda-feira, 16 de maio de 2011
  • 37. Run 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