Tecnologia e seus paradigmas: o Java está ameaçado?
*Boris Kuszka
O software está engolindo o mundo! Essa frase, dita por Marc Andreesen, co-fundador da Netscape, em artigo de 2011 do Wall Street Journal, resume o fenômeno que estamos vendo nos últimos anos. Todas as empresas, para se manterem relevantes no mercado e evitarem que sejam ultrapassadas por novos entrantes – normalmente startups de tecnologia que vêm com ideias inovadoras, quebrando paradigmas e trazendo novos modelos de negócio -, precisam investir em software, criar aplicativos para alcançar o usuário final e desenvolver novos canais de comunicação. Todos conhecem a história do Uber mudando a indústria de transporte de táxis, do Netflix acabando com as locadoras e do Airbnb impactando a indústria de hotelaria e aluguéis de imóveis, dentre outros inúmeros exemplos.
Essa necessidade de inovação criou uma demanda de criação de software nunca antes vista: o que antigamente evoluía lentamente, em pequenos passos mensais ou anuais, agora exige inovação contínua semanal e a passos largos. Os updates que vemos nos aplicativos de celular, em geral, impõem o ritmo de atualização esperado em qualquer software que usamos, sejam eles internet banking, mobile banking, compras pela internet, redes sociais, entre outros.
A grande velocidade exigida pelo mercado coloca uma enorme pressão nas equipes de tecnologia da informação por parte das áreas de negócios, que já entenderam que a lentidão se resume em morte do negócio. Essas equipes de TI estão passando por um desafio: por um lado, a equipe de operações precisa manter tudo funcionando – e o mais estável possível – enquanto as equipes de desenvolvimento querem utilizar as tecnologias mais novas disponíveis para conseguir atender às demandas no menor tempo possível. A realidade deu espaço para o surgimento de novas metodologias de desenvolvimento ágil: abordagens diferenciadas como DevOps estão em voga e novas tecnologias e linguagens de programação mostram-se imprescindíveis para a sobrevivência de qualquer empresa.
Nesse novo cenário dos negócios digitais, os applications servers de antiga geração baseados em Java EE estão perdendo espaço. Um estudo do Gartner de novembro de 2016 já apontava queda de até 9,5% no modelo de tecnologia e sinalizava que em 2019 – ou seja, daqui a dois anos – menos de 35% das novas aplicações serão criadas na plataforma de desenvolvimento Java.
O estudo da consultoria trouxe uma repercussão no mercado e levou defensores da tecnologia a se pronunciarem. Porém, uma ressalva precisa ser feita. Muitos acreditaram que o Java EE como conhecemos deixaria de existir em pouco tempo, o que não é verdade.
Dentre as tendências de mercado levadas em consideração no estudo, o Gartner revela a necessidade de modernização constante das plataformas de aplicação. E nesse quesito, os softwares open source levam vantagem. Segundo o estudo de 2016, enquanto os principais application servers de tecnologia proprietária baseados em Java EE caíam 9,5% e 4,5% em 2015, os application servers de código aberto cresciam entre 23% e 50% em presença de mercado no mesmo período.
As plataformas modernas precisam fornecer uma infraestrutura ágil que permita colocar uma ideia em prática na maior velocidade possível e com o mínimo de interrupção do serviço e, para isso, a abordagem que está mais em voga é o DevOps, prática onde se fomenta a participação conjunta dos times de desenvolvimento e de operações e permitir a automação e padronização do ambiente de desenvolvimento sem perder a flexibilidade de incorporar novas linguagens e novas tecnologias.
Para atender às demandas dos usuários modernos, acostumados com a frequência de atualizações dos aplicativos móveis, e continuar relevante no mercado, novas linguagens e frameworks de desenvolvimento tem de ser experimentadas, pois resolvem problemas de tecnologia específicos e permitem aumentar a velocidade de inovação. Essas novas linguagens e frameworks estão dividindo o espaço com o Java EE, e não substituindo-o. Cada linguagem tem a sua função, suas vantagens e seu uso específico. As plataformas modernas têm de permitir a convivência de todas essas novas tecnologias e estarem preparadas para abraçar tecnologias que ainda não foram criadas.
Além de novas tecnologias de desenvolvimento, novas estratégias de implantação também estão surgindo como Blue-green Deployments, A/B Testing e Canary Releases, pois é necessário implantar novos serviços sem interrupção.
Todas essas novas abordagens estão vindo de tecnologias open source, que estão impulsionando a inovação – o grande aumento da presença de soluções de código aberto se deve exatamente a isso. Podemos citar como exemplo: JBoss EAP, docker, Kubernetes, OpenShift, Wildfly Swarm, Vert.x, entre outros.
Mas quais seriam os benefícios do open source frente às demais soluções para justificar esse crescimento? A principal delas é o compromisso com a inovação – principal requisito do novo mercado de tecnologia. Os softwares open source são ótimas ferramentas para o gerenciamento de cloud, inclusive para as tão importantes aplicações cloud-native, além de serem aliados poderosos da inteligência artificial e da computação cognitiva, permitindo gerenciamentos de processos e criação de ambientes ágeis, eficientes, escaláveis e modernos sem lock-in, pois a liberdade de escolha de fornecedor é fundamental para se continuar utilizando a tecnologia que melhor atenda às empresas, não a tecnologia que amarra por motivos técnicos ou comerciais. Somente o open source te dá essa liberdade.
Além disso, outra grande impulsionadora dos softwares open source é a cultura colaborativa. Muito mais do que uma facilitadora das tarefas diárias, a tecnologia open source valoriza cada indivíduo que faz parte da comunidade, evidenciando a importância do todo e de cada um para gerar iniciativas. As comunidades open source não se restringem a desenvolvimento de software – onde se destacou e se desenvolveu – mas também em projetos de engenharia: um exemplo é a fundação e-NABLE, pioneira em projetar, fabricar e distribuir gratuitamente próteses 3D open source para pessoas carentes que precisam desse recurso e não têm como adquiri-lo. Nesse projeto, além da comunidade envolvida e de todos os criadores das próteses, os desenvolvedores, analistas, gerentes e diretores que geram, analisam e qualificam os softwares open source têm consciência do quanto são fundamentais ao processo.
Portanto, não é preciso ter receio quanto aos novos rumos do mercado de tecnologia. É necessário aprender com eles e gerar valor. É isso o que os softwares open source têm feito ao longo dos anos e o compromisso que vão continuar tendo, utilizando qualquer tecnologia aberta, que venha a se destacar na resolução de problemas tecnológicos, dividindo espaço com o já consolidado Java.
* Boris Kuszka é Solution Architect Diretor na Red Hat, líder mundial no fornecimento de soluções de software open source.