A tecnologia de consulta GraphQL de código aberto é vista como a próxima tendência para o desenvolvimento de APIs, porém implementá-la de forma eficaz (especialmente em grande escala) requer um planejamento estratégico. Aqui estão as lições que aprendemos.

Como a nossa empresa, que se concentra em software, se aprofundou no ecossistema da API GraphQL, aprendemos algumas boas práticas importantes ao longo do caminho. A linguagem de consulta de código aberto representa o futuro das APIs, mas implementá-la de forma eficaz (especialmente em grande escala) requer estratégia.
Combinado com a avançada tecnologia de API REST, o GraphQL proporciona benefícios inovadores, permitindo que os aplicativos obtenham todas as informações desejadas por meio de uma única solicitação de API e gerenciem diretamente esses dados, sem depender da conexão do servidor.
Essas diferenças fundamentais possibilitam que as equipes de desenvolvimento entreguem aplicativos mais robustos de forma mais rápida e sem tantos obstáculos. Empresas que adotam o GraphQL podem aprimorar significativamente a qualidade de seus aplicativos e a experiência dos desenvolvedores, como nossos próprios profissionais podem confirmar.
Paráfrase do texto: No entanto, ao adotar a QL, é importante estar ciente de possíveis desafios que podem impedir que os objetivos sejam alcançados. Aspectos como escalabilidade, visibilidade e segurança não são garantidos e exigem estratégias bem elaboradas em conformidade com as melhores práticas atuais.
Aqui estão os ensinamentos que adquirimos. Essas táticas devem facilitar a sua transição para a modernização da API GraphQL.
Gráfico de suporte para a escalabilidade do QL desde o começo.
Paráfrase: Embora seja fácil para alguns desenvolvedores iniciar rapidamente um servidor com o Gráfico QL, a construção de uma implementação estável e escalável que atenda às necessidades da empresa requer um investimento maior. É essencial que a liderança apoie totalmente a implementação do GraphQL desde o início.
Receber o GraphQL certo desde o início torna tudo mais simples. Muitas empresas cometem o equívoco estratégico de permitir que o GraphQL se desenvolva organicamente em suas organizações, sem o devido suporte e proteção. Isso leva algumas partes interessadas a acreditarem que, se uma implementação do GraphQL ainda não precisa ser escalada, não requer suporte corporativo. No entanto, do ponto de vista operacional e de segurança, essa abordagem deixa o GraphQL desprotegido e vulnerável a problemas de desempenho e violações de segurança.
Quando o uso de QL ultrapassa qualquer limite planejado pelos estrategistas, é hora de alinhar as implementações de GraphQL com as melhores práticas. As equipes descobrem que desfazer decisões fundamentais ruins é tão difícil quanto escolher passas de um bolo já assado. Um exemplo comum é quando os desenvolvedores, sem planejamento, implementam controles de acesso rígidos em servidores GraphQL e resolvedores por conveniência. Essa abordagem dificulta o desempenho e a segurança em escala, levando as equipes a ter que voltar e remover esse código de forma dolorosa.
Uma abordagem mais eficaz seria adotar o GraphQL de forma integral e implementá-lo corretamente desde o início. Estabelecer um ambiente GraphQL ideal baseado nas melhores práticas é um benefício para sua futura empresa. Além de ser mais simples de operar e assegurar tanto no presente quanto no futuro, isso traz benefícios imediatos para o esforço investido e facilita e acelera o processo de escala e alcance de metas de desenvolvimento.
Análise detalhada do gráfico de suporte QL.
As empresas cometem um equívoco ao tentar aplicar o monitoramento tradicional ao GraphQL, já que métodos convencionais deixam de capturar dados importantes sobre consultas e análises de negócios. É essencial utilizar ferramentas adaptadas às características específicas do GraphQL para obter informações detalhadas e insights significativos sobre o desempenho do servidor e questões relacionadas às consultas.
Se a sua empresa começou a utilizar o GraphQL, porém ainda não implementou ferramentas adequadas de monitoramento, é importante agir rapidamente para fazer isso antes de expandir a implementação e depender de um gráfico federado. Com um gráfico federado, as APIs disponibilizam um único conjunto de dados que integra e oculta várias subconjuntos de dados.
Equipes que utilizam apenas ferramentas convencionais em suas plataformas não conseguirão identificar facilmente qual subgrafo está relacionado ao tráfego. Problemas de desempenho e desperdício de recursos se tornarão desafiadores de resolver, ocultos na arquitetura federada. Por isso, é fundamental garantir total visibilidade dos recursos, dados e cargas de trabalho do GraphQL desde o início da implementação da organização, se possível.
Desenvolva uma abordagem de segurança direcionada ao GraphQL.
O GraphQL possui um sistema de segurança próprio e requer uma abordagem de segurança específica para combater ameaças projetadas para explorar suas vulnerabilidades. Organizações que utilizam API tradicional e gateways de aplicativos web não conseguem proteger adequadamente o código da API, detectar padrões de tráfego suspeitos que possam indicar atividades maliciosas, ou implementar controles de acesso eficazes e seguros. Para garantir a segurança do GraphQL, as organizações precisam adotar métodos modernos que possam identificar o tráfego GraphQL e oferecer uma visão detalhada para permitir respostas de segurança em tempo real.
Exemplo de um incidente de segurança recente que enfrentamos envolveu um alto volume de pedidos sendo direcionados à nossa camada GraphQL durante um fim de semana. Felizmente, conseguimos lidar com a situação com a ajuda da plataforma de gerenciamento Inigo GraphQL, que já estava em operação para proteger nossos servidores. Utilizamos métricas de desempenho de aplicativos para identificar o problema e resolver a questão, identificando o usuário e espaço de trabalho responsáveis pelo tráfego suspeito com as ferramentas de segurança e análise disponíveis no Inigo.
A “traia” revelou-se um usuário autêntico, trazendo grande alívio. Esse incidente foi útil para identificar uma área do nosso aplicativo que exigia melhorias. Sem a nossa estratégia de segurança baseada em GraphQL, não teríamos conseguido identificar quais usuários foram afetados por esse problema nem resolvê-lo com rapidez e eficácia.
Garanta que todos estejam alinhados.
Nas empresas que implementam o GraphQL, os desenvolvedores podem rapidamente perceber os benefícios dessa tecnologia, porém algumas partes interessadas podem impor obstáculos ao implementar o suporte empresarial adequado. Os líderes em GraphQL dentro da empresa devem reconhecer essas tendências e envolver toda a equipe para avançar juntos.
Apoiar a implementação recente de GraphQL com as estratégias adequadas e boas práticas pode desbloquear um grande potencial para melhorar a eficiência operacional e oferecer uma experiência de desenvolvimento de ponta. A chave para o sucesso na modernização das APIs está na introdução de gerenciamento personalizado, análise e segurança junto com a adoção do GraphQL.
Will Guedes é um dos fundadores da Yottled e atua como CTO na empresa, que oferece soluções de software para pequenas empresas de serviços, incluindo agendamento de clientes, CRM, processamento de pagamentos e outras funcionalidades.
Lo siento, pero necesito que proporciones un texto específico para que pueda parafrasearlo. ¿Puedes proporcionarme algo para trabajar?
O New Tech Forum proporciona um espaço para aprofundar e debater amplamente tecnologias empresariais emergentes. A seleção é feita de forma subjetiva, com base nas tecnologias consideradas relevantes e de maior interesse para os leitores do InfoWorld. A InfoWorld não oferece garantia de publicação com fins de marketing e se reserva o direito de editar todo o conteúdo contribuído. Qualquer dúvida pode ser enviada para newtechforum@infoworld.com.