Você está na página 1de 18

Modernizar suas

aplicações Java
Quatro histórias de inovação habilitada pela nuvem
para performance, segurança e experiência do cliente
Modernizar suas aplicações Java 2

Introdução

1 Melhorar a performance
e a experiência do cliente

2 Simplificar o desenvolvimento
e a implantação

3 Criar soluções multilocatário e atender


às necessidades dos clientes globais

4 Otimizar, escalar e impulsionar


a inovação

Conclusão
Modernizar suas aplicações Java 3

Introdução
De gigantes nativos digitais, como Twitter, Netflix e Uber, a empresas com portfólios herdados,
o Java está alimentando nosso mundo digital[1][2]. Com a recente mudança dramática dos
consumidores em direção aos canais online, as empresas aceleraram a adoção de tecnologias
digitais em vários anos. Para se manterem competitivas nesse ambiente e estarem melhor
preparadas para futuras interrupções, as organizações estão modernizando suas aplicações
críticas para os negócios e acelerando seu investimento em tecnologias e adoção da nuvem.

A pesquisa realizada pela Coding Dojo sobre as tecnologias de programação mais procuradas
pelas principais start-ups do mundo mostra o Java entre as três principais linguagens, o que não
é surpresa, pois ele continua a ter um reconhecimento significativo dos desenvolvedores e também
é uma das três linguagens de programação mais populares relatadas pela RedMonk e pela PyPL.
Muitas organizações têm investimentos substanciais em aplicações Java de missão crítica em
execução na infraestrutura local e precisam de ambientes com suporte total para executar essas
aplicações na nuvem.

Nos últimos anos, o cenário do ecossistema Java evoluiu, desde aplicações Java EE monolíticas
executadas em servidores de aplicações e o Spring Framework até modernos microsserviços Spring
Boot, MicroProfile e Jakarta EE com volume menor. Os estudos de caso a seguir mostram como
a modernização de diferentes aplicações Java com serviços gerenciados na nuvem capacita as
organizações a inovar, melhora a eficiência de custos e aumenta a escalabilidade, ao mesmo tempo
em que atende a rigorosos requisitos regulatórios e de segurança. Eles destacam como a nuvem
oferece aos desenvolvedores e profissionais de TI mais flexibilidade para se concentrarem em
prioridades de negócios e inovação, em vez de gerenciamento de infraestrutura. Em última análise,
isso leva à melhoria da produtividade e da satisfação geral dos clientes.

1 https://stackshare.io/java
2 https://www.jrebel.com/blog/2021-java-technology-report
Modernizar suas aplicações Java 4

1.
Melhorar a performance
e a experiência do cliente

A AIA Singapore Private Limited é uma subsidiária do AIA Group Limited, líder em seguros de vida
e serviços financeiros, com filiais e subsidiárias em 18 mercados da Ásia-Pacífico. Desde 1931, a AIA
Singapore tem atendido gerações de cingapurenses, oferecendo suporte ao longo de suas vidas.
A empresa é reconhecida pela sua liderança em tecnologia de negócios. Quando a empresa lançou
a aplicação de ponto de venda interativo (iPoS) há alguns anos, foi uma das primeiras seguradoras
a lançar uma aplicação de negócios proeminente disponível em tablets móveis.

Com mais clientes preferindo serviços online, a empresa queria fornecer uma experiência perfeita na Web
e ferramentas digitais mais inovadoras aos clientes. Mas com picos imprevisíveis no tráfego e servidores
subutilizados na infraestrutura local, a empresa exigia eficiências de nuvem e uma plataforma mais
moderna.

Jornada para a nuvem

A AIA Singapore escolheu o Azure para seu plano ambicioso de transformar e aprimorar ainda mais
todas as suas plataformas. O Azure atendeu a todos os requisitos com sua resiliência, recursos de
escala automática, provisionamento sob demanda, opções de open source,
além de alta disponibilidade e disaster recovery integrados.

