Texto originalmente publicado no blog da Google em inglês por João André Martins e traduzido para o InfoQ Brasil com autorização do autor.
Por muitos anos, o framework Spring vem se apresentando como um recurso inovador para a plataforma Java. O Spring e seu vasto ecossistema são amplamente adotados e estão entre os frameworks Java mais populares que existem. Com o objetivo de se aproximar dos desenvolvedores na comunidade Spring e conhecer mais sobre onde eles estão desenvolvendo, a Google anunciou o projeto Spring Cloud GCP, em colaboração com Pivotal para melhorar a integração entre Spring e o Google Cloud Platform (GCP), possibilitando executar código Spring na plataforma GCP tão fácil quanto possível.
O Spring Boot tem uma visão opinativa da plataforma Spring e de bibliotecas de terceiros, facilitando a criação de aplicativos baseados em Spring, a nível de produção autônomo. Com uma configuração mínima, o Spring Boot fornece seu aplicativo com objetos Java totalmente configurados, o que possibilita sair de uma situação sem código algum para uma onde é possível ter um aplicativo altamente funcional em minutos.
Concentrando-se no suporte ao Spring Boot, o Spring Cloud GCP permite reduzir substancialmente os códigos desnecessários assim como consumir os serviços GCP de uma maneira Spring-Idiomatic. Na maioria dos casos, sequer é necessário mudar o código para aproveitar os serviços GCP.
Como parte do Spring Cloud GCP, foram criadas integrações entre as mais populares bibliotecas Spring e os serviços GCP a seguir, temos uma breve descrição destas bibliotecas:
Google Cloud Platform |
Spring Framework |
Descrição |
Cloud SQL |
Spring JDBC |
Spring Cloud GCP SQL automaticamente configura as URLs JDBC e o nome das classes do driver e ajuda a estabelecer uma conexão SSL segura usando certificados do cliente. |
Cloud Pub/Sub |
Spring Integration |
Utiliza conceitos de integração do Spring como os canais, gateways, etc , e enviar/receber mensagens do Cloud Pub/Sub. |
Cloud Storage |
Spring Resource |
Utiliza objetos do Spring Resources para acessar e armazenar arquivos nos buckets do Cloud Storage. |
Stackdriver Trace |
Spring Cloud Sleuth |
Usa o Spring Cloud Sleuth e suas anotações para rastrear os micro serviços e enviar o resultado para o StackDriver Trace para melhor análise e armazenamento. |
Runtime Configuration API |
Spring Cloud Config |
Armazena e acessa variáveis de configuração em serviço de gerenciamento de Runtime Configuration sem executar seu próprio servidor de configuração. |
Para o Milestone 2, todas as integrações descritas na tabela acima são compatíveis com as versões mais recentes do Spring Framework 5 e Spring Boot 2.
As bibliotecas do Spring Cloud GCP ainda encontram-se em versão Beta e estão disponíveis no repositório maven da Pivotal Milestones.
Para iniciar e conhecer mais sobre estes recursos, veja os códigos de exemplos, a documentação de referência, a página do projeto Spring Cloud GCP e o Spring Cloud code labs!
Mais informações estão disponíveis na documentação do GCP Spring. Opiniões também são bem vindas no repositório do GitHub do projeto.
O grupo de trabalho do Spring Cloud GCP está trabalhando em outras melhorias e integrações e planejando a disponibilizar oficialmente em breve.