SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
10 Dicas para Implementação do OracleAS.doc
10 DICAS PARA IMPLEMENTAÇÃO
DO ORACLE APPLICATION SERVER
EM AMBIENTES CORPORATIVOS
Autor : Oracle do Brasil Sistemas Ltda.
Alexandre Viana
Consultor de Vendas Sênior
Revisão : Márcio Butuem
Roberto Talarico Nogueira
Data : 17/04/2008
Versão : 1.1
ii
Índice
Introdução................................................................................................................................1
10 Dicas ....................................................................................................................................2
1. Determine os Requisitos de Disponibilidade, Performance e Segurança ............2
2. Adote uma Topologia de Referência.........................................................................4
3. Antecipe Problemas Conhecidos...............................................................................5
4. Formalize um Mediador entre as Áreas Envolvidas ..............................................8
5. Estabeleça Pontos de Controle durante a Instalação e Configuração...................8
6. Capacite Administradores de Servidor de Aplicação.............................................9
7. Defina Regras para a Publicação de Aplicações....................................................10
8. Estabeleça Níveis de Serviço ....................................................................................12
9. Monitore Atualizações e Alertas de Segurança.....................................................14
10. Estabeleça Rotinas de Backup e Recovery............................................................15
Conclusão...............................................................................................................................17
10 Dicas para Implementação do OracleAS.doc
Introdução
Este documento visa apresentar de maneira simples e objetiva 10 dicas para a
implementação do Oracle Application Server em ambientes corporativos. Tais dicas
são fruto da experiência dos Consultores de Vendas da Oracle do Brasil e foram
concebidas a partir de projetos, protótipo e demonstrações executadas em diversos
clientes no Brasil e América Latina.
Apesar de abordar diretamente o Oracle Application Server este documento pode ser
utilizado para guiar o processo de implementação de qualquer servidor de aplicação.
2
10 Dicas
1. Determine os Requisitos de Disponibilidade, Performance e Segurança
Os requisitos de disponibilidade, performance e seguranças exigidos pela sua
solução irão determinar o custo e complexidade da instalação, configuração e
manutenção do servidor de aplicação, deste modo seja realista e utilize critérios
objetivos e mensuráveis para determinar os requisitos necessários ao seu ambiente.
Neste caso a regra “one size does not fit all” deve ser levada a sério, visto que para
cada ambiente iremos encontrar requisitos diferentes. Portanto resista ao desejo de
implementar o supra-sumo da tecnologia e reflita.
Para auxiliar o processo de reflexão sobre os requisitos de disponibilidade,
performance e segurança exigidos pela sua solução, avalie os seguintes fatos.
Disponibilidade
Uma boa maneira de determinar os requisitos de disponibilidade exigidos por uma
solução é avaliar o impacto de uma interrupção para a imagem e faturamento da
empresa. Para instituições governamentais também vale a pena levar em conta o
impacto social.
A análise dos impactos econômicos e sociais irá determinar a estratégia de alta
disponibilidade a ser adotada. Para cenários com baixo impacto podemos adotar
modelos menos sofisticados e custosos baseados em arquitetura ativa-passiva,
também conhecida como “cold failover”.
Figura 1: Modelo de arquitetura baseado em cold failover
Mais informações sobre “cold failover” podem ser encontradas no Oracle
Application Server High Availability Guide.
3
Já para cenários com alto impacto econômico ou social será necessário adotar
modelos mais sofisticados com arquitetura sem ponto único de falha, onde todos os
componentes da solução são redundantes, chegando até a cenários com sites remotos
para evitar desastres e catástrofes naturais. Neste tipo de arquitetura será necessário
instalar e configurar o servidor de aplicação em conjunto com outras soluções de
hardware como global load balancers e discos compartilhados. Também será
necessário implementar o mecanismo de sincronização entre o site principal e o site
secundário. No caso do Oracle Application Server estes procedimentos são
automatizados pelo Application Server Guard.
Figura 2: Modelo de arquitetura com site remoto
Performance e Escalabilidade
Para determinar os requisitos de escalabilidade e performance da sua solução
geralmente é necessário executar testes de carga para determinar, de acordo com os
níveis de serviço esperados, o ponto de saturação dos recursos computacionais (cpu,
memória ou disco). Exemplo: Um equipamento X é capaz de atender 1000 usuários
simultâneos com 85% de consumo de cpu e tempo de resposta inferior a 5 segundos.
Para gerar e executar os testes de carga, podem ser utilizadas ferramentas como
Oracle Empirix e-Load, Compuware QALoad, Mercury Load Runner e Apache
JMeter.
A partir do ponto de saturação será possível calcular o número de equipamentos
para acomodar a sua solução e, conseqüentemente, determinar a arquitetura do
servidor de aplicação. Lembre-se que quanto maior o número de equipamentos mais
complexa será a instalação e configuração do servidor de aplicação, já que na maioria
dos casos também será necessário configurar mecanismos para balanceamento de
carga e cache.
Segurança
Para determinar o nível de segurança exigido pela sua solução será necessário
primeiramente identificar o meio de acesso às aplicações (internet, intranet e
extranet). A partir do meio de acesso às aplicações será possível prever a
complexidade da instalação e configuração do servidor de aplicação, uma vez que
aplicações acessadas pela intranet geralmente apresentam requisitos menos
sofisticados do que aplicações acessadas pela internet. Existe também a possibilidade
de permitir acesso às aplicações tanto pela internet quanto pela intranet,
caracterizando assim uma extranet.
Neste cenário, o principal complicador do processo de instalação e configuração do
servidor de aplicação é o uso de zonas desmilitarizadas (DMZ). Geralmente as zonas
desmilitarizadas (DMZ) são utilizadas para segmentar, via firewalls, o acesso dos
usuários de internet às aplicações e recursos computacionais hospedados na intranet
4
da empresa, deste modo os componentes do servidor de aplicação como servidor
HTTP, container J2EE, diretório LDAP e repositório de metadados deverão ser
instalados em equipamentos distintos localizados em zonas separadas, aumentando
assim a complexidade da instalação.
Figura 3: Exemplo de uma DMZ
Além das zonas desmilitarizadas, outro complicador para instalação e configuração
do servidor de aplicação é o uso de canais e comunicação criptografados (SSL).
Geralmente o canal de comunicação criptografado começa no browser (cliente) e
termina no servidor HTTP, mas em alguns casos, o canal de comunicação
criptografado deverá ser estendido até o banco de dados corporativo, evitando assim
que usuários internos, localizados dentro da rede da empresa, possam obter
informações privilegiadas.
2. Adote uma Topologia de Referência
Tenha em mente que você não é o primeiro a implementar um servidor de aplicação
em ambiente corporativo, deste modo procure e adote uma topologia de referência.
Neste caso o lema “aprenda com os erros dos outros” deve ser levado à risca.
Adotar uma topologia de referência reduz drasticamente o risco de um servidor de
aplicação em ambientes corporativos, porque você não terá que idealizar do zero
todas as etapas de instalação e configuração, principalmente o que diz respeito ao
firewall, load balancer e DMZ.
Neste sentido, a Oracle fez um excelente trabalho e criou uma série de manuais com
topologias certificadas para guiar o processo de instalação e configuração do Oracle
Application Server no seu ambiente. Tais topologias de referência podem ser
encontradas no Oracle Application Server Enterprise Topology Guide.
O Oracle Application Server Enterprise Topology Guide apresenta um passo-a-passo
para instalação e configuração do Oracle Application Server com diagramas
detalhados para ambientes de desenvolvimento e produção, sendo que para o
ambiente de produção questões relativas à alta disponibilidade, performance e
segurança já foram resolvidas. O Oracle Application Server Enterprise Topology
Guide também oferece topologias específicas para as soluções de Identity
Management, Enterprise Portals, Business Intelligence e SOA.
5
Figura 4: Oracle Application Server Enterprise Topology Guide – MyJ2EE Company
Utilize o Oracle Application Server Enterprise Topology Guide como o seu guia de
referência e só comece o processo de instalação e configuração após estudar e
entender qual topologia atende aos requisitos do seu ambiente. O ideal é
personalizar um dos diagramas de topologia oferecidos para documentar o processo
de instalação e configuração. Este diagrama personalizado será uma excelente
ferramenta para discutir e comunicar os pré-requisitos de instalação com todas as
áreas envolvidas (redes, sistemas operacionais e banco de dados).
3. Antecipe Problemas Conhecidos
Muitos dos problemas ocorridos durante o processo de instalação e configuração do
Oracle Application Server podem ser evitados seguindo os pré-requisitos de
instalação. Os principais problemas estão relacionados à configuração do sistema
operacional e rede.
6
Sistemas Operacionais
• Loopback
o Se você for instalar o Oracle Application Server em um equipamento
desconectado da rede ou com IP dinâmico habilitado crie um
adaptador virtual de rede com loopback . Esta dica é extremamente
útil para plataforma Windows. Mais informações sobre loopback
podem ser encontradas no manual de instalação do Oracle
Application Server
• Atualizações
o Para sistemas operacionais como Linux e Unix confira a lista de
packages e atualizações para o seu sistema operacional antes de
começar a instalação do Oracle Application Server. Seja criterioso
nesta etapa, pois a falta de uma atualização ou uma possível
incompatibilidade de versão pode gerar problemas de pos-instalação
e configuração difíceis de serem identificados.
o Visite o site http://metalink.oracle.com para verificar se o seu
sistema operacional é compatível com o Oracle Application Server
• TCP/IP
o O bom funcionamento do Oracle Application Server exige que
alguns parâmetros de configuração da pilha TCP/IP do seu sistema
operacional sejam alterados. Verifique estes parâmetros antes de
iniciar a instalação. Para as plataformas Linux e Unix execute o
script tcpset.sh fornecido pela Oracle. Mais informações sobre
TCP/IP podem ser encontradas no manual de administração do
Oracle HTTP Server.
Firewalls
• Alocação Dinâmica de Portas
o O Oracle Application Server utiliza vários protocolos como HTTP,
AJP, IIOP, RMI, LDAP e Oracle Net em tempo de execução. Alguns
desses protocolos alocam portas dinamicamente de acordo com
valores pré-definidos, portanto verifique se o seu firewall suporta
tais protocolos.
o Alguns administradores de rede não permitem a alocação dinâmica
de portas. Para estes clientes recomendamos o uso de técnicas de
TCP Tunneling. Mais informações sobre TCP Tunneling podem ser
encontradas no manual de instalação do Oracle Application Server.
• Time-out
o O Oracle Application Server utiliza conexão persistente com alguns
dos seus componentes, principalmente com o diretório LDAP e
SGBD, portanto é necessário ajustar ou desabilitar o time out de
conexão do seu firewall para evitar problemas durante a execução do
servidor de aplicação.
7
• SSL Termination
o Alguns firewalls funcionam também como aceleradores de SSL,
neste caso a comunicação SSL é gerenciada pelo próprio firewall.
Caso você possua um hardware para acelerar comunicação SSL
verifique se existe alguma configuração específica para o Oracle
Application Server.
Load Balancer
• Virtual Hosts
o Freqüentemente a instalação e configuração do Oracle Application
Server exige a criação de apelidos (virtual hosts) para virtualizar o
acesso aos recursos do servidor de aplicação. Utilizando esta técnica
é possível escalar horizontalmente o servidor de aplicação com baixo
impacto de configuração. Antes de iniciar a instalação do Oracle
Application Server crie e teste todos os apelidos (virtual hosts)
necessários.
• Afinidade de Sessão
o Para que o cluster de servidores de aplicação funcione perfeitamente
é necessário habilitar e configurar o mecanismo de afinidade de
sessão do seu load balancer. Tal mecanismo permite que o load
balancer mantenha uma tabela de roteamento entre os clientes e os
servidores de aplicações do cluster, garantindo assim que as
requisições de um determinado cliente sempre sejam atendidas pelo
mesmo servidor de aplicação do cluster. Geralmente a associação
entre o cliente e o servidor de aplicação é implementada através de
um cookie (JSESSIONID).
• Detecção de Morte
o Para implementar a realocação da carga de trabalho em caso de falha
de um dos servidores HTTP do cluster é necessário habilitar e
configurar o mecanismo de detecção de morte do load balancer. Tal
mecanismo pode variar de acordo com o modelo e versão do seu
load balancer. Para load balancers mais antigos o mecanismo de ping
é utilizado para detecção de morte, já para load balancers mais
modernos é possível analisar a resposta do servidor (HTTP Headers,
HTTP Erro Code e HTML Content). Verifique a documentação do
seu load balancer e se existe alguma configuração especial para o
Oracle Application Server.
A Oracle realizou testes funcionais com alguns Firewalls e Load Balancers de
mercado. Para maiores detalhes visite o site abaixo.
http://www.oracle.com/technology/products/ias/hi_av/Tested_LBR_FW_SSLAcc
el.html
8
4. Formalize um Mediador entre as Áreas Envolvidas
Se você seguiu as dicas contidas neste documento até agora, você já determinou os
requisitos de disponibilidade, performance e segurança do seu ambiente, já escolheu
uma topologia de referência, já previu problemas conhecidos e deve estar ansioso
para botar a mão na massa e executar o runinstaller1 pela primeira vez,
entretanto não devemos esquecer o fator humano.
A instalação do Oracle Application Server em ambiente corporativo requer a
integração e comunicação com vários departamentos e pessoas como
administradores de sistemas operacionais, administradores de redes e
administradores de banco de dados, portanto vale a pena formalizar um mediador
entre as áreas envolvidas.
O papel do mediador, principalmente em grandes empresas e órgãos públicos, é
facilitar a comunicação entre os envolvidos e garantir a celeridade do processo de
instalação e configuração. O principal problema que o mediador enfrenta durante o
processo de instalação do servidor de aplicação é garantir a seqüência de execução
dos procedimentos necessários, uma vez que cada área envolvida possui sua própria
agenda e lista de prioridades. Para evitar este problema é recomendo marcar uma
reunião com todas as áreas envolvidas antes de iniciar a instalação e apresentar o
diagrama com a topologia detalhada. Deste modo cada área poderá visualizar e
entender sua importância para o sucesso do processo de instalação, minimizando
assim problemas de comunicação.
5. Estabeleça Pontos de Controle durante a Instalação e Configuração
Chegou a hora de botar a mão na massa e iniciar o processo de instalação. Para evitar
que este trabalho dure mais do que o necessário vale a pena estabelecer alguns
pontos de controle.
O processo de instalação do Oracle Application Server deve ser divido em fases. A
primeira fase diz respeito à instalação dos serviços compartilhados, também
conhecidos como “infra-estrutura” (repositório de metadados, diretório LDAP e
serviços de segurança). Já a segunda fase diz respeito à instalação do servidor de
aplicação propriamente dito (Web Cache, HTTP Server e J2EE Container). Para guiar
o processo de instalação utilize o Oracle Application Server Enterprise Topology
Guide juntamente com o manual de instalação do Oracle Application Server. Utilize
também o arquivo staticports.ini para definir em tempo de instalação todas as
portas necessárias, conforme o seu diagrama de topologia.
Após a instalação de cada um dos componentes do Oracle Application Server realize
testes funcionais para comprovar se tudo funciona perfeitamente. Caso os testes
funcionais sejam executados com sucesso, faça um backup completo off-line de cada
componente antes de prosseguir para a próxima fase. Este procedimento garante que
1
RunInstaller é o utilitário de instalação do Oracle Application Server.
9
em caso de falha ou erro humano de configuração você possa restabelecer
rapidamente o ambiente sem necessidade de re-instalação. Para clientes que utilizam
o conceito de máquinas virtuais (VMWare ou Xen) o mesmo benefício pode ser
alcançado criando-se um snapshot.
Finalmente não esqueça de ler o manual de pós-instalação. Neste manual estão
catalogados os erros conhecidos, alguns workarounds e principalmente “patches”
recomendados.
6. Capacite Administradores de Servidor de Aplicação
O servidor de aplicação, assim como o banco de dados, requer mão-de-obra
especializada para garantir o seu perfeito funcionamento. Levando em consideração
essa premissa é muito importante capacitar um Administrador de Servidor de
Aplicação (ASA).
O ASA é uma nova profissão que ainda não foi bem entendida e assimilada pelas
empresas. A maneira mais fácil de entender o papel do ASA é compará-lo ao DBA.
Ambos possuem atribuições importantes que vão além da instalação e configuração,
pois tanto o banco de dados quanto o servidor de aplicação necessitam de ajuste fino,
backup, recovery e atualizações. Neste caso o lema “novas tecnologias geram novas
profissões” deve ser levado a sério.
Por se tratar de uma carreira recente, o perfil do ASA ainda está em
desenvolvimento, entretanto podemos afirmar que o ASA deve conhecer no mínimo:
• J2EE
o O ASA não precisa codificar em Java, entretanto ele precisa entender
profundamente o comportamento dos vários componentes de uma
aplicação J2EE em tempo de execução (applets, jsp, servlets, ejb,
adaptadores e etc). Esse conhecimento será muito útil para
diagnosticar problemas e para realizar ajustes finos.
• Redes
o O ASA precisa entender profundamente o relacionamento do
servidor de aplicação com os vários elementos e recursos de rede
como proxy, NAT, firewalls e load balancers. Este conhecimento vai
ser muito útil para configurar o servidor de aplicação e diagnosticar
problemas de comunicação e conectividade.
• Sistema Operacional
o O servidor de aplicação é um voraz consumidor de recursos,
portanto o ASA deve possuir bons conhecimentos sobre o ajuste fino
do sistema operacional, principalmente o que diz respeito a threads e
TCP/IP.
• JVM
o O ajuste fino da máquina virtual Java (JVM) é responsabilidade da
ASA. Muitos problemas de performance estão relacionados ao
tamanho da JVM e a freqüência com que a limpeza da memória é
10
executada (garbage collection). Existem vários parâmetros e técnicas
de configuração da JVM que a ASA deve conhecer. Para mais
informações visite
http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html.
A Oracle oferece treinamentos específicos para capacitar administradores de servidor
de aplicação. Também é possível obter certificação OCA (Oracle Certified Associate).
Para mais informações viste o site http://education.oracle.com
7. Defina Regras para a Publicação de Aplicações
Após a instalação e configuração do servidor de aplicação chegou a hora de publicar
as primeiras aplicações no ambiente de produção. Dentro do escopo desse
documento, entendemos que as aplicações que serão publicadas já passaram pelas
etapas de testes e homologação. Este procedimento é muito importante para reduzir
a chance de colocar em produção aplicações com problemas crônicos de performance
e escalabilidade.
A publicação de aplicações no ambiente de produção é responsabilidade do ASA,
portanto cabe a ele definir e formalizar os procedimentos necessários.
Empacotamento
Para publicar uma aplicação no servidor de aplicação geralmente é necessário gerar
arquivos do tipo EAR (Enterprise Application Archive) ou WAR (Web Application
Archive). Tais arquivos são o resultado da compilação e empacotamento de uma
determinada versão do código fonte da aplicação, deste modo é imprescindível
manter o sincronismo entre o código de fonte gerado pelo desenvolvedor e o código
compilado que será executado pelo servidor de aplicação. O ideal é criar um processo
de compilação e empacotamento automatizado de modo que a única informação
trocada entre a equipe de desenvolvimento e o ASA seja o número da versão da
aplicação a ser publicada. Para auxiliar o processo de compilação e empacotamento é
recomendável utilizar ferramentas de Software Configuration Management (SCM).
Atualmente existem várias ferramentas de SCM disponíveis no mercado como
StarTeam, Perforce, ClearCase, Subversion e Maven. Para facilitar a integração de
ferramentas de SCM com o Oracle Application Server é possível utilizar vários
scripts ANT fornecidos pela Oracle.
Além do código compilado, os arquivos do tipo EAR e WAR também possuem
metadados (applicatiom.xml, web.xml e ejb-jar.xml) e bibliotecas (arquivos JAR)
utilizadas pela aplicação. Recomendamos especial atenção ao empacotamento de
bibliotecas, principalmente para aplicações que utilizam frameworks como
Hibernate, Struts, Axis e Spring. Este procedimento é muito importante para evitar
problemas como duplicação e incompatibilidade de versões. Para mais informações
sobre empacotamento portável de bibliotecas recomendamos a leitura do artigo
abaixo
http://java.sun.com/j2ee/verified/packaging.html.
11
Recursos Compartilhados
A maioria das aplicações publicadas no servidor de aplicação utiliza recursos
compartilhados como pool de conexões JDBC, filas JMS e adaptadores JCA. Cabe ao
ASA criar e configurar tais recursos antes de publicar as aplicações no ambiente de
produção. No caso do Oracle Application Server recomendamos o uso do Oracle
Enterprise Manager para criar e configurar os recursos compartilhados, tanto para
uma instância do servidor de aplicação quanto para todos os membros de um cluster.
Figura 5: Tela do Enterprise Manager para configuração e teste de pool de conexões JDBC
Figura 6: Tela do Enterprise Manager para configuração de filas JMS
Ocultar Informações sobre o Ambiente de Produção
O ASA também deve implementar mecanismos para ocultar da equipe de
desenvolvimento informações sobre os recursos compartilhados usados no ambiente
de produção (banco de dados, filas, servidores de email e etc), garantindo assim a
integridade do ambiente. Para resolver este problema tanto o desenvolvedor quanto
o ASA devem utilizar apelidos para identificar e acessar os recursos compartilhados
utilizados pela aplicação. O uso de apelidos, também conhecido como “Portable
JNDI Resource Lookup”, permite que o ASA defina durante a publicação da
aplicação o mapeamento entre o apelido (nome lógico) e o recurso físico (banco de
dados, filas, servidores de email e etc) sem que seja necessário alterar o código ou
arquivos de configuração da aplicação. Mais informações sobre apelidos podem ser
encontradas no manual Oracle® Containers for J2EE Services Guide 10g Release 3
(10.1.3).
12
Segregar Aplicações em Instâncias
Novas aplicações devem ser publicadas em instâncias isoladas do servidor de
aplicação em regime de observação, para que uma eventual falha ou problema de
performance não afete outras aplicações previamente publicadas. Após conclusão do
período de observação, as novas aplicações podem ser migradas para instâncias
compartilhadas do servidor de aplicação. Já para aplicações críticas com requisitos
avançados de performance e disponibilidade é recomendável sempre utilizar
instâncias dedicadas do servidor de aplicação, uma vez que será mais fácil
implementar ajustes finos e detectar problemas.
Para facilitar a configuração e gerência de várias instâncias do servidor de aplicação
utilize o Oracle Enterprise Manager. Através do Oracle Enterprise Manager o ASA
pode criar e configurar graficamente grupos com uma ou mais instâncias do servidor
de aplicação. Também é possível configurar dinamicamente o número de processos
(máquinas virtuais Java) e recursos que cada instância do servidor de aplicação pode
alocar em tempo de execução.
Figura 7: Tela do Enterprise Manager para configuração de instâncias
8. Estabeleça Níveis de Serviço
Após a publicação das primeiras aplicações, chegou a hora de abordar tarefas
administrativas que ajudarão a manter e evoluir o servidor de aplicação. Uma das
tarefas administrativas mais importantes é garantir que as aplicações publicadas
trabalhem dentro dos níveis de serviço desejados pelos usuários finais.
13
Geralmente os níveis de serviço de cada aplicação são medidos através de
indicadores de disponibilidade e performance. O indicador de disponibilidade é
calculado pela razão entre os períodos de atividade e inatividade da aplicação, sendo
que os períodos de inatividade englobam paradas planejadas e não planejadas. Já o
indicador de performance é baseado no tempo máximo de resposta de uma
transação. Os indicadores de disponibilidade e performance devem ser definidos
pelo ASA em conjunto com os analistas de negócio e usuários finais.
Para monitorar os indicadores de disponibilidade e performance das aplicações
publicadas no Oracle Application Server recomendamos o uso do Application
Service Level Management Pack. Tal ferramenta utiliza agentes e scripts
customizados para monitorar a disponibilidade e performance das aplicações e dos
componentes do Oracle Application Server. Através dos agentes e scripts
customizados é possível executar testes funcionais periódicos para assegurar que a
aplicação está ativa e dentro dos padrões preestabelecidos.
Figura 8: Tela do Grid Control para configuração de testes
Todos os dados coletados durante a execução dos testes são armazenados no
repositório de metadados da solução, permitindo que o ASA possa manter um
acompanhamento histórico dos indicadores de disponibilidade e performance.
Figura 9: Tela do Grid Control para acompanhamento históricos da disponibilidade
14
O acompanhamento histórico dos indicadores de performance e disponibilidade
favorece a administração pró-ativa do servidor de aplicação, uma vez que o ASA
poderá agir preventivamente, analisando tendências e antecipando reclamações dos
usuários finais. O acompanhamento histórico dos indicadores também facilita a
detecção de gargalos, orientando assim as atividades de ajuste fino.
Figura 10: Tela do Grid Control para acompanhamento das requisições mais lentas
Para o detalhamento dos problemas críticos de performance recomendamos o uso de
ferramentas de “Root Cause Analisys” como o Oracle Application Diagnostic For
Java. Tal ferramenta permite identificar e isolar problemas críticos de performance
como vazamento de memória, contenção de recursos e travamentos através do
rastreamento detalhado do comportamento da máquina virtual Java.
9. Monitore Atualizações e Alertas de Segurança
O servidor de aplicação está constantemente evoluindo. Novas atualizações e
correções são lançadas freqüentemente, portanto cabe ao ASA monitorar e avaliar o
impacto de tais atualizações no ambiente de produção.
Além das atualizações e correções também é responsabilidade do ASA monitorar os
alertas de segurança. Este procedimento é fundamental para garantir a integridade
do servidor de aplicação, evitando assim ataques baseados em vulnerabilidades
conhecidas.
Para facilitar a identificação das atualizações e alertas de segurança recomendamos o
uso do Configuration Management Pack. Tal ferramenta possui comunicação ativa
com a base de suporte da Oracle (Metalink). Deste modo o ASA é notificado toda vez
que uma nova atualização, correção ou alerta de segurança é publicado. Além de se
comunicar com o Metalink, o Configuration Management Pack também mantém um
inventário com informações sobre todos os servidores de aplicação instalados na sua
empresa. Tal inventário é imprescindível para avaliar o impacto das atualizações e
alertas de segurança, visto que através do inventário é possível identificar quais
máquinas, instâncias e componentes do servidor de aplicação foram afetados. Mais
informações sobre o Configuration Management Pack podem ser encontradas no
paper http://www.oracle.com/technology/products/oem/pdf/ds_as_cmp.pdf
15
Figura 11: Tela do Grid Control para pesquisa de atualizações
10. Estabeleça Rotinas de Backup e Recovery
Para preservar o estado do servidor de aplicação e evitar longos processos de re-
instalação e configuração vale a pena criar e estabelecer rotinas de backup e recovery.
Cada servidor de aplicação disponível no mercado possui mecanismos distintos para
implementação de rotinas de backup e recovery. É responsabilidade do ASA avaliar
a solução mais aderente a sua necessidade. No caso do Oracle Application Server o
ASA pode contar com o Provisioning Pack para implementar graficamente os
procedimentos de backup, recovery e clonagem.
Figura 12: Tela do Grid Control para definição e agendamento dos backups
16
Para guiar o procedimento de backup e recovery recomendamos que após a
instalação do servidor de aplicação seja realizado um backup completo off-line de
todos os componentes. A partir do backup completo será possível estabelecer um
ponto de partida, também conhecido como “baseline”, para implementar novos
backups incrementais. Após a publicação de novas aplicações recomendamos que
seja executado um backup incremental para preservar as configurações feitas. O
backup incremental pode ser executado com o servidor de aplicação em
funcionamento, evitando assim a necessidade de agendar uma parada planejada.
Para evitar a proliferação exagerada dos arquivos de backup incremental e
conseqüentemente evitar o aumento do tempo de recuperação, recomendamos que
após configurações extensivas ou mudanças de topologia seja gerado novo backup
completo.
Além das rotinas de “backup e recovery”, o Oracle Application Server também
oferece mecanismo de clonagem. Geralmente o mecanismo de clonagem é utilizado
para escalar horizontalmente o cluster de servidores de aplicação sem necessidade de
instalar e configurar manualmente novas instâncias.
17
Conclusão
A implementação de um servidor de aplicação em ambiente corporativo é uma tarefa
complexa que não deve ser subestimada, porque envolve várias disciplinas,
departamentos e principalmente pessoas. Portanto o sucesso da implementação de
um servidor de aplicação corporativo depende de um planejamento realista e
abrangente que vai muito além das tarefas de instalação e configuração.
As 10 dicas apresentadas por este documento mostraram procedimentos para
facilitar a instalação, configuração, manutenção e evolução do Oracle Application
Server. Também detalhamos o papel do ASA e o uso de ferramentas pró-ativas para
gerência dos níveis de serviço.