A aplicação iPoS é apenas um de muitos workloads vitais baseados em Java que a empresa migrou
para o Azure. A AIA Singapore modernizou mais de 80 aplicações Java 6 críticas para os negócios
em execução em diferentes versões dos servidores da aplicação JBoss Enterprise Application
Platform (EAP) migrando-as para o Apache Tomcat, uma implementação open source do ambiente
do servidor Web em que o código Java pode ser executado. Isso permitiu que a AIA Singapore
aproveitasse os contêineres e o Serviço de Kubernetes do Azure (AKS), o popular orquestrador
de contêineres que oferece uma maneira conveniente de hospedar aplicações em grande escala.
Modernizar suas aplicações Java 5

Algumas aplicações precisavam de integração a vários sistemas na infraestrutura local em grande


escala, e uma configuração híbrida ofereceu à AIA Singapore a flexibilidade para avançar em um
ritmo mais rápido que funcionasse para a empresa. “Modernizamos nossa aplicação Web para
possibilitar a execução no AKS”, explica Deepa Manogaran da equipe da iPoS na AIA Singapore.
“O AKS é muito fácil de adaptar. Agora, nossa aplicação pode começar em alguns segundos
e atender às solicitações mais rapidamente do que na infraestrutura local.”

A nova arquitetura do Azure implementada pela empresa reflete o modelo de Confiança Zero, que
bloqueia o acesso a recursos de dentro e fora da rede. Para garantir a conformidade, a governança
e as práticas recomendadas, a AIA Singapore utilizou zonas de destino do Azure, um conjunto de
diretrizes de arquitetura, implementações de referência e exemplos de código comprovados para
preparar ambientes de nuvem. Para a continuidade dos negócios, a AIA Singapore espelha seu
principal datacenter do Azure, localizado em Cingapura, em uma região secundária em Hong Kong.
Essa configuração fornece resiliência e disaster recovery, oferecendo tranquilidade à empresa.

Figura 1: Arquitetura híbrida do datacenter principal da AIA Singapore

Como parte de sua jornada digital, a AIA Singapore continua a implantação no Azure à medida que
as aplicações herdadas são atualizadas e migradas. A configuração híbrida é a solução perfeita para
ela, conectando o datacenter existente da empresa na infraestrutura local por meio de uma zona
de destino ao novo datacenter do Azure.
Modernizar suas aplicações Java 6

O Azure libera a equipe do trabalho operacional


pesado do dia a dia para se concentrar na criação
dos principais valores de negócios.”
Nedved Yang
Diretor de Tecnologia Digital, AIA Singapore

Principais benefícios

Melhoria na performance e na escalabilidade de aplicações

Sistemas na infraestrutura local integrados com uma solução de arquitetura híbrida

Aumento da produtividade e entrega acelerada de serviços inovadores

Adquira habilidades relacionadas


Saiba mais sobre como migrar o Tomcat para contêineres no AKS

Zonas de destino do Azure


Modernizar suas aplicações Java 7

2.
Simplificar o desenvolvimento
e a implantação
Há mais de 150 anos, a Swiss Re, uma das maiores resseguradoras do mundo, usa dados para tornar
o mundo mais resiliente. Reconhecendo que a resiliência exige a descoberta de novos modelos de
negócios, a empresa usa serviços do Azure para transformar a indústria de seguros. Nos bastidores,
a equipe de TI de Finanças de Grupo da Swiss Re é responsável por fornecer um serviço estável
e preciso para a empresa, especialmente durante os importantíssimos períodos de encerramento,
quando a empresa publica seus resultados financeiros. A empresa segue o Cloud Security Alliance
Cloud Controls Matrix (CSA CCM), e todas as aplicações devem atender aos padrões definidos pelo
sistema Common Vulnerabilities and Exposures (CVE).

