Visão geral
O gerenciamento de APIs é o processo de distribuição, controle e análise das interfaces de programação de aplicações (APIs) que conectam aplicações e dados por toda a empresa e nas nuvens. Uma API é como duas apps compartilham dados em tempo real. Essa comunicação ocorre por um conjunto de ferramentas, definições e protocolos usado para integrar serviços e aplicações.
O objetivo é permitir às organizações que criam APIs ou utilizam APIs de terceiros monitorar atividades e assegurar que as necessidades de desenvolvedores e aplicações sejam atendidas. As ferramentas de gerenciamento de API permitem que as organizações compartilhem configurações de API, controlem o acesso, coletem e analisem estatísticas de uso e implantem políticas de segurança em suas redes e clientes de API.
As empresas implementam estratégias de gerenciamento de APIs para responder às rápidas mudanças nas demandas dos clientes. Na maioria dos casos, as empresas adotam uma arquitetura de microsserviços para atender às demandas, acelerando o desenvolvimento de software.
As APIs baseadas em HTTP se tornaram o método preferido de interação síncrona entre arquiteturas de microsserviços, enquanto as APIs REST viabilizam chaves de API, limites por cliente, validações de solicitação e endpoints de API privados. São elas que conectam todos os microsserviços. O gerenciamento assegura que o uso das APIs esteja em conformidade com as políticas corporativas. Além disso, possibilita a governança nos níveis apropriados de proteção, já que alguns serviços exigem políticas diferentes de outros.
Quais as vantagens do gerenciamento de APIs?
A principal característica do gerenciamento de APIs é a centralização do controle de seu programa de API – incluindo analytics, monitoramento de acesso, monetização e fluxos de trabalho de desenvolvedores. Soluções de gerenciamento de APIs como o Red Hat 3scale API Management proporcionam confiabilidade, flexibilidade, qualidade e rapidez. Para alcançar esses objetivos e assegurar que tanto as APIs internas quanto as públicas sejam utilizáveis e seguras, essas soluções precisam disponibilizar, pelo menos, controle de acesso, limites de taxa e políticas de uso. Geralmente, a maioria das soluções de gerenciamento de APIs também inclui os seguintes recursos:
Portal do desenvolvedor Essa é uma prática recomendada comum no gerenciamento de APIs. Os portais costumam fornecer documentação das APIs, além dos processos de integração de desenvolvedores, como inscrição e administração de conta.
Gateway de API. O gateway de API é o único ponto de entrada para todos os clientes. O gateway também determina como os clientes interagem com as APIs por meio do uso de políticas.
- Gerenciamento do ciclo de vida de APIs. As APIs devem ser gerenciáveis desde o design, passando pela implementação até a descontinuação. O Red Hat 3scale API Management é líder do mercado no gerenciamento do ciclo de vida de APIs.
Analytics. É importante saber o que acontece com suas APIs: qual consumidor ou app chama qual API e com que frequência. Também é essencial saber quantas APIs falharam e por quê.
Suporte à monetização de APIs Monetize o acesso aos microsserviços por trás das APIs com contratos de uso. Com o gerenciamento de APIs, você define contratos de uso com base em métricas, como o número de chamadas de API. Os consumidores podem ser segmentados. Além disso, é possível oferecer camadas de acesso e qualidade de serviço diferenciadas para cada segmento.
Esses recursos são levados em conta durante o design da API, para que ela possa fazer uso de componentes autogerenciados ou da cloud e proporcionar controle de tráfego, segurança e o cumprimento das políticas de acesso. As APIs bem projetadas podem ser compartilhadas, protegidas, distribuídas, controladas e monetizadas em uma plataforma de infraestrutura criada para oferecer desempenho, controle do cliente e crescimento futuro.
Microsserviços e gerenciamento de APIs
Os microsserviços e as APIs são a base para o desenvolvimento rápido de componentes avançados de aplicações para atender às novas demandas dos negócios. Essa abordagem é conhecida como desenvolvimento de aplicações nativas em cloud e tem seus prós e contras.
O principal desafio técnico para criar microsserviços é dividir sistemas maiores em componentes menores. As APIs possibilitam que esses componentes menores se conectem a fontes de dados e entre si.
Outro desafio da arquitetura de microsserviços é como coordenar os vários microsserviços que estão em constante mudança. A descoberta de serviço facilita essa tarefa. Os serviços de gerenciamento de APIs oferecem os mecanismos de descoberta necessários para garantir que os microsserviços disponíveis sejam encontrados e que a respectiva documentação de uso seja compartilhada pelo portal do desenvolvedor.
É necessário adotar uma abordagem integrada de segurança nos microsserviços. Os mecanismos de proteção são diferentes dependendo do tipo de API: os serviços externos exigem recursos de segurança diferentes dos internos. Para as APIs menos importantes, costuma ser suficiente implantar uma proteção simples com chaves de API. Já para as APIs externas ou críticas, é exigida uma abordagem mais segura, como OAuth.
Quais as vantagens de uma plataforma de gerenciamento de APIs?
As plataformas de gerenciamento de APIs são compostas por vários componentes importantes que oferecem serviços de ponta a ponta para facilitar a integração de aplicações, gerenciamento, segurança e monitoramento de APIs.
Um gateway de API intercepta todas as solicitações de clientes recebidas e as envia pelo sistema de gerenciamento de API para se conectar aos serviços de back-end.
Um portal do desenvolvedor é um dashboard online que oferece aos desenvolvedores acesso self-service a documentação de APIs, amostras de código, kits de desenvolvimento de software (SDKs) e outros recursos para desenvolvedores de API.
Parte do gerenciamento de APIs é proporcionar uma maneira fácil de gerenciar e monitorar todo o ciclo de vida da API. As ferramentas de gerenciamento do ciclo de vida da API incluem funcionalidades para criar APIs usando especificações padrão do setor, controle de versões, gestão de processos de controle de alterações e rastreamento do uso e desempenho da API ao longo do tempo.
As plataformas de gerenciamento de APIs contam com componentes de segurança e controle de acesso para a implementação de políticas de autenticação, autorização e segurança para proteger APIs e dados confidenciais contra abusos e acessos não autorizados. Elas incluem funcionalidades, como OAuth e OpenID, para gerenciamento de identidade e acesso.
Uma plataforma completa de gerenciamento de APIs também inclui ferramentas de monitoramento e analytics para oferecer insights sobre o uso, desempenho e comportamento da API. Essas ferramentas monitoram o volume de tráfego da API, os tempos de resposta, as taxas de erro e os endpoints mais utilizados em tempo real. Elas também disponibilizam dados históricos e análises de tendências para identificar obstáculos de desempenho, otimizar o uso de APIs e medir o impacto das APIs nos objetivos de negócios.
Uma solução de gerenciamento de APIs bem-sucedida também precisa permitir a expansão do ecossistema para fazer integrações externas, com outros sistemas ou parceiros, ou internas, com sistemas na rede da organização.
Planeja projetar uma API de microsserviços?
Essas são as perguntas que você deve se fazer:
- Como controlamos o acesso à nossa API?
- Como coletamos métricas e processamos alertas?
- Como os picos de uso serão gerenciados?
- Quem é responsável pelo tempo funcionamento da API?
- Qual nossa perspectiva sobre o uso indesejado da API?
Como avaliar o sucesso do gerenciamento de APIs?
Sem analisar os efeitos do gerenciamento, não é possível avaliar o sucesso. As analytics trazem dados sobre as atividades de API. No entanto, ainda é necessário definir o que "sucesso" significa para a empresa. Para fazer isso, leve em consideração estes cinco objetivos de desempenho das APIs:
- Confiabilidade. É a disponibilidade da API para os desenvolvedores. Uma métrica excelente para avaliar a confiabilidade é o tempo de inatividade. A API está sempre disponível para uso? Outra métrica é a cota, que define quantas chamadas de API um desenvolvedor pode fazer em um determinado período. A cota protege a API contra abusos e torna seu gerenciamento mais previsível. Alguns modelos de negócios e planos de pagamento dos provedores de API são baseados em cotas.
- Flexibilidade. Refere-se às opções disponíveis aos desenvolvedores para adoção das APIs. Quanto maior a flexibilidade da API, maiores os esforços e os custos de gerenciamento para a organização.
- Qualidade. É a conformidade consistente do funcionamento da API com as expectativas do desenvolvedor. É uma forma de avaliar a satisfação do desenvolvedor com relação à API.
- Velocidade. Pode ser avaliada pela latência do acesso e pela produtividade. A velocidade pode ser afetada por técnicas como limitação e armazenamento em cache.
- Custo. Ao avaliá-lo, o objetivo é oferecer aos desenvolvedores o melhor custo-benefício. Todos os outros quatro objetivos contribuem de alguma forma com o objetivo de custo.
Por que escolher a Red Hat?
O Red Hat® OpenShift® é a plataforma de aplicações em nuvem híbrida baseada no Kubernetes líder do setor. A solução conta com serviços confiáveis e testados que otimizam os processos de desenvolvimento, modernização, implantação, execução e gerenciamento de aplicações. Seja implantado on-premises, em uma nuvem híbrida, multicloud ou nativamente em serviços de computação em nuvem conhecidos, o Red Hat OpenShift oferece suporte às cargas de trabalho mais exigentes, incluindo inteligência artificial, machine learning e edge, bem como a capacidade de automatizar a implantação e o gerenciamento do ciclo de vida com nosso vasto ecossistema de parceiros de tecnologia.
O Red Hat® OpenShift® Service Mesh utiliza o projeto Istio open source e oferece uma maneira uniforme de conectar, gerenciar e observar aplicações baseadas em microsserviços. Ele foi projetado para oferecer uma experiência mais eficiente e de ponta a ponta para desenvolvedores em torno de arquiteturas de aplicações baseadas em microsserviços. Isso ajuda a livrar as equipes de desenvolvedores das complexas tarefas de implementação de serviços de rede personalizados para as aplicações e lógica empresarial delas.
O Red Hat Application Foundations oferece às organizações um conjunto de ferramentas abrangente e tecnologias para criar, implantar e realizar operações de aplicações pensando na segurança e na escala na nuvem híbrida. Com o Red Hat Application Foundations, as equipes podem compartilhar, proteger, distribuir e controlar APIs durante todo o ciclo de vida delas. Os principais recursos incluem gerenciamento centralizado, controle de acesso, limitação de taxas, analytics e relatórios de uso.