<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=974250883405448&amp;ev=PageView&amp;noscript=1">
Pensando em integrar um API manager na sua arquitetura?

integração

Pensando em integrar um API manager na sua arquitetura?

Techedge | Abr 12, 2022

Como consequência dos sistemas distribuídos, nos anos 70, os APIs tiveram um primeiro boom que continuou a ser relevante nas últimas décadas.

Já no nosso século, Roy Fielding e a sua dissertação 'Architectural Styles and the Design of Network-based Software Architectures', significaram o que para muitos é o ponto de partida do modelo de APIs que é tão popular hoje em dia.

Neste momento estaríamos a falar do conceito WebAPI, para simplificar o artigo continuaremos a utilizar o conceito API, que como o seu nome indica é uma API no modelo web acessível através do protocolo HTTP e que permite o acesso programático para ler, escrever, modificar ou apagar dados.

Este modelo API, juntamente com o manifesto da metodologia ágil (ágil manifesto 2001) e outros elementos de evolução no sector, facilitaram o acesso aos dados e tornaram-nos partilhados tanto dentro como fora da organização.

Para que toda esta descentralização de dados funcione, é necessária segurança específica, bem como meios para rentabilizar o consumo de dados nos casos em que a empresa deseja investigar novos nichos de mercado com base na informação.

Nesta secção, o Gestor de API é apresentado como uma peça chave numa arquitetura de serviço com APIs que precisam de ser expostas ao exterior de uma organização, ou onde é necessário um controlo detalhado das mesmas.

Alguns dos benefícios que um API Manager pode trazer são:

  • Segurança:
    • Proteção dos APIs da empresa, permitindo apenas aos clientes autorizados a sua utilização.
    • Encapsulação dos clientes e a possibilidade de tomar medidas individualizadas em caso de possíveis ataques, tais como recusa de serviço, injeção de código, etc. Obtendo assim uma melhor disponibilidade do próprio negócio.
    • Aplicação de políticas e otimização do consumo de API. 
  • Desacoplamento de clientes API:
    • Manter a lógica empresarial numa camada interna desenvolvida por APIs e oferecer produtos através de clientes finos que consomem estas APIs.
    • Facilitar a integração com clientes, colaboradores ou parceiros para que os processos possam ser otimizados, a segurança possa ser melhorada e a colaboração possa ser construída através da tecnologia.

  • Economia de custos e otimização de recursos num mercado pay-per-use.

  • Encontrar novos nichos de negócio com base em dados.

  • Reutilização segura de APIs.

Mas é evidente que um Api Manager também tem custos:

  • Seleção de um fornecedor API Manager quando existem tantos fornecedores de qualidade no mercado. Esta tarefa requer esforço e tempo, concentrando-se no apoio completo e de ponta a ponta do ciclo de vida do API.

  • A necessidade de um papel especializado para a correta administração do API Manager

Devido à grande escolha de fornecedores de API Manager e à complexidade de adaptar o API Manager correto ao contexto empresarial específico, a seleção do API Manager é uma tarefa difícil de realizar.

Qual o API Manager a escolher?

Este artigo irá propor algumas ideias relevantes, divididas em blocos, para tentar ajudar nesta difícil tarefa:

Segurança

É necessário prestar especial atenção à forma como se resolvem elementos como a autenticação. Um exemplo é como implementa o OAuth2, se utiliza um fornecedor externo e se permite a integração de vários destes, bem como analisar a capacidade de integração do API Manager com a arquitetura interna de tal forma que permita que os elementos considerados necessários para avaliar a segurança da nossa arquitetura passem livremente. Um exemplo seria um possível JWT utilizado para a identificação de clientes API.

Estimativa de tráfego e dimensionamento