A migração para o Azure foi parte de uma iniciativa de transformação digital que a equipe de TI de
Finanças de Grupo da Swiss Re iniciou para ganhar a inovação e a agilidade contínuas de aplicações
nativas de nuvem. Para reduzir o risco associado à refatoração de aplicações monolíticas, a equipe
de TI adotou o padrão estrangulador em sua jornada de modernização, em que os desenvolvedores
gradualmente atualizam as aplicações Spring Boot da empresa e desativam de forma incremental os
sistemas herdados. A equipe de TI de Finanças de Grupo da Swiss Re também começou a procurar
plataformas gerenciadas para simplificar a vida dos desenvolvedores e habilitar um modelo de
Confiança Zero, em que todas as identidades e os dispositivos em uma rede corporativa devem
ser continuamente verificados.

Jornada para a nuvem

A Swiss Re escolheu o Azure Spring Cloud, uma infraestrutura totalmente gerenciada para aplicações
Spring Boot, para se concentrar em escrever aplicações e executá-las com o mínimo de sobrecarga.
Isso permitiu que os desenvolvedores da Swiss Re se concentrassem na criação da sua lógica
de negócios, enquanto o Azure cuidava de escala dinâmica, patches de segurança, padrões de
conformidade e alta disponibilidade.

A transição para o Azure Spring Cloud foi fácil. Jonathan Jones, Arquiteto Líder de Soluções, TI de
Finanças de Grupo, destaca o quanto a equipe gostou da simplicidade da plataforma. “Fornecemos
um arquivo JAR e temos uma aplicação em execução. Não precisamos de um engenheiro de DevOps
especialista de plantão. Para nós, isso faz muito sentido economicamente.”
Modernizar suas aplicações Java 8

Com o suporte do Azure Spring Cloud para estruturas e ambientes de desenvolvimento integrados
(IDEs) populares, os desenvolvedores Java da Swiss Re puderam continuar trabalhando nos
ambientes escolhidos. Outro benefício da migração para a nuvem é uma maior capacidade de
observação e, com a integração ao Azure Monitor, a equipe tem acesso a logs agregados, métricas
e rastreamentos de aplicações distribuídas em um só lugar para ajudar na solução de problemas.

Antes da publicação da plataforma, a Swiss Re submeteu o Azure a uma difícil bateria de testes de
performance e penetração e o Azure Spring Cloud foi aprovado em todos eles. O Azure Spring
Cloud oferece suporte aos rigorosos requisitos regulatórios e de segurança da empresa e fornece
alcance mundial, o que foi uma consideração importante na migração para a nuvem pública. A Swiss
Re reduziu a superfície de ataque delegando o gerenciamento de rede e computação à Microsoft.
A equipe da Swiss Re criou uma arquitetura que é simples, mas na qual a segurança é primordial.

Figura 2: A Swiss Re hospedando suas aplicações Spring Boot no Azure Spring Cloud

A Swiss Re acelerou seus esforços de modernização hospedando aplicações Spring Boot no Azure
Spring Cloud. A equipe criou uma pista para o desenvolvimento de aplicações e abriu caminho para
outras equipes na TI de Finanças de Grupo.
Modernizar suas aplicações Java 9

Queríamos algo que fosse seguro, fácil e favorável


para desenvolvedores e operações. O Azure
Spring Cloud se encaixou na nossa estratégia.”
Jonathan Jones
Arquiteto Líder de Soluções, TI de Finanças de Grupo, Swiss Re

Principais benefícios

Tempo de comercialização acelerado

Segurança e governança aplicadas

Operações e infraestrutura simplificadas

Adquira habilidades relacionadas


Azure Spring Cloud

Saiba como migrar aplicações Spring Boot para o Azure Spring Cloud
Modernizar suas aplicações Java 10

3.
Criar soluções multilocatário e atender
às necessidades dos clientes globais

