Entendendo os modos de execução do Wildfly para aplicativos Java

Entendendo os modos de execução do Wildfly para aplicativos Java

Qual modo usar?

É comum que ao escolhermos a utilização de uma plataforma de middleware como o Wildfly para a execução de nossos aplicativos Java, nos deparamos com a seguinte questão:

“Qual modo de execução utilizar?”

Como quase tudo no mundo da TI a resposta é depende!

O Wildfly possui 2 modos de execução, o domain e o standalone, e todo o seu cenário irá influenciar na escolha que deve ser feita, para ajudar na escolha algumas perguntas podem facilitar a decisão:

  • Qual a quantidade de instâncias necessárias para o ambiente?
  • Será preciso um gerenciamento centralizado e controle de configuração?
  • Será preciso um ponto único e controlável de deployment das aplicações?
  • As instâncias estarão espalhadas por diversas máquinas?

Com certeza respondendo essas perguntas você já terá um boa noção do que precisa, e para isso vamos entender melhor o que difere cada modo de execução.

 

Wildfly – Standalone

O modo standalone, como o próprio nome sugere é uma instância única onde o Wildfly irá prover todos os recursos necessários para a execução do seu aplicativo java. Este módulo utiliza toda a estrutura de arquivos do Wildfly para si, assim não é possível executar outra instância utilizando a mesma estrutura, será necessário outro diretório standalone para realizar a execução de outra JVM.

Para o modo standalone ainda é possível contar com perfis de execução que são separados cada um em um arquivo xml diferente, estes podem ser escolhidos no momento da execução, onde pode-se escolher entre:

PerfilArquivo de configuraçãoUtilização
Webstandalone.xmlPermite o uso do perfil Java EE Web
Fullstandalone-full.xmlPermite o uso do perfil Java EE Full
Web c/ HAstandalone-ha.xmlPermite o uso do perfil Java EE Web com características de HA
Full c/ HAstandalone-full-ha.xmlPermite o uso do perfil Java EE Full com características de HA

Os detalhes de cada perfil e exemplos de uso serão detalhados em um outro post.

Dessa forma vemos que neste modo o gerenciamento, deploy dos aplicativos e manutenção são individuais para cada instância tornando este trabalho custoso caso você tenha diversas instâncias para administrar.

 

Wildfly – Domain

Já neste modo é possível ter uma instância centralizadora que terá a função de “domain controller”, e as instâncias que irão receber as instruções que terão a função apenas de “host controller”. Com o modo domain temos um ponto único de gerenciamento onde toda configuração realizada no “domain controller” é distribuída para as outras instâncias, evitando assim que uma nova instância seja criada com uma configuração indevida, terá também um ponto único de deploy dos aplicativos e pela configuração realizada o “domain controller” se encarregará de distribuir o artefato somente para as instâncias configuradas para recebê-lo.

Este modo, assim como o standalone também possui os mesmos perfis de execução, porém há uma diferença no nome e este é passado através da configuração e não de arquivos como no modo standalone. As opções são:

PerfilNome do ProfileUtilização
WebdefaultPermite o uso do perfil Java EE Web
FullfullPermite o uso do perfil Java EE Full
Web c/ HAhaPermite o uso do perfil Java EE Web com características de HA
Full c/ HAfull-haPermite o uso do perfil Java EE Full com características de HA

Sabemos então que com o modo domain caso tenhamos diversas instâncias ou um ambiente onde é necessário um controle maior de gerenciamento, este modo irá facilitar muito mais o trabalho do administrador.

 

Conclusão

Com base nessas informações, podemos responder as perguntas e chegar a uma conclusão que o modo standalone pode ser a melhor escolha para um ambiente tanto de desenvolvimento rápido e ágil como de produção por ter uma configuração e execução mais simples fazendo com que o ambiente seja disponibilizado mais rapidamente, porém se seu cenário requerer diversas instâncias em diversos hosts isto pode se tornar um calcanhar de Aquiles, fazendo com que a gestão seja trabalhosa, dificultando as tarefas diárias.

Assim, para um cenário mais robusto e/ou com políticas rigorosas de gerenciamento e controle de acesso, o modo domain seria o mais indicado por prover toda a gestão concentrada em um único ponto, gerando facilidade, agilidade e rapidez para o administrador destas instâncias gerenciar os serviços e realizar as tarefas diárias.

Esta é apenas uma leitura sintetizada sobre os modos de operação do Wildfly, nos próximos posts iremos aprofundar e ver mais detalhes sobre cada modo, seus perfis e casos de uso.

Até a próxima!

 

Líder em Treinamento e serviços de Consultoria, Suporte e Implantação para o mundo open source. Conheça nossas soluções:

CURSOSCONSULTORIA

 

 

Anterior Investir na Qualificação dos Colaboradores: A Chave para a Competitividade Empresarial
Próxima 4Linux: Retomada segura e gradual dos cursos presenciais em meio à pandemia

About author

Ricardo Caeiro
Ricardo Caeiro 6 posts

Ricardo Caeiro é formado em Redes de Computadores pela BandTec, MBA DevOps Engineering pela FIAP, possui mais de 10 anos de experiência na área da tecnologia da informação, já atuou em diversas frentes da área e hoje realiza consultoria e treinamento de tecnologias de software livre com ênfase em middleware e cultura DevOps.

View all posts by this author →

Você pode gostar também

Infraestrutura TI

Introdução a Distribuições Linux

Introdução Esse post tem a missão de introduzir o contexto de distribuições do Linux, suas diferenças e trazer uma ótica analítica para distros (distribuições) fora da curva. Para começar, temos

Banco de Dados

Entenda o Middleware: A espinha dorsal da conectividade digital

No cenário tecnológico atual, a conectividade é a espinha dorsal que sustenta nossa vida digital. Imagine um ecossistema complexo de aplicativos, serviços e dispositivos, todos operando em conjunto perfeito. Essa

DevOps

Criando imagens personalizadas com Packer para Google Cloud Platform

Olá pessoal, hoje no blog da 4Linux, vamos falar dessa ferramenta sensacional que é o Packer da HashiCorp. Bora lá. O que é o Packer O Packer é uma ferramenta