Existem diferentes modelos de marketing e é muito interessante ter uma estimativa prévia da quantidade de tráfego que se espera receber. Para tal, é aconselhável ter em conta:

  • Número total de chamadas anuais esperadas para as APIs expostas no API Manager.
  • Número de chamadas simultâneas. Para o fazer, é interessante saber:
    • Clientes Apis que se estima necessitarem de informação síncrona.
    • Tempos de resposta dos API expostos e analisar a possibilidade de refactoring para responder a novas necessidades com base na latência.
    • Os API Manager são realmente rápidos e não devem acrescentar muito mais latência aos pedidos. O dimensionamento do API Manager selecionado e os recursos atribuídos devem ser previstos.

Análise e depuração

Um elemento muito importante que um API Manager deve fornecer é um painel de controlo onde é possível analisar:

  • Comportamento síncrono dos clientes, o que, entre outras coisas, permitirá um conhecimento preditivo dos mesmos.
  • Detetar ataques tais como ataques de negação de serviço, a fim de tomar as medidas de proteção apropriadas.
  • Detalhe da utilização de todas as APIs publicadas para que possamos detetar o interesse que possa ser gerado no mercado.

Por outro lado, se a empresa procura diversificar o seu negócio com base em dados, a informação aqui reportada será certamente verdadeiramente útil para este fim.

Um elemento fundamental nesta secção é atualizar esta informação o mais próximo possível do tempo real e ter um bom número de gráficos para analisar a informação de diferentes pontos de vista.

Manutenção do API Manager

Este ponto será fundamental para se poder oferecer disponibilidade de serviços. Para este fim, é importante considerar:

  • Facilidade da interface gráfica e design de fácil utilização para poder gerir elementos tais como credenciais, estabelecimento de políticas, publicação de novas APIs, revogação de permissões, etc.
  • Escalabilidade a quente, especialmente importante nos modelos pay-per-use.
  • Modelo de alertas com a possibilidade de configuração variada.
  • Diretrizes de integração do desenho do lado do cliente. Esta colaboração com o cliente, além de oferecer um melhor serviço, tornará muito mais fácil a migração para outro API Manager.

Otimização do API Manager

O gestor do API tem obviamente um custo, mas com uma otimização da sua utilização, será possível reportar alguns benefícios muito interessantes.

Por exemplo, com um controlo de tráfego adaptado à utilização lógica de uma API através do Gestor de API, o Servidor de API que aloja esta API poderia ver a sua utilização reduzida e será possível ser dimensionado para a necessidade real.

No entanto, este artigo centrar-se-á no Api Manager, pelo que se propõe que se tenha isto em consideração:

  • Encontrar a localização apropriada para o API Manager dentro da arquitetura da organização.
  • Estabelecer uma política de utilização para clientes API com um modelo de integração definido, auditabilidade e a possibilidade de penalidades em caso de utilização indevida. É uma boa prática estabelecer isto por contrato entre as partes.
  • Conceber um API eficiente em termos de conceção e funcionamento. Além disso, uma boa definição do domínio permitirá uma escalada mais fácil tanto dos recursos técnicos como dos recursos humanos.

Este artigo propõe algumas ideias baseadas na experiência e espera-se que elas possam ajudar na seleção do Gestor API correto para a empresa específica.

Se, para além do descrito neste artigo, necessitar de mais ajuda ou propostas, a Techedge terá todo o prazer em participar na análise para a seleção do API Manager e em conceber um modelo de arquitetura API cujo objetivo é expor o modelo de negócio ao mundo exterior.

É também interessante considerar o quadrante Gartner, porque efetua uma análise baseada nas seguintes áreas funcionais:

  • Portal de Desenvolvimento: local onde o catálogo de APIs é exibido e onde podem ser ativadas, comercializadas e geridas.
  • Api gateways: Gestão de tempo de execução, segurança e monitorização de API.
  • Gestão e análise de políticas: configuração, mediação e análise de segurança.
  • Conceção e desenvolvimento de API: ferramentas para conceção e criação de APIs e sua ativação.
  • API testing: possibilidade de realizar testes funcionais, de desempenho e de segurança avançada de APIs.

    gartner_quadrant

    Entre em contato conosco

 

Inscreva-se!