Com sede nos Estados Unidos, a Sphera atende milhares de organizações em mais de 100 países
e alcança mais de 1 milhão de usuários individuais. Entre seus clientes estão empresas influentes,
como Siemens, Dow Chemical Company, Shell Oil e BP.

A Sphera tem como objetivo criar um mundo mais seguro, sustentável e produtivo. Com a recente
aquisição de uma tecnologia Java EE para Operational Risk Management (ORM), a Sphera optou
por consolidar seu portfólio e se tornar nativa de nuvem no Azure. A migração forneceu à equipe
de engenharia de ORM a oportunidade de reinventar seu software empacotado como uma oferta
segura e multilocatário de Software como Serviço (SaaS) chamada Sphera Control of Work (CoW).

A equipe de engenharia da Sphera queria se concentrar no domínio e nos recursos, e o mínimo


possível na infraestrutura. Isso significava usar o máximo de serviços PaaS e SaaS possível.

Jornada para a nuvem

Como cliente antiga da Microsoft, a Sphera entrou em contato para obter informações sobre
a melhor maneira de migrar seus workloads Java EE para o Azure. A Microsoft convidou a equipe
da Sphera para participar de um piloto de migração do Java EE, no qual ela poderia trabalhar
com engenheiros do Azure em uma prova de conceito. O objetivo inicial da migração era migrar
as aplicações Java EE para Wildfly no Serviço de Aplicativo do Azure para o Linux, um serviço de
hospedagem gerenciado para aplicações Web, APIs REST e back-ends móveis.
Modernizar suas aplicações Java 11

Durante uma maratona de migração de uma semana, os engenheiros não só colocaram a aplicação
em funcionamento em apenas três dias, mas também concluíram uma longa lista de otimizações.
“Não tínhamos nenhuma experiência com o Azure, portanto, nosso objetivo era adotá-lo e fornecer
um produto mínimo viável. Mas nosso progresso foi muito além de nossas expectativas!”, diz Brian
Laird, Diretor de Engenharia, Sphera. No entanto, a maior vitória foi transformar as aplicações Java
EE com estado em aplicações escaláveis sem estado no Serviço de Aplicativo do Azure para Linux.

Durante a migração, a equipe também realizou mais do que o esperado na camada de dados.
O cache in-memory EclipseLink do produto original foi trocado pelo Cache do Azure para Redis,
um repositório de dados in-memory rápido e totalmente gerenciado. Os dados da aplicação foram
copiados de um banco de dados Oracle na infraestrutura local para o Banco de Dados SQL do Azure
em uma migração que levou pouco mais de um dia. A Sphera agora pode oferecer suporte a clientes
com implantações de bancos de dados Oracle ou SQL Server na infraestrutura local, sem necessidade
de taxas de licenciamento adicionais.

Hoje, a arquitetura da Sphera CoW no Azure executa as principais aplicações Web Java em um plano
flexível do Serviço de Aplicativo do Azure. Para simplificar, dois componentes de terceiros foram
migrados para VMs Linux.

Figura 3: A arquitetura da Sphera CoW no Azure executa as principais aplicações Web Java no Serviço de Aplicativo do Azure
Modernizar suas aplicações Java 12

A migração da pilha Java EE profunda para o Azure ocorreu em fases. Após a maratona de migração,
a equipe configurou e testou uma solução de nuvem SaaS de locatário único. No entanto, para
compartilhar o custo de computação entre diferentes clientes, a Sphera idealizou uma solução
multilocatário. Para isso, era necessário fornecer uma experiência de logon segura que foi alcançada
ativando outro serviço gerenciado, o Azure Active Directory B2C, que fornece identidade como
serviço B2C. Hoje, todos os workloads Java estão anexados ao Azure AD B2C.

A migração da Java EE CoW foi apenas uma parte do esforço maior para criar uma plataforma
de nuvem multilocatário com a escala para atender mais clientes. A SpheraCloud está mudando
a forma como os clientes globais conduzem seus negócios e tornando-os muito mais eficazes.
Uma empresa pode começar com a Sphera CoW, mas a natureza integrada da SpheraCloud no
Azure facilita a adição de mais serviços.
Modernizar suas aplicações Java 13

