Dominando a arquitetura de APIs: fundamentos de APIs

Ecossistema F5 | 05 de dezembro de 2022


As interfaces de programação de aplicações, ou APIs, estão em alta.

Pessoas torcendo em um jogo de hóquei

Embora as APIs não sejam uma novidade, fenômenos recentes, como a aceleração da transformação digital durante a COVID-19, o aprimoramento das integrações de software e os esforços para migrar aplicativos legados para novas plataformas na nuvem, resultaram em uma contínua proliferação de APIs — afetando o gerenciamento, a segurança e até mesmo as escolhas arquitetônicas que as organizações fazem para ter sucesso na economia digital moderna.

As APIs, em essência, podem representar a ascensão das máquinas. Felizmente, porém, os seres humanos ainda têm controle sobre sua criação, seu gerenciamento e sua segurança (pelo menos por enquanto).

Robô

Fundamentalmente, na “linguagem das APIs” (por assim dizer), o consumidor geralmente envia consultas ou solicitações ao produtor, por meio de interfaces unificadas compostas por diversos padrões, esquemas e especificações.

Por exemplo, o Serviço Nacional de Meteorologia (o produtor) contém dados meteorológicos diários. O aplicativo de previsão do tempo no seu celular (o consumidor) acessa — ou, mais especificamente, consulta — esse sistema por meio da API REST do WeatherKit e, em seguida, exibe os dados na interface do aplicativo. Embora este seja um exemplo simples de um aplicativo popular usado por milhões de usuários, vale destacar que a comunicação entre máquinas representa a maior parte do tráfego das experiências digitais modernas e é viabilizada por APIs.

Leão

Há diversos benefícios tecnológicos proporcionados pelas APIs que se traduzem em valor para os negócios:

Benefício da tecnologia

Valor para o negócio

Abstraia a implementação subjacente de um aplicativo web.

As organizações podem implantar rapidamente aplicativos móveis e arquiteturas baseadas em microsserviços.

Especifique os tipos para que os desenvolvedores possam implementar consumidores de API usando ferramentas.

Os líderes podem otimizar os processos de desenvolvimento para reduzir o tempo de lançamento no mercado.

Definir a semântica e o comportamento para modelar uma troca de informações consistente e previsível.

Os parceiros podem desenvolver e monetizar integrações de terceiros.

Quando se trata da implementação de APIs, há uma série de aspectos a considerar, especialmente em relação à modelagem, ao versionamento e aos testes de contrato, que ajudam a desacoplar dependências e garantir a interoperabilidade durante o projeto, a construção e a manutenção.

Consideração

Descrição

Benefício

Modelagem

A semântica ou o comportamento para representar e estruturar a troca de informações.

Gerenciamento simplificado de arquiteturas distribuídas.

Versionamento

Estratégias de governança para lançamento e manutenção durante todo o ciclo de vida da API.

Máxima usabilidade e compatibilidade com versões anteriores.

Testes de contrato

Interação definida e respostas esperadas entre o consumidor e o produtor.

Interações determinísticas com integrações empresariais de terceiros.

Não existe uma maneira certa ou errada de criar, gerenciar e proteger uma API. Na verdade, quando as APIs começaram a se proliferar, tornou-se necessário padronizar o formato e a estrutura delas para viabilizar seu consumo em escala. Foi então que surgiu a OpenAPI Initiative e, como resultado, a OpenAPI Specification (OAS). O Swagger foi a implementação de referência original da OpenAPI Specification, e a maioria das ferramentas passou a adotar a OpenAPI, que ainda mantém toda a sua imponência (HA!)

Na verdade, uma API pode ser criada usando diversos padrões, esquemas e especificações. Por exemplo, uma apresentação RESTful, um serviço gRPC e conexões com um esquema GraphQL.

Implementação

REST

Visão geral

A Transferência de Estado Representacional (REST) fornece um modelo arquitetural leve para descrever interfaces uniformes, sendo mais comumente aplicada com o HTTP como protocolo de transporte subjacente.

REST é, de longe, a implementação mais amplamente adotada de arquiteturas baseadas em APIs.

Relatório State of the API 2022 da Postman

Benefícios

  • O REST tem algumas regras muito básicas, com uma baixa barreira de entrada e um modelo de domínio robusto, o que torna sua implementação relativamente simples.
  • Como um sistema em camadas, a complexidade dos sistemas por trás da interface REST é abstraída. Por exemplo, o consumidor não sabe que está interagindo com um sistema de banco de dados por trás de um serviço web.
  • REST oferece suporte flexível a tipos de conteúdo (incluindo JSON e YAML).

Quando usar

  • Quando a especificação OpenAPI é suficiente para compartilhar o formato e a estrutura das APIs com os consumidores.
  • Quando o uso de cache precisa ser determinado dinamicamente com base nos cabeçalhos HTTP, já que, por padrão, as solicitações do produtor para o consumidor não mantêm estado.
  • Ao estender um modelo de recurso para uma única API fornecida pelo produtor ou ao disponibilizar várias APIs na mesma URL base usando gateways de API.
