Por que eu devo ler este artigo:Este artigo apresenta o Swarm, nova abordagem oferecida pela Red Hat para implementar microsserviços em Java. Assim, desenvolvedores que desejam aprender sobre o assunto podem utilizar esse conteúdo como ponto de partida para entender como migrar suas aplicações ou criá-las do zero adotando essa ferramenta. Além disso, vamos analisar o atual estado do projeto, funcionalidades que já são suportadas e a expectativa para as próximas versões.

A expansão da internet no Brasil e no mundo traz consigo novas necessidades para quem trabalha com toda a espécie de ferramenta ou equipamento que faz esse grande universo de conteúdo virtual girar. Esse ávido anseio por um mundo mais conectado gera novos desafios para vários campos da computação. Desafios esses que vão desde a necessidade de hardwares cada vez mais potentes até a preocupação cada vez maior com questões relacionadas à segurança e performance. Isso acaba por surtir um impacto direto no desenvolvimento de novas ferramentas para esse mundo mais conectado.

Diante disso, atualmente, uma aplicação serve como uma ferramenta estratégica da empresa, funcionando de maneira similar a um hub de informações e fluxos dentro dela, ou mesmo como um produto final entregue aos seus clientes. Nessa nova realidade, arquitetos e desenvolvedores presenciam uma verdadeira revolução que vem acontecendo em nossa área, impulsionada pelas questões supracitadas que se tornam a cada dia mais críticas.

Escalabilidade e alta disponibilidade, por exemplo, nunca foram itens tão essenciais, exigindo que as equipes de desenvolvimento estejam em constante evolução. Para arquitetos de software e gerentes, no entanto, ainda pesa outro elemento no momento de planejar a solução, o custo. Apesar de ser um fator que deve ser considerado em qualquer empresa em nível global, no Brasil ainda temos a questão da alta do dólar, que atua como um agravante.

Quando falamos em aplicações que possuem um grande fluxo de usuários, como grandes portais, existe a tendência de disponibilizar seus serviços através de servidores localizados em nuvem, como a Amazon ou o Microsoft Azure. Contudo, apesar de grandes empresas fornecedoras de serviços em nuvem já disponibilizarem servidores no Brasil ou pelo menos na América Latina, a contratação desses serviços acaba sendo afetada diretamente pela variação cambial, por ser taxada em dólar. Ainda assim, mesmo sofrendo com aspectos sobre os quais não temos controle, podemos melhorar o custo otimizando código, além de um setup mais refinado da estrutura que funciona como base.

Para tanto, lembre-se que grandes aplicações exigem também uma equipe alinhada. Assim, ferramentas que facilitem a comunicação e a gestão das pessoas ganham importância por organizarem e disseminarem informação de maneira rápida e ágil. O aplicativo Slack é uma solução que aposta fortemente na comunicação, não somente entre pessoas, mas também entre equipes, departamentos, filais e ferramentas, oferecendo integração a uma vasta gama de opções. Nesse contexto, aplicações como o Octopus, Deploybot e Jenkins podem, através dela, manter os interessados informados de um modo mais eficiente e sem a necessidade de criar hooks dentro das mesmas para estabelecer a relação com o Slack, possibilitando uma melhor comunicação sem grande esforço. Desse modo, todos os envolvidos nas diferentes fases do projeto conseguem ser notificados de uma maneira mais rápida e simples.

Nesse cenário, o desenvolvimento também é atingido por tais mudanças, entrando em cena novas ferramentas que oferecem a oportunidade de fazer mais com menos e de forma mais rápida. Várias delas que há poucos anos nem existiam e hoje são referências de mercado, como é o caso do MongoDB; ou você, há seis anos, pensaria em usar uma ferramenta para armazenar seus dados que não adota pelo menos as três formas normais?

No que tange a arquitetura de software, um modelo que vem sendo adotado por grandes portais, inclusive no Brasil, é o modelo de microsserviços. Impulsionada por especialistas como Martin Fowler, a ideia ganha apoiadores a cada dia. Em um modelo monolítico, onde a aplicação é pensada e construída como um bloco único, qualquer necessidade de aumentar a performance precisa ser pensada e realizada de um modo geral, afetando o todo. Por outro lado, quando a aplicação é dividida em microsserviços, só existe a necessidade de escalarmos aqueles que necessitam da performance extra, o que reflete diretamente no custo de alavancar somente uma pequena parte da aplicação.

A ideia de dividir para melhor gerenciar recursos não é algo novo no universo Java. Este já apresenta diferentes soluções preparadas para essa nova maneira de se construir serviços, a exemplo do Spring Boot, uma das mais conhec ...

Fim do trecho gratuito • continue abaixo
CONTEÚDO EXCLUSIVO

Desbloqueie toda a DevMedia

  • +2000 artigos e vídeos
  • +40 trilhas sobre Front-end, Back-end, IA e muito mais
  • +5000 exercícios práticos
  • Mentorias ao vivo individuais
até 50% OFF
A partir de
R$ 69 /mês
Assinar agora