Nossa estratégia era nos consolidarmos no Azure


e obtermos o benefício de ter tudo em um só lugar.
O Azure facilitou a integração de nossos produtos
e a oferta de mais aos clientes.”
Brian Laird
Diretor de Engenharia, Sphera

Principais benefícios

Uma base de clientes expandida com uma solução segura e multilocatário

A equipe é capaz de se concentrar no desenvolvimento em vez da infraestrutura

Escalabilidade imediata

Adquira habilidades relacionadas


Executar aplicações JBoss EAP/Wildfly no Serviço de Aplicativo

Autenticação e autorização no Serviço de Aplicativo


Modernizar suas aplicações Java 14

4.
Otimizar, escalar e impulsionar
a inovação
Com sede em Sacramento, a Raley's é uma rede de supermercados regional que possui e opera
mais de 130 lojas sob seis marcas na Califórnia e em Nevada. Com cerca de 11.500 funcionários,
é a maior empresa familiar na grande Sacramento. A pandemia de COVID-19 tem levado a um
enorme aumento nas compras online, tornando-as um serviço ininterrupto essencial que deve
permanecer operacional e estável. Para os varejistas de supermercados dos EUA, os períodos de
festas geram as maiores vendas do ano, criando picos de uso previsíveis.

A Raley's precisava modernizar o código e a infraestrutura para seus sites de comércio eletrônico
baseados em Java hospedados no Azure. Ela tinha uma ordem para lidar com a dívida técnica e,
com uma equipe de TI enxuta, precisava de uma maneira eficiente de fazer isso. A Raley's queria
se concentrar em suas aplicações e não ter que se preocupar com a infraestrutura. Ela precisava
melhorar a utilização, reduzir os custos e reduzir o tempo de retorno. O dimensionamento era
em grande parte manual e uma nova solução era necessária para acelerar as implantações.
Mas a equipe só tinha cerca de seis meses para fazer isso. Tudo precisava ser lançado e estabilizado
antes do período mais movimentado da varejista de supermercados dos EUA: o Dia de Ação
de Graças.

Jornada para a nuvem

Para melhorar a flexibilidade e a resiliência, a equipe decidiu acelerar a migração para os


microsserviços e recorrer a um modelo de integração contínua/implantação contínua (CI/CD). Para
modernizar a infraestrutura, a equipe precisava otimizar a orquestração de clusters, migrar de VMs
e automatizar implantações e provisionamento em todas as áreas. O mais importante é que ela
precisava de escala automática impulsionada pelo monitoramento em tempo real.

A resposta foi o Azure Spring Cloud, um serviço totalmente gerenciado para Spring Boot,
fornecendo o poder do Kubernetes juntamente com monitoramento em tempo real e escala
automática. Ele também permitiu que a Raley's adotasse uma verdadeira arquitetura de plataforma
como serviço (PaaS), aproveitando os benefícios da nuvem de forma mais completa e se
concentrando em fornecer importantes recursos de negócios.
Modernizar suas aplicações Java 15

“O Azure Spring Cloud executa o Kubernetes de forma subjacente para nós”, observa Armando
Guzman, Engenheiro de Software Principal na Raley's. “Ele envolve tudo em um pacote, no qual
só é necessário se preocupar com o Java e os serviços Java. Não precisamos gerenciar o Kubernetes
nem nos preocuparmos com nada disso.”

A Raley's automatizou completamente as implantações de aplicações Java, desde o código


gerenciado no Azure Repos até as compilações de aplicações e as criações de contêineres usando
o Azure Pipelines. A facilidade e a velocidade das implantações foram uma revelação para a equipe.

As aplicações do Spring Cloud são totalmente integradas às ferramentas do Azure Monitor,