GraphQL

GraphQL é uma linguagem de código aberto para consulta e manipulação de dados em APIs, além de um ambiente de execução que processa essas consultas usando dados existentes (desenvolvida pelo Facebook e atualmente parte da Linux Foundation).

  • Fornece uma linguagem de consulta para realizar consultas em várias fontes.
  • Permite que os clientes solicitem exatamente os campos necessários, incluindo campos que abrangem várias APIs, reduzindo o tempo de carregamento inicial.
  • A linguagem de esquema especifica os tipos em APIs individuais e como elas se combinam, permitindo disponibilizar uma única versão para todas as APIs e simplificando o gerenciamento de versões.
  • Como uma tecnologia complementar implementada sobre sistemas legados existentes para abstrair a complexidade.
  • Quando um consumidor de API precisa de acesso, filtragem e consultas uniformes em uma ampla variedade de serviços interconectados.
  • Com dispositivos móveis, que têm limitações devido às telas menores e à disponibilidade de rede.
gRPC

O gRPC é um framework moderno, de código aberto e alto desempenho para chamadas de procedimento remoto (RPC), mantido sob a tutela da Linux Foundation.

  • Alto desempenho e confiabilidade graças ao uso de HTTP/2, buffers de protocolo leves, cargas úteis serializadas e implementações com estado.
  • Suporte extensível para balanceamento de carga, rastreamento, verificação de integridade e autenticação.
  • Alta interoperabilidade de funções de interface e mensagens, com amplo suporte de ferramentas para todas as linguagens.
  • Para a última etapa da computação distribuída, conectando dispositivos, aplicativos móveis e navegadores a microsserviços de back-end, e para aplicativos multiplataforma com interação entre dispositivos móveis, desktops e IoT.
  • Para o tráfego entre contêineres ("Leste-Oeste").
  • Com interfaces externas ("Norte-Sul") que exigem streaming e para aplicativos de streaming, como chats e apps financeiros e de notícias.

Com essa introdução aos fundamentos de APIs, nos próximos posts exploraremos como criar, gerenciar e proteger uma arquitetura de APIs antes de reunir tudo isso ao migrar uma aplicação legada para uma nova plataforma na nuvem.

App Protect

Quer sair na frente? Baixe o eBook hoje mesmo:

Dominando a arquitetura de APIs | eBook da O'Reilly


Compartilhar
Tags: 2022

Sobre o autor

Byron McNaught
Byron McNaughtGerente Sênior de Marketing de Soluções | F5

Mais publicações de Byron McNaught

Publicações relacionadas no blog

Entrega e proteção de agentes de IA em fábricas de IA: F5 para a arquitetura de referência NVIDIA OpenShell para agentes de IA seguros
Ecossistema F5 | 21/10/2026

Entrega e proteção de agentes de IA em fábricas de IA: F5 para a arquitetura de referência NVIDIA OpenShell para agentes de IA seguros

As soluções da F5 ampliam a Arquitetura de Referência NVIDIA OpenShell para agentes de IA seguros.

Como medir – e minimizar – o custo total de propriedade do seu Kubernetes
Ecossistema F5 | 10/12/2020

Como medir – e minimizar – o custo total de propriedade do seu Kubernetes

O Kubernetes pode ser baixado e executado gratuitamente, mas sua manutenção está longe de não ter custos. Assim como outras grandes plataformas de código aberto que são “gratuitas” apenas em um sentido simplista, o Kubernetes quase certamente exigirá investimentos para ser implantado e operado.

As-Code: a pilha de TI contínua
Ecossistema F5 | 08/10/2018

As-Code: a pilha de TI contínua

Infraestrutura, configuração, pipeline, operações. De repente, tudo é “como código”. Lori MacVittie busca esclarecer a terminologia e identificar os diferentes componentes de uma stack contínua de TI.

O estado da entrega de aplicações em 2017: automação, APIs e DevOps
Ecossistema F5 | 17/04/2017

O estado da entrega de aplicações em 2017: automação, APIs e DevOps

Explore o relatório State of Application Delivery de 2017. Leia o blog retrospectivo da F5 sobre o início da ascensão das redes declarativas e dos pipelines de DevOps.

DevOps Summit: onde a rede foi convidada para a festa
Ecossistema F5 | 11/06/2015

DevOps Summit: onde a rede foi convidada para a festa

No DevOps Summit NY, falou-se muito não apenas sobre DevOps, mas também sobre contêineres, IoT e microsserviços. As sessões se concentraram não só na mudança cultural necessária para crescer em escala com uma abordagem DevOps, mas também fizeram questão de incluir...

F5 e Nutanix convergem em infraestrutura no .NEXT
Ecossistema F5 | 08/06/2015

F5 e Nutanix convergem em infraestrutura no .NEXT

Aplicações empresariais como Microsoft SharePoint e Exchange, juntamente com a VDI, continuam sendo a espinha dorsal da sua empresa. A produtividade, embora não seja tão atraente quanto o lucro, é um fator essencial para o sucesso das operações empresariais atuais. Deixar de...