Data na era Cloud Native

Os data gateways agem como API gateways, mas com foco no aspecto dos dados. Um data gateway oferece recursos de abstração, segurança, escalabilidade, federação e desenvolvimento orientado a contratos.

Existem muitos tipos de data gateways, desde as tradicionais tecnologias de virtualização de dados, até os tradutores GraphQL, serviços cloud, pools de conexão e alternativas em código aberto.

Atualmente, há muita empolgação a respeito de aplicações em fatores, microservices e service mesh, mas não tanto em dados cloud native. O número de conferências, posts em blogs, boas práticas e ferramentas criadas especificamente para o acesso a dados cloud native é relativamente baixo. Uma das principais razões para isso é porque a maioria das tecnologias de acesso a dados é projetada e criada em um stack que favorece ambientes estáticos, ao invés da natureza dinâmica dos ambientes cloud e Kubernetes.

Este artigo explora as diferentes categorias de data gateways, desde os mais monolíticos até os projetados para a cloud e Kubernetes. Serão abordados quais são os desafios técnicos introduzidos pela arquitetura de microservices e como os data gateways podem complementar os API gateways para enfrentar esses desafios na era do Kubernetes.

A maneira como o código e os dados são gerenciados têm mudado na última década. Antigamente os front-ends eram desenvolvidos com Servlets, JSP e JSF. No back-end, o EJB, SOAP e gerenciamento de sessões no servidor eram as tecnologias e técnicas de última geração. Mas as coisas mudaram rapidamente com a introdução do REST e a popularização do Javascript. O REST nos ajudou a separar os frontends dos backends por meio de uma interface uniforme e solicitações orientadas a recursos, o que popularizou os serviços stateless e habilitou o cache de resposta, movendo todo o estado da sessão do cliente, para o cliente e assim por diante. Essa nova arquitetura foi a resposta para as enormes demandas de escalabilidade das empresas modernas.