São Luís, Missouri. Orleans, França. Os Portões Quentes , Grécia.
Ao longo da história, certos lugares foram ungidos com o termo “porta de entrada para o _____”. Esses locais são famosos por serem estrategicamente importantes para a defesa de um reino – França, Esparta – ou como o início de um esforço expansivo para colonizar novas terras – St. Louis. Portais são lugares que levam a outro lugar, geralmente algum lugar importante. Se você controla, você controla quem ou o que entra (ou sai). Eles fornecem controle sobre o acesso e também oferecem um ponto de proteção mais eficiente contra invasões ou ataques. No mundo moderno, vemos esses portões em aeroportos ao redor do mundo quando somos obrigados a passar pela “alfândega” em um aeroporto internacional ou temos que passar pela temida “segurança” para entrar em primeiro lugar.
Não é surpresa, então, que um grupo de dispositivos tenha surgido no curso da história da tecnologia que são considerados estrategicamente importantes e são conhecidos coletivamente como “gateways”.
No caso de aplicações, esses dispositivos (que ocupam um ponto estratégico na arquitetura) proporcionam segurança, escala e, muitas vezes, interoperabilidade de tecnologias emergentes.
Em termos gerais, poderíamos considerar o firewall de rede como “a primeira” instância de um gateway centrado em aplicativos na rede. Afinal, antigamente eles eram os guardiões. Os aplicativos só podiam ser acessados de fora da rede corporativa se o firewall da rede permitisse esse acesso. Os gateways de hoje, no entanto, são muito mais experientes em aplicativos e atendem não apenas à necessidade de segurança, mas também de escala, acesso e interoperabilidade.
Todas são preocupações importantes à medida que avançamos para a era da IoT. Uma pesquisa recente da HCL conduzida pela Vanson Bourne descobriu que 93% dos entrevistados estavam preocupados com segurança, 86% com escala e 83% com interoperabilidade. Nada disso deveria ser surpreendente. O grande volume de dispositivos que precisam acessar aplicativos para coletar dados, trocar comandos e monitorar coisas certamente terá um impacto enorme em qualquer rede. A velocidade com que as empresas são pressionadas a lançar a próxima “coisa” no mercado tem um impacto prejudicial na segurança. E a interoperabilidade é sempre um desafio em um novo mercado que depende tanto da comunicação com outras coisas e aplicativos quanto da execução do uso pretendido. Os mercados emergentes tendem a divergir rapidamente e os grupos se unem em torno de uma variedade de padrões até que um dia nos fixamos em um ou dois. Mas no início geralmente há um conjunto complexo e confuso de escolhas. Os inovadores não estão dispostos a esperar a poeira baixar. Afinal, os inovadores vencem ao chegar ao mercado.
A questão então se torna como abordar a segurança, a escala e a interoperabilidade enquanto a tecnologia emergente amadurece e os padrões são definidos. A resposta para isso é, geralmente, gateways.
No passado, os gateways surgiram para lidar com os mesmos desafios em torno de outras tecnologias e protocolos, como XML e SOAP. Não sou o único que vai se lembrar (e talvez estremecer) das brigas entre RPC/ENC e DOC/LIT como o “padrão” para serviços web. E não sou o único a lembrar da batalha mais recente entre JSON e XML. Hoje, esses cabo de guerra estão ocorrendo na arena da IoT, onde MQTT, CoAP e AMQP estão competindo pela ascendência.
A inovação não pode esperar, no entanto, e estão surgindo portais à esquerda e à direita para lidar com os desafios decorrentes de novas tecnologias e protocolos.
Os gateways HTTP2 abordam principalmente um desafio de interoperabilidade entre HTTP/1x e HTTP/2. Esses dispositivos terminam o HTTP2 “externamente” para oferecer suporte a dispositivos móveis e IoT que funcionam com maior rapidez ao usar o padrão HTTP mais recente. Eles permitem que inovadores forneçam suporte ao HTTP2 para consumidores e coisas sem a grande interrupção necessária para atualizar a infraestrutura de aplicativos e rede para dar suporte ao novo padrão. Certamente, espera-se que um dia todos estejam executando HTTP2, mas, enquanto isso, os gateways HTTP2 fornecem a interoperabilidade necessária para que os inovadores avancem a todo vapor.
O surgimento de gateways de API é semelhante ao de uma borboleta emergindo de um casulo. Era uma lagarta (gateways SOA), mas agora é uma borboleta (gateway API). Agora, isso não quer dizer que não haja novos participantes nessa categoria – há – mas eles compartilham muitas semelhanças, principalmente porque as bases de ambos residem em HTTP. Enquanto os gateways SOA estavam principalmente preocupados com XML e SOAP, os gateways API são focados em JSON e APIs RESTful implementadas usando endpoints HTTP.
Esses dispositivos fornecem segurança e escala e, em alguns casos, serviços de interoperabilidade. Eles são fluentes na linguagem de aplicativos, falando JSON e HTTP com a mesma facilidade, e fornecem uma base sólida para dar suporte a modelos de aplicativos emergentes, como microsserviços e sem servidor , que podem distribuir chamadas de API não apenas entre aplicativos, mas também entre ambientes. Os gateways de API também servem para proteger a escalabilidade aplicando cotas (limitação de taxa de chamadas), bem como controlando o acesso por meio do gerenciamento de chaves de API.
Eles não são apenas “balanceadores de carga”, embora a escala por meio do balanceamento de carga seja certamente uma característica fundamental dos gateways de API. Esses valentões precisam ser capazes de ir além do bom e velho balanceamento de carga para permitir uma experiência consistente voltada ao consumidor e, ao mesmo tempo, permitir que desenvolvedores e empresas aproveitem a nuvem e a tecnologia sem servidor. Os gateways de API precisam ser “inteligentes” se quiserem proteger e dimensionar APIs, o que significa poder inspecionar solicitações e respostas, bem como integrar-se com provedores de autenticação externos como OAuth2 e JWT.
Os gateways de IoT são os mais incipientes dos gateways hoje, mas eles estão por aí e são de vital importância para o sucesso das iniciativas de IoT, talvez mais do que outros gateways para seus respectivos mercados. Isso tem a ver com os protocolos, que não são nada amigáveis à web. Embora muitos gadgets de consumo falem "web", é cada vez mais o caso de que os fabricantes de coisas estão confiando em protocolos específicos de IoT, como MQTT e CoAP, porque eles são mais eficientes e consomem menos computação no dispositivo. Mas os aplicativos que recebem esses dados não necessariamente falam MQTT e, mesmo que falem, não conseguem escalar por conta própria para atender à demanda (esperançosamente excelente).
Assim surge o gateway IoT , que é fluente nas linguagens da IoT e da web, e pode escalar e proteger o acesso ao mesmo tempo. Esses gateways, assim como os gateways de API, precisam ser “inteligentes” o suficiente para traduzir e rotear solicitações e respostas, bem como detectar anomalias ou mau comportamento para evitar exploração.
Arquitetonicamente, os gateways fornecem acesso a redes e aplicativos. As solicitações são encaminhadas por meio deles, tornando-os um ponto estratégico de controle no qual o acesso pode ser controlado, as traduções fornecidas e a segurança reforçada. Eles são um facilitador essencial de novas tecnologias, pois oferecem às organizações a capacidade de inovar durante o período de transição natural que ocorre quando qualquer nova tecnologia ou protocolo surge com menos interrupções e riscos para os negócios e aplicativos existentes.
Embora os gateways tendam a ser vistos como construções arquitetônicas, eles são, com a mesma frequência, hoje em dia, facilitadores importantes da inovação que permitem que as empresas aproveitem o poder das tecnologias emergentes.