permitindo um monitoramento de performance fácil e totalmente configurável, além de uma
solução de erros rápida. A Raley's usou esses mesmos serviços de monitoramento para também
promover a escala automática, ajudando a garantir que os recursos sejam dimensionados
adequadamente para as cargas atuais.

O desafio mais difícil que a Raley's enfrentou foi a rede, pois partes importantes da sua rede não
estavam no Azure ainda. O suporte do Spring Cloud para a implantação em redes virtuais privadas
(VNets) permitiu que a equipe da Raley's utilizasse o Gerenciamento de API do Azure e o Gateway
de Aplicativo do Azure para proteger os serviços de fora e dentro da rede.

Figura 4: A Raley's implanta aplicações no Azure Spring Cloud

Graças ao Azure Spring Cloud, a equipe da Raley's conseguiu realizar o lançamento duas semanas
antes do prazo do Dia de Ação de Graças em meados de outubro. A Raley's teve vendas de comércio
eletrônico recordes e, com a escala automática e toda a nova infraestrutura que estava em vigor,
a empresa não teve interrupções durante o período de festas.
Modernizar suas aplicações Java 16

O Spring Boot e o Azure Spring Cloud permitiram que


nossos desenvolvedores se concentrassem mais no
desenvolvimento de recursos e em implantações mais
frequentes sem se preocuparem com a infraestrutura
subjacente ou o monitoramento."
Abhay Kamble
Diretor, Comércio Unificado, Raley's

Principais benefícios

Envio de novos recursos com mais rapidez

Escala sob demanda durante períodos de alto tráfego

Maior satisfação dos clientes

Adquira habilidades relacionadas


Arquitetura de referência do Azure Spring Cloud

Automatizar implantações de aplicações no Azure Spring Cloud


Modernizar suas aplicações Java 17

Conclusão
A execução de aplicações Java corporativas em grande escala pode ser um desafio. O Azure fornece
uma plataforma que inclui computação, bancos de dados, monitoramento, segurança, DevOps
e muito mais. Serviços gerenciados, como Serviço de Aplicativo do Azure, Azure Spring Cloud
e Azure Functions, simplificam as implantações e ajudam as equipes a enviar mais rapidamente.

Figura 5: Os serviços Java no Azure fornecem vários níveis de controle e maior produtividade da equipe

Os clientes que exigem maior controle de infraestrutura podem implantar aplicações Java no AKS
ou no Red Hat OpenShift no Azure. Para persistência de dados, você pode usar bancos de dados
gerenciados para PostgreSQL e MySQL. A execução do Azure fornece acesso a uma variedade
de serviços de plataforma, incluindo Azure Monitor, Azure Key Vault e Azure Active Directory.
Esses serviços ajudam a enfrentar alguns dos desafios mais comuns na execução de aplicações
Java na nuvem, incluindo capacidade de observação, gerenciamento de segredos e autenticação
e autorização. Com o Azure, você pode transformar aplicações Java para obter melhor performance,
segurança e experiências do cliente.
Modernizar suas aplicações Java 18

Comece agora
Java no Azure: saiba como desenvolver aplicações Java no Azure com ferramentas
e estruturas escolhidas por você. Leia mais.

Treinamento gratuito: inicie o roteiro de aprendizagem individualizado Java no


Azure para conhecer as etapas necessárias para criar, migrar e escalar aplicações
Java no Azure. Inicie o treinamento.

Guia de migração: comece a usar as estratégias recomendadas para migrar aplicações


Java para o Azure. Leia a documentação.

Programa de Migração e Modernização do Azure: obtenha a orientação especializada


necessária para iniciar sua jornada na nuvem. Saiba mais.

Especialista em Vendas do Azure: conecte-se a uma equipe de especialistas para tirar


suas dúvidas sobre migração. Conecte-se ao departamento de vendas.

Você também pode gostar