Weitere ähnliche Inhalte

Ähnlich wie 10 Dicas para Implementacao do OracleAS

ODI SERIES - Melhores Práticas
ODI SERIES - Melhores PráticasODI SERIES - Melhores Práticas
ODI SERIES - Melhores PráticasCaio Lima
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoLuiz Costa
 
Conceitos e dicas para profissionais de datacenter
Conceitos e dicas para profissionais de datacenterConceitos e dicas para profissionais de datacenter
Conceitos e dicas para profissionais de datacenterFabio Leandro
 
Forefront TMG - Planejando corretamente
Forefront TMG - Planejando corretamenteForefront TMG - Planejando corretamente
Forefront TMG - Planejando corretamenteUilson Souza
 
DDD e Microsservicos - do negócio à arquitetura
DDD e Microsservicos - do negócio à arquiteturaDDD e Microsservicos - do negócio à arquitetura
DDD e Microsservicos - do negócio à arquiteturaGraziella Bonizi
 
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...MySQL Brasil
 
Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014MySQL Brasil
 
Hexagonal Rails
Hexagonal RailsHexagonal Rails
Hexagonal RailsLuiz Costa
 
People soft on rac sig.en.pt
People soft on rac sig.en.ptPeople soft on rac sig.en.pt
People soft on rac sig.en.ptsaulfreitas
 
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...minastestingconference
 
Risco em projetos cloud computing
Risco em projetos cloud computingRisco em projetos cloud computing
Risco em projetos cloud computingAlfredo Santos
 
Sistemas Operativos Servidores
Sistemas Operativos ServidoresSistemas Operativos Servidores
Sistemas Operativos ServidoresAlexandre Maia
 
GUOB - Passa-a-passo para migração do Oracle Database 11g
GUOB - Passa-a-passo para migração do Oracle Database 11gGUOB - Passa-a-passo para migração do Oracle Database 11g
GUOB - Passa-a-passo para migração do Oracle Database 11gRodrigo Almeida
 
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...tdc-globalcode
 

Ähnlich wie 10 Dicas para Implementacao do OracleAS (20)

ODI SERIES - Melhores Práticas
ODI SERIES - Melhores PráticasODI SERIES - Melhores Práticas
ODI SERIES - Melhores Práticas
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
 
Servico ad
Servico adServico ad
Servico ad
 
ORACLE ADVANCED SECURITY
ORACLE ADVANCED SECURITYORACLE ADVANCED SECURITY
ORACLE ADVANCED SECURITY
 
Conceitos e dicas para profissionais de datacenter
Conceitos e dicas para profissionais de datacenterConceitos e dicas para profissionais de datacenter
Conceitos e dicas para profissionais de datacenter
 
Forefront TMG - Planejando corretamente
Forefront TMG - Planejando corretamenteForefront TMG - Planejando corretamente
Forefront TMG - Planejando corretamente
 
DDD e Microsservicos - do negócio à arquitetura
DDD e Microsservicos - do negócio à arquiteturaDDD e Microsservicos - do negócio à arquitetura
DDD e Microsservicos - do negócio à arquitetura
 
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
 
Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014
 
Apostila oracle
Apostila oracleApostila oracle
Apostila oracle
 
Java Web, o Tutorial
Java Web, o TutorialJava Web, o Tutorial
Java Web, o Tutorial
 
Oracleplsql
OracleplsqlOracleplsql
Oracleplsql
 
Hexagonal Rails
Hexagonal RailsHexagonal Rails
Hexagonal Rails
 
People soft on rac sig.en.pt
People soft on rac sig.en.ptPeople soft on rac sig.en.pt
People soft on rac sig.en.pt
 
Instalacao eclipse-servidor-tomcat
Instalacao eclipse-servidor-tomcatInstalacao eclipse-servidor-tomcat
Instalacao eclipse-servidor-tomcat
 
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
 
Risco em projetos cloud computing
Risco em projetos cloud computingRisco em projetos cloud computing
Risco em projetos cloud computing
 
Sistemas Operativos Servidores
Sistemas Operativos ServidoresSistemas Operativos Servidores
Sistemas Operativos Servidores
 
GUOB - Passa-a-passo para migração do Oracle Database 11g
GUOB - Passa-a-passo para migração do Oracle Database 11gGUOB - Passa-a-passo para migração do Oracle Database 11g
GUOB - Passa-a-passo para migração do Oracle Database 11g
 
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
 

10 Dicas para Implementacao do OracleAS

  • 1. 10 Dicas para Implementação do OracleAS.doc 10 DICAS PARA IMPLEMENTAÇÃO DO ORACLE APPLICATION SERVER EM AMBIENTES CORPORATIVOS Autor : Oracle do Brasil Sistemas Ltda. Alexandre Viana Consultor de Vendas Sênior Revisão : Márcio Butuem Roberto Talarico Nogueira Data : 17/04/2008 Versão : 1.1
  • 2. ii Índice Introdução................................................................................................................................1 10 Dicas ....................................................................................................................................2 1. Determine os Requisitos de Disponibilidade, Performance e Segurança ............2 2. Adote uma Topologia de Referência.........................................................................4 3. Antecipe Problemas Conhecidos...............................................................................5 4. Formalize um Mediador entre as Áreas Envolvidas ..............................................8 5. Estabeleça Pontos de Controle durante a Instalação e Configuração...................8 6. Capacite Administradores de Servidor de Aplicação.............................................9 7. Defina Regras para a Publicação de Aplicações....................................................10 8. Estabeleça Níveis de Serviço ....................................................................................12 9. Monitore Atualizações e Alertas de Segurança.....................................................14 10. Estabeleça Rotinas de Backup e Recovery............................................................15 Conclusão...............................................................................................................................17
  • 3. 10 Dicas para Implementação do OracleAS.doc Introdução Este documento visa apresentar de maneira simples e objetiva 10 dicas para a implementação do Oracle Application Server em ambientes corporativos. Tais dicas são fruto da experiência dos Consultores de Vendas da Oracle do Brasil e foram concebidas a partir de projetos, protótipo e demonstrações executadas em diversos clientes no Brasil e América Latina. Apesar de abordar diretamente o Oracle Application Server este documento pode ser utilizado para guiar o processo de implementação de qualquer servidor de aplicação.
  • 4. 2 10 Dicas 1. Determine os Requisitos de Disponibilidade, Performance e Segurança Os requisitos de disponibilidade, performance e seguranças exigidos pela sua solução irão determinar o custo e complexidade da instalação, configuração e manutenção do servidor de aplicação, deste modo seja realista e utilize critérios objetivos e mensuráveis para determinar os requisitos necessários ao seu ambiente. Neste caso a regra “one size does not fit all” deve ser levada a sério, visto que para cada ambiente iremos encontrar requisitos diferentes. Portanto resista ao desejo de implementar o supra-sumo da tecnologia e reflita. Para auxiliar o processo de reflexão sobre os requisitos de disponibilidade, performance e segurança exigidos pela sua solução, avalie os seguintes fatos. Disponibilidade Uma boa maneira de determinar os requisitos de disponibilidade exigidos por uma solução é avaliar o impacto de uma interrupção para a imagem e faturamento da empresa. Para instituições governamentais também vale a pena levar em conta o impacto social. A análise dos impactos econômicos e sociais irá determinar a estratégia de alta disponibilidade a ser adotada. Para cenários com baixo impacto podemos adotar modelos menos sofisticados e custosos baseados em arquitetura ativa-passiva, também conhecida como “cold failover”. Figura 1: Modelo de arquitetura baseado em cold failover Mais informações sobre “cold failover” podem ser encontradas no Oracle Application Server High Availability Guide.
  • 5. 3 Já para cenários com alto impacto econômico ou social será necessário adotar modelos mais sofisticados com arquitetura sem ponto único de falha, onde todos os componentes da solução são redundantes, chegando até a cenários com sites remotos para evitar desastres e catástrofes naturais. Neste tipo de arquitetura será necessário instalar e configurar o servidor de aplicação em conjunto com outras soluções de hardware como global load balancers e discos compartilhados. Também será necessário implementar o mecanismo de sincronização entre o site principal e o site secundário. No caso do Oracle Application Server estes procedimentos são automatizados pelo Application Server Guard. Figura 2: Modelo de arquitetura com site remoto Performance e Escalabilidade Para determinar os requisitos de escalabilidade e performance da sua solução geralmente é necessário executar testes de carga para determinar, de acordo com os níveis de serviço esperados, o ponto de saturação dos recursos computacionais (cpu, memória ou disco). Exemplo: Um equipamento X é capaz de atender 1000 usuários simultâneos com 85% de consumo de cpu e tempo de resposta inferior a 5 segundos. Para gerar e executar os testes de carga, podem ser utilizadas ferramentas como Oracle Empirix e-Load, Compuware QALoad, Mercury Load Runner e Apache JMeter. A partir do ponto de saturação será possível calcular o número de equipamentos para acomodar a sua solução e, conseqüentemente, determinar a arquitetura do servidor de aplicação. Lembre-se que quanto maior o número de equipamentos mais complexa será a instalação e configuração do servidor de aplicação, já que na maioria dos casos também será necessário configurar mecanismos para balanceamento de carga e cache. Segurança Para determinar o nível de segurança exigido pela sua solução será necessário primeiramente identificar o meio de acesso às aplicações (internet, intranet e extranet). A partir do meio de acesso às aplicações será possível prever a complexidade da instalação e configuração do servidor de aplicação, uma vez que aplicações acessadas pela intranet geralmente apresentam requisitos menos sofisticados do que aplicações acessadas pela internet. Existe também a possibilidade de permitir acesso às aplicações tanto pela internet quanto pela intranet, caracterizando assim uma extranet. Neste cenário, o principal complicador do processo de instalação e configuração do servidor de aplicação é o uso de zonas desmilitarizadas (DMZ). Geralmente as zonas desmilitarizadas (DMZ) são utilizadas para segmentar, via firewalls, o acesso dos usuários de internet às aplicações e recursos computacionais hospedados na intranet
  • 6. 4 da empresa, deste modo os componentes do servidor de aplicação como servidor HTTP, container J2EE, diretório LDAP e repositório de metadados deverão ser instalados em equipamentos distintos localizados em zonas separadas, aumentando assim a complexidade da instalação. Figura 3: Exemplo de uma DMZ Além das zonas desmilitarizadas, outro complicador para instalação e configuração do servidor de aplicação é o uso de canais e comunicação criptografados (SSL). Geralmente o canal de comunicação criptografado começa no browser (cliente) e termina no servidor HTTP, mas em alguns casos, o canal de comunicação criptografado deverá ser estendido até o banco de dados corporativo, evitando assim que usuários internos, localizados dentro da rede da empresa, possam obter informações privilegiadas. 2. Adote uma Topologia de Referência Tenha em mente que você não é o primeiro a implementar um servidor de aplicação em ambiente corporativo, deste modo procure e adote uma topologia de referência. Neste caso o lema “aprenda com os erros dos outros” deve ser levado à risca. Adotar uma topologia de referência reduz drasticamente o risco de um servidor de aplicação em ambientes corporativos, porque você não terá que idealizar do zero todas as etapas de instalação e configuração, principalmente o que diz respeito ao firewall, load balancer e DMZ. Neste sentido, a Oracle fez um excelente trabalho e criou uma série de manuais com topologias certificadas para guiar o processo de instalação e configuração do Oracle Application Server no seu ambiente. Tais topologias de referência podem ser encontradas no Oracle Application Server Enterprise Topology Guide. O Oracle Application Server Enterprise Topology Guide apresenta um passo-a-passo para instalação e configuração do Oracle Application Server com diagramas detalhados para ambientes de desenvolvimento e produção, sendo que para o ambiente de produção questões relativas à alta disponibilidade, performance e segurança já foram resolvidas. O Oracle Application Server Enterprise Topology Guide também oferece topologias específicas para as soluções de Identity Management, Enterprise Portals, Business Intelligence e SOA.
  • 7. 5 Figura 4: Oracle Application Server Enterprise Topology Guide – MyJ2EE Company Utilize o Oracle Application Server Enterprise Topology Guide como o seu guia de referência e só comece o processo de instalação e configuração após estudar e entender qual topologia atende aos requisitos do seu ambiente. O ideal é personalizar um dos diagramas de topologia oferecidos para documentar o processo de instalação e configuração. Este diagrama personalizado será uma excelente ferramenta para discutir e comunicar os pré-requisitos de instalação com todas as áreas envolvidas (redes, sistemas operacionais e banco de dados). 3. Antecipe Problemas Conhecidos Muitos dos problemas ocorridos durante o processo de instalação e configuração do Oracle Application Server podem ser evitados seguindo os pré-requisitos de instalação. Os principais problemas estão relacionados à configuração do sistema operacional e rede.
  • 8. 6 Sistemas Operacionais • Loopback o Se você for instalar o Oracle Application Server em um equipamento desconectado da rede ou com IP dinâmico habilitado crie um adaptador virtual de rede com loopback . Esta dica é extremamente útil para plataforma Windows. Mais informações sobre loopback podem ser encontradas no manual de instalação do Oracle Application Server • Atualizações o Para sistemas operacionais como Linux e Unix confira a lista de packages e atualizações para o seu sistema operacional antes de começar a instalação do Oracle Application Server. Seja criterioso nesta etapa, pois a falta de uma atualização ou uma possível incompatibilidade de versão pode gerar problemas de pos-instalação e configuração difíceis de serem identificados. o Visite o site http://metalink.oracle.com para verificar se o seu sistema operacional é compatível com o Oracle Application Server • TCP/IP o O bom funcionamento do Oracle Application Server exige que alguns parâmetros de configuração da pilha TCP/IP do seu sistema operacional sejam alterados. Verifique estes parâmetros antes de iniciar a instalação. Para as plataformas Linux e Unix execute o script tcpset.sh fornecido pela Oracle. Mais informações sobre TCP/IP podem ser encontradas no manual de administração do Oracle HTTP Server. Firewalls • Alocação Dinâmica de Portas o O Oracle Application Server utiliza vários protocolos como HTTP, AJP, IIOP, RMI, LDAP e Oracle Net em tempo de execução. Alguns desses protocolos alocam portas dinamicamente de acordo com valores pré-definidos, portanto verifique se o seu firewall suporta tais protocolos. o Alguns administradores de rede não permitem a alocação dinâmica de portas. Para estes clientes recomendamos o uso de técnicas de TCP Tunneling. Mais informações sobre TCP Tunneling podem ser encontradas no manual de instalação do Oracle Application Server. • Time-out o O Oracle Application Server utiliza conexão persistente com alguns dos seus componentes, principalmente com o diretório LDAP e SGBD, portanto é necessário ajustar ou desabilitar o time out de conexão do seu firewall para evitar problemas durante a execução do servidor de aplicação.
  • 9. 7 • SSL Termination o Alguns firewalls funcionam também como aceleradores de SSL, neste caso a comunicação SSL é gerenciada pelo próprio firewall. Caso você possua um hardware para acelerar comunicação SSL verifique se existe alguma configuração específica para o Oracle Application Server. Load Balancer • Virtual Hosts o Freqüentemente a instalação e configuração do Oracle Application Server exige a criação de apelidos (virtual hosts) para virtualizar o acesso aos recursos do servidor de aplicação. Utilizando esta técnica é possível escalar horizontalmente o servidor de aplicação com baixo impacto de configuração. Antes de iniciar a instalação do Oracle Application Server crie e teste todos os apelidos (virtual hosts) necessários. • Afinidade de Sessão o Para que o cluster de servidores de aplicação funcione perfeitamente é necessário habilitar e configurar o mecanismo de afinidade de sessão do seu load balancer. Tal mecanismo permite que o load balancer mantenha uma tabela de roteamento entre os clientes e os servidores de aplicações do cluster, garantindo assim que as requisições de um determinado cliente sempre sejam atendidas pelo mesmo servidor de aplicação do cluster. Geralmente a associação entre o cliente e o servidor de aplicação é implementada através de um cookie (JSESSIONID). • Detecção de Morte o Para implementar a realocação da carga de trabalho em caso de falha de um dos servidores HTTP do cluster é necessário habilitar e configurar o mecanismo de detecção de morte do load balancer. Tal mecanismo pode variar de acordo com o modelo e versão do seu load balancer. Para load balancers mais antigos o mecanismo de ping é utilizado para detecção de morte, já para load balancers mais modernos é possível analisar a resposta do servidor (HTTP Headers, HTTP Erro Code e HTML Content). Verifique a documentação do seu load balancer e se existe alguma configuração especial para o Oracle Application Server. A Oracle realizou testes funcionais com alguns Firewalls e Load Balancers de mercado. Para maiores detalhes visite o site abaixo. http://www.oracle.com/technology/products/ias/hi_av/Tested_LBR_FW_SSLAcc el.html
  • 10. 8 4. Formalize um Mediador entre as Áreas Envolvidas Se você seguiu as dicas contidas neste documento até agora, você já determinou os requisitos de disponibilidade, performance e segurança do seu ambiente, já escolheu uma topologia de referência, já previu problemas conhecidos e deve estar ansioso para botar a mão na massa e executar o runinstaller1 pela primeira vez, entretanto não devemos esquecer o fator humano. A instalação do Oracle Application Server em ambiente corporativo requer a integração e comunicação com vários departamentos e pessoas como administradores de sistemas operacionais, administradores de redes e administradores de banco de dados, portanto vale a pena formalizar um mediador entre as áreas envolvidas. O papel do mediador, principalmente em grandes empresas e órgãos públicos, é facilitar a comunicação entre os envolvidos e garantir a celeridade do processo de instalação e configuração. O principal problema que o mediador enfrenta durante o processo de instalação do servidor de aplicação é garantir a seqüência de execução dos procedimentos necessários, uma vez que cada área envolvida possui sua própria agenda e lista de prioridades. Para evitar este problema é recomendo marcar uma reunião com todas as áreas envolvidas antes de iniciar a instalação e apresentar o diagrama com a topologia detalhada. Deste modo cada área poderá visualizar e entender sua importância para o sucesso do processo de instalação, minimizando assim problemas de comunicação. 5. Estabeleça Pontos de Controle durante a Instalação e Configuração Chegou a hora de botar a mão na massa e iniciar o processo de instalação. Para evitar que este trabalho dure mais do que o necessário vale a pena estabelecer alguns pontos de controle. O processo de instalação do Oracle Application Server deve ser divido em fases. A primeira fase diz respeito à instalação dos serviços compartilhados, também conhecidos como “infra-estrutura” (repositório de metadados, diretório LDAP e serviços de segurança). Já a segunda fase diz respeito à instalação do servidor de aplicação propriamente dito (Web Cache, HTTP Server e J2EE Container). Para guiar o processo de instalação utilize o Oracle Application Server Enterprise Topology Guide juntamente com o manual de instalação do Oracle Application Server. Utilize também o arquivo staticports.ini para definir em tempo de instalação todas as portas necessárias, conforme o seu diagrama de topologia. Após a instalação de cada um dos componentes do Oracle Application Server realize testes funcionais para comprovar se tudo funciona perfeitamente. Caso os testes funcionais sejam executados com sucesso, faça um backup completo off-line de cada componente antes de prosseguir para a próxima fase. Este procedimento garante que 1 RunInstaller é o utilitário de instalação do Oracle Application Server.
  • 11. 9 em caso de falha ou erro humano de configuração você possa restabelecer rapidamente o ambiente sem necessidade de re-instalação. Para clientes que utilizam o conceito de máquinas virtuais (VMWare ou Xen) o mesmo benefício pode ser alcançado criando-se um snapshot. Finalmente não esqueça de ler o manual de pós-instalação. Neste manual estão catalogados os erros conhecidos, alguns workarounds e principalmente “patches” recomendados. 6. Capacite Administradores de Servidor de Aplicação O servidor de aplicação, assim como o banco de dados, requer mão-de-obra especializada para garantir o seu perfeito funcionamento. Levando em consideração essa premissa é muito importante capacitar um Administrador de Servidor de Aplicação (ASA). O ASA é uma nova profissão que ainda não foi bem entendida e assimilada pelas empresas. A maneira mais fácil de entender o papel do ASA é compará-lo ao DBA. Ambos possuem atribuições importantes que vão além da instalação e configuração, pois tanto o banco de dados quanto o servidor de aplicação necessitam de ajuste fino, backup, recovery e atualizações. Neste caso o lema “novas tecnologias geram novas profissões” deve ser levado a sério. Por se tratar de uma carreira recente, o perfil do ASA ainda está em desenvolvimento, entretanto podemos afirmar que o ASA deve conhecer no mínimo: • J2EE o O ASA não precisa codificar em Java, entretanto ele precisa entender profundamente o comportamento dos vários componentes de uma aplicação J2EE em tempo de execução (applets, jsp, servlets, ejb, adaptadores e etc). Esse conhecimento será muito útil para diagnosticar problemas e para realizar ajustes finos. • Redes o O ASA precisa entender profundamente o relacionamento do servidor de aplicação com os vários elementos e recursos de rede como proxy, NAT, firewalls e load balancers. Este conhecimento vai ser muito útil para configurar o servidor de aplicação e diagnosticar problemas de comunicação e conectividade. • Sistema Operacional o O servidor de aplicação é um voraz consumidor de recursos, portanto o ASA deve possuir bons conhecimentos sobre o ajuste fino do sistema operacional, principalmente o que diz respeito a threads e TCP/IP. • JVM o O ajuste fino da máquina virtual Java (JVM) é responsabilidade da ASA. Muitos problemas de performance estão relacionados ao tamanho da JVM e a freqüência com que a limpeza da memória é
  • 12. 10 executada (garbage collection). Existem vários parâmetros e técnicas de configuração da JVM que a ASA deve conhecer. Para mais informações visite http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html. A Oracle oferece treinamentos específicos para capacitar administradores de servidor de aplicação. Também é possível obter certificação OCA (Oracle Certified Associate). Para mais informações viste o site http://education.oracle.com 7. Defina Regras para a Publicação de Aplicações Após a instalação e configuração do servidor de aplicação chegou a hora de publicar as primeiras aplicações no ambiente de produção. Dentro do escopo desse documento, entendemos que as aplicações que serão publicadas já passaram pelas etapas de testes e homologação. Este procedimento é muito importante para reduzir a chance de colocar em produção aplicações com problemas crônicos de performance e escalabilidade. A publicação de aplicações no ambiente de produção é responsabilidade do ASA, portanto cabe a ele definir e formalizar os procedimentos necessários. Empacotamento Para publicar uma aplicação no servidor de aplicação geralmente é necessário gerar arquivos do tipo EAR (Enterprise Application Archive) ou WAR (Web Application Archive). Tais arquivos são o resultado da compilação e empacotamento de uma determinada versão do código fonte da aplicação, deste modo é imprescindível manter o sincronismo entre o código de fonte gerado pelo desenvolvedor e o código compilado que será executado pelo servidor de aplicação. O ideal é criar um processo de compilação e empacotamento automatizado de modo que a única informação trocada entre a equipe de desenvolvimento e o ASA seja o número da versão da aplicação a ser publicada. Para auxiliar o processo de compilação e empacotamento é recomendável utilizar ferramentas de Software Configuration Management (SCM). Atualmente existem várias ferramentas de SCM disponíveis no mercado como StarTeam, Perforce, ClearCase, Subversion e Maven. Para facilitar a integração de ferramentas de SCM com o Oracle Application Server é possível utilizar vários scripts ANT fornecidos pela Oracle. Além do código compilado, os arquivos do tipo EAR e WAR também possuem metadados (applicatiom.xml, web.xml e ejb-jar.xml) e bibliotecas (arquivos JAR) utilizadas pela aplicação. Recomendamos especial atenção ao empacotamento de bibliotecas, principalmente para aplicações que utilizam frameworks como Hibernate, Struts, Axis e Spring. Este procedimento é muito importante para evitar problemas como duplicação e incompatibilidade de versões. Para mais informações sobre empacotamento portável de bibliotecas recomendamos a leitura do artigo abaixo http://java.sun.com/j2ee/verified/packaging.html.
  • 13. 11 Recursos Compartilhados A maioria das aplicações publicadas no servidor de aplicação utiliza recursos compartilhados como pool de conexões JDBC, filas JMS e adaptadores JCA. Cabe ao ASA criar e configurar tais recursos antes de publicar as aplicações no ambiente de produção. No caso do Oracle Application Server recomendamos o uso do Oracle Enterprise Manager para criar e configurar os recursos compartilhados, tanto para uma instância do servidor de aplicação quanto para todos os membros de um cluster. Figura 5: Tela do Enterprise Manager para configuração e teste de pool de conexões JDBC Figura 6: Tela do Enterprise Manager para configuração de filas JMS Ocultar Informações sobre o Ambiente de Produção O ASA também deve implementar mecanismos para ocultar da equipe de desenvolvimento informações sobre os recursos compartilhados usados no ambiente de produção (banco de dados, filas, servidores de email e etc), garantindo assim a integridade do ambiente. Para resolver este problema tanto o desenvolvedor quanto o ASA devem utilizar apelidos para identificar e acessar os recursos compartilhados utilizados pela aplicação. O uso de apelidos, também conhecido como “Portable JNDI Resource Lookup”, permite que o ASA defina durante a publicação da aplicação o mapeamento entre o apelido (nome lógico) e o recurso físico (banco de dados, filas, servidores de email e etc) sem que seja necessário alterar o código ou arquivos de configuração da aplicação. Mais informações sobre apelidos podem ser encontradas no manual Oracle® Containers for J2EE Services Guide 10g Release 3 (10.1.3).
  • 14. 12 Segregar Aplicações em Instâncias Novas aplicações devem ser publicadas em instâncias isoladas do servidor de aplicação em regime de observação, para que uma eventual falha ou problema de performance não afete outras aplicações previamente publicadas. Após conclusão do período de observação, as novas aplicações podem ser migradas para instâncias compartilhadas do servidor de aplicação. Já para aplicações críticas com requisitos avançados de performance e disponibilidade é recomendável sempre utilizar instâncias dedicadas do servidor de aplicação, uma vez que será mais fácil implementar ajustes finos e detectar problemas. Para facilitar a configuração e gerência de várias instâncias do servidor de aplicação utilize o Oracle Enterprise Manager. Através do Oracle Enterprise Manager o ASA pode criar e configurar graficamente grupos com uma ou mais instâncias do servidor de aplicação. Também é possível configurar dinamicamente o número de processos (máquinas virtuais Java) e recursos que cada instância do servidor de aplicação pode alocar em tempo de execução. Figura 7: Tela do Enterprise Manager para configuração de instâncias 8. Estabeleça Níveis de Serviço Após a publicação das primeiras aplicações, chegou a hora de abordar tarefas administrativas que ajudarão a manter e evoluir o servidor de aplicação. Uma das tarefas administrativas mais importantes é garantir que as aplicações publicadas trabalhem dentro dos níveis de serviço desejados pelos usuários finais.
  • 15. 13 Geralmente os níveis de serviço de cada aplicação são medidos através de indicadores de disponibilidade e performance. O indicador de disponibilidade é calculado pela razão entre os períodos de atividade e inatividade da aplicação, sendo que os períodos de inatividade englobam paradas planejadas e não planejadas. Já o indicador de performance é baseado no tempo máximo de resposta de uma transação. Os indicadores de disponibilidade e performance devem ser definidos pelo ASA em conjunto com os analistas de negócio e usuários finais. Para monitorar os indicadores de disponibilidade e performance das aplicações publicadas no Oracle Application Server recomendamos o uso do Application Service Level Management Pack. Tal ferramenta utiliza agentes e scripts customizados para monitorar a disponibilidade e performance das aplicações e dos componentes do Oracle Application Server. Através dos agentes e scripts customizados é possível executar testes funcionais periódicos para assegurar que a aplicação está ativa e dentro dos padrões preestabelecidos. Figura 8: Tela do Grid Control para configuração de testes Todos os dados coletados durante a execução dos testes são armazenados no repositório de metadados da solução, permitindo que o ASA possa manter um acompanhamento histórico dos indicadores de disponibilidade e performance. Figura 9: Tela do Grid Control para acompanhamento históricos da disponibilidade
  • 16. 14 O acompanhamento histórico dos indicadores de performance e disponibilidade favorece a administração pró-ativa do servidor de aplicação, uma vez que o ASA poderá agir preventivamente, analisando tendências e antecipando reclamações dos usuários finais. O acompanhamento histórico dos indicadores também facilita a detecção de gargalos, orientando assim as atividades de ajuste fino. Figura 10: Tela do Grid Control para acompanhamento das requisições mais lentas Para o detalhamento dos problemas críticos de performance recomendamos o uso de ferramentas de “Root Cause Analisys” como o Oracle Application Diagnostic For Java. Tal ferramenta permite identificar e isolar problemas críticos de performance como vazamento de memória, contenção de recursos e travamentos através do rastreamento detalhado do comportamento da máquina virtual Java. 9. Monitore Atualizações e Alertas de Segurança O servidor de aplicação está constantemente evoluindo. Novas atualizações e correções são lançadas freqüentemente, portanto cabe ao ASA monitorar e avaliar o impacto de tais atualizações no ambiente de produção. Além das atualizações e correções também é responsabilidade do ASA monitorar os alertas de segurança. Este procedimento é fundamental para garantir a integridade do servidor de aplicação, evitando assim ataques baseados em vulnerabilidades conhecidas. Para facilitar a identificação das atualizações e alertas de segurança recomendamos o uso do Configuration Management Pack. Tal ferramenta possui comunicação ativa com a base de suporte da Oracle (Metalink). Deste modo o ASA é notificado toda vez que uma nova atualização, correção ou alerta de segurança é publicado. Além de se comunicar com o Metalink, o Configuration Management Pack também mantém um inventário com informações sobre todos os servidores de aplicação instalados na sua empresa. Tal inventário é imprescindível para avaliar o impacto das atualizações e alertas de segurança, visto que através do inventário é possível identificar quais máquinas, instâncias e componentes do servidor de aplicação foram afetados. Mais informações sobre o Configuration Management Pack podem ser encontradas no paper http://www.oracle.com/technology/products/oem/pdf/ds_as_cmp.pdf
  • 17. 15 Figura 11: Tela do Grid Control para pesquisa de atualizações 10. Estabeleça Rotinas de Backup e Recovery Para preservar o estado do servidor de aplicação e evitar longos processos de re- instalação e configuração vale a pena criar e estabelecer rotinas de backup e recovery. Cada servidor de aplicação disponível no mercado possui mecanismos distintos para implementação de rotinas de backup e recovery. É responsabilidade do ASA avaliar a solução mais aderente a sua necessidade. No caso do Oracle Application Server o ASA pode contar com o Provisioning Pack para implementar graficamente os procedimentos de backup, recovery e clonagem. Figura 12: Tela do Grid Control para definição e agendamento dos backups
  • 18. 16 Para guiar o procedimento de backup e recovery recomendamos que após a instalação do servidor de aplicação seja realizado um backup completo off-line de todos os componentes. A partir do backup completo será possível estabelecer um ponto de partida, também conhecido como “baseline”, para implementar novos backups incrementais. Após a publicação de novas aplicações recomendamos que seja executado um backup incremental para preservar as configurações feitas. O backup incremental pode ser executado com o servidor de aplicação em funcionamento, evitando assim a necessidade de agendar uma parada planejada. Para evitar a proliferação exagerada dos arquivos de backup incremental e conseqüentemente evitar o aumento do tempo de recuperação, recomendamos que após configurações extensivas ou mudanças de topologia seja gerado novo backup completo. Além das rotinas de “backup e recovery”, o Oracle Application Server também oferece mecanismo de clonagem. Geralmente o mecanismo de clonagem é utilizado para escalar horizontalmente o cluster de servidores de aplicação sem necessidade de instalar e configurar manualmente novas instâncias.
  • 19. 17 Conclusão A implementação de um servidor de aplicação em ambiente corporativo é uma tarefa complexa que não deve ser subestimada, porque envolve várias disciplinas, departamentos e principalmente pessoas. Portanto o sucesso da implementação de um servidor de aplicação corporativo depende de um planejamento realista e abrangente que vai muito além das tarefas de instalação e configuração. As 10 dicas apresentadas por este documento mostraram procedimentos para facilitar a instalação, configuração, manutenção e evolução do Oracle Application Server. Também detalhamos o papel do ASA e o uso de ferramentas pró-ativas para gerência dos níveis de serviço.