Back-End

26 jun, 2013

Blah blah Java blah blah Cloud

Publicidade

Como toda tecnologia nova e que traz benefícios concretos, a Computação em Nuvem parece criar uma divisão em dois grandes grupos: aqueles que usam de qualquer argumento para utilizar a nuvem, e aqueles que buscam qualquer razão para desqualificar o uso dessa nova plataforma. As pesquisas mostram que entre as preocupações mais citadas por empresas e especialistas está o medo de ficar preso a um fornecedor de cloud. A liberdade de escolher seu fornecedor, e mais importante, a liberdade de poder escolher novamente — ou seja trocar para outro fornecedor, caso não esteja satisfeito — é uma garantia muito valorizada pelos profissionais. Ficar limitado a um único fornecedor ou ter seus dados presos a um ambiente de nuvem, ou ainda ficar restrito à um ambiente de desenvolvimento específico são preocupações reais, que prejudicam a capacidade de empresas e desenvolvedores de terem controle sob suas próprias escolhas.

Desde sua criação, o principal objetivo da tecnologia Java tem sido evitar que desenvolvedores e aplicações fiquem presos a um único fornecedor. Todo o ecosystema Java é voltado para gerar opção e concorrencia. Desde os bytecodes Java, a arquitetura da máquina virtual, a clara separação entre a definição das APIs e sua implementação, o próprio processo de padronização de Java, o Java Community Process (JCP). A tecnologia Java sempre buscou fornecer portabilidade: a capacidade de desenvolvedores e empresas de escolher entre multiplos fornecedores.

E quando se fala em portabilidade de Java, imediatamente pensamos na capacidade de executar aplicações em múltiplas plataformas, como por exemplo, Windows, MacOS, Linux. Mas a portabilidade de Java vai além: a portabilidade no tempo. Combinando a padronização das interfaces, com um foco forte na compatibilidade binária entre versões e a chamada compatibilidade retroativa, o ecosystema Java tem um foco constante em garantir que bibliotecas e aplicações escritos em versões anteriores de Java continuem rodando nas versões mais novas da plataforma. Essa capacidade é que permite que o código Java seja portável “no tempo”, ou seja, que as suas aplicações e, principalmente, o seu conhecimento, estejam prontos para serem reaproveitados em novas plataformas. Como por exemplo, as novas plataformas de computação em nuvem.

E as principais plataformas de computação em nuvem que surgiram nos ultimos anos suportam a plataforma Java, garantindo que milhões de desenvolvedores estejam já capacitados a disponibilizar suas aplicações nessa nova plataforma. Apenas para citar algumas, é possível utilizar as suas bibliotecas, aplicações e o seu conhecimento em Java nos diversos ambientes da plataforma número um em cloud do planeta, a Amazon AWS. Java está disponível nas soluções de plataforma como serviço do Heroku, da Cloudbees, da VMWare e um sem número de outros provedores. Java é obviamente o carro chefe do ambiente corporativo de cloud da Oracle. Como forma de aumentar ainda mais sua liberdade, as plataformas open source são uma excelente pedida. Também é possível utilizar Java nos ambientes padronizados e open source do RedHat OpenShift, e na plataforma de nuvem descentralizada e internacional, também baseado em open source da JElastic. Java também é um componente importante na plataforma open source Eucalyptus, que permite a criação de nuvens privadas e híbridas. Isso sem falar nos gigantes Google, que mesmo em uma solução menos baseada nos padrões Java, é capaz de executar gigantescas aplicações Java existentes sem grandes modificações, e também na plataforma Azure da Microsoft, que é suporta suas aplicações Java sem qualquer modificação.

E a portabilidade de Java tem ajudado muitas outras tecnologias e linguagens. Dado que a máquina virtual Java é capaz de executar centenas de linguagens, incluindo todas as mais populares como Ruby, Python, Scala, Groovy e Closures, a plataforma Java permite que projetos nessas linguagens também se tornem independentes dos diversos provedores de nuvem existentes, ampliando e potencializando o uso das novas linguagens nas poderosas plataforma de de nuvem.

E quanto ao receio de ficar preso a ambientes de desenvolvimento, a Plataforma Java mais uma vez vem ao auxílio do desenvolvedor. Algumas das melhores e mais poderosas ferramentas de desenvolvimento Java são open source, independentes desses fornecedores e se integram com todas as plataformas de nuvem. Mais do que isso, suportam também qualquer outra linguagem. De soluções de integração e deployment contínuo, como Jenkins; passando por repositórios de bibliotecas como o Nexus, ferramentas de análise de código e qualidade, como Sonar, e uma enorme variedade de ferramentas de teste como nosso bom e conhecido JMeter e o poderoso Selenium. Ter esse grupo de ferramentas à sua disposição, de forma independente de fornecedores, é uma garantia da sua liberdade.

Nesse momento, onde a computação em nuvem está abrindo horizontes para novos tipos de aplicações e possibilitando a criação de novas empresas e startups, a tecnologia Java está ao lado do desenvolvedor e da sua liberdade de escolha. Ao ajudar a eliminar o maior risco da adoção da computação em nuvem, a plataforma Java é sua importante aliada, não importa qual linguagem você tenha escolhido para seu projeto.

Assista ao vídeo:

O vídeo desta palestra foi removido por apresentar problemas. Estamos trabalhando para publicar um novo vídeo.

***

Este artigo foi publicado originalmente na Revista iMastersAcesse e leia todo o conteúdo.