Replicação lógica nativa – PostgreSQL 10
23 de fevereiro de 2018Monitoramento ao Vivo com Kaltura Webcasting
16 de março de 2018A importância de um Gerenciamento de APIs em um mundo conectado.
Um Gerenciamento de APIs é extremamente importante em um mundo digital e conectado, onde o seu produto deve estar presente e contextualizado através de múltiplos canais de atendimento, junto e com o seu cliente onde este estiver.
Seu cliente pode estar em um shopping, assistindo televisão, dentro de um táxi ou mesmo em um elevador, não importa. Através de APIs ele será atendido e o seu produto estará presente onde ele estiver ou precisar, dando-lhe experiências únicas.
Contudo, atender a vários canais não é uma tarefa fácil, tanto sob o ponto de vista do negócio, quando do ponto de vista técnico, pois cada canal pode possuir uma necessidade específica. Neste momento é que os Gerenciamentos de APIs atuam auxiliando ao seu negócio no mundo digital, dando inteligência através de relatórios, segurança, engajando com parceiros e inclusive acelerando o seu desenvolvimento.
Também pode-se destacar que o gerenciamento das APIs colabora como um dos pilares para aplicação da Arquiteturas Orientadas a Serviços (SOA), esse gerenciamento apoiará a Governança da Instituição. Além disso, trará uma agilidade para atuação do corpo de profissionais envolvidos na implantação do SOA.
Figura 1: Representação – APIs
fonte: Portal Mundo das APIs
A importância de um Gerenciamento de APIs em um mundo de microserviços e APIs.
Visualizando um cenário que a sua empresa por mais insano que possa parecer, não pense em uma estratégia digital, não visualize APIs como produto, ou mesmo não deseja avançar em engajamento com parceiros e clientes via um Portal de APIs (Loja de APIs). Mas, deseja mudar aos poucos para utilização de microserviços, pois seu legado em termos de arquitetura, é custoso, não elasticamente escalável, complexo, altamente acoplado, não independente, ou qualquer outro motivo que afete a competitividade de sua instituição. O fato é que a sua TI deseja ir para uma arquitetura de Microserviços. Bem, neste momento, alguma coisa parecida a imagem abaixo surgirá. Repare nos Microserviços (MiS).
Figura 2: Representação de Arquitetura utilizando microserviços
fonte: Portal Mundo das APIs
Indo para uma visão um pouco mais de perto dos Microserviços (Cliente, Catálogo, Parceiro, Carrinho de Compras), visualize como eles se relacionam com o exterior:
Figura 3: Arquitetura Básica de Microserviços
fonte: Portal das APIs
Percebe-se que na arquitetura de microserviços seu interfaceamento são através de APIs, muitas APIs! Imagine gerenciar todas essas APIs manualmente. Se preocupar com segurança, engajamento de desenvolvedores, Portal de APIs, transformação, mediação ou analisar o que está sendo trafegado. Muitas coisas para se preocupar! Tudo bem que você pode fazer tudo isso compondo vários produtos e frameworks, mas com um Gerenciamento de API, que veio para preencher essa lacuna, seu trabalho ficará no mínimo, muito mais fácil.
Com um Gerenciamento de API, as seguintes perguntas são facilmente respondidas:
-
Quem mais utiliza as minhas APIs, dentre meus consumidores, de qual região do Brasil ou do mundo, ou mesmo dentro de minha empresa?
-
Consigo analisar toda cadeia de execução de minhas APIs e identificar falhas de desempenho, payload?
-
Consigo rapidamente atender a multicanais (wearables, IoT, apps diversas), cada qual com sua necessidade de consumo?
-
Tenho segurança de uso de minhas APIs contra ataques de hackers ou acessos indevidos?
-
Consigo criar um ecossistema de usuários para minhas APIs, onde a troca de informações será rica, com criação de inteligência coletiva, e esta dará aos participantes mais vontade de utilizar as minhas APIs?
-
É possível criar protótipos de APIs para agilidade do desenvolvimento em paralelo e até mesmo validar o uso desejado da minha API?
-
É possível controlar um ciclo de vida de um API? Bloqueá-la a qualquer tempo? Ou até mesmo bilhetar (monetizar) os acessoas a minhas APIs?
-
É possível integrar com bases de usuários (LDAP, Bancos de dados, Active Directory, etc)?
Funcionalidades de um Gerenciador de API
Figura 4: Representação de funcionalidades um Gerenciador de APIs
fonte: Portal de APIs
Portal Para o Desenvolvedor: Este é responsável em engajar desenvolvedores, disponibilizar documentação, fornecer acesso seguro e adequado as APIs, criar comunidades, sandbox para testes e mecanismos para facilitar a adoção de suas APIs por desenvolvedores de apps.
API Gateway: Bastante importante no momento de mediação entre os consumidores de APIs e seu backend. Muitas de suas funcionalidades são indispensáveis, como as de segurança (uso de OAuth/SAML, verificação de API Key, proteção de ataques XML/JSON, controle de acesso por IP), transformação (SOAP para REST, XML para JSON, JSON para XML, e transformação XSL), suporte a extensibilidade programática (no uso de linguagens de programação como Java, JavaScript, Nodejs) e, por fim, para controle de trafego ao seu beckend (como definição de quotas e cache).
Gerenciamento Do Ciclo de Vida de APIs: Necessário para facilitar e ter controle do processo que se inicia no design da API e engloba a publicação, versionamento e pôr fim a sua descontinuidade.
Backend as a Service (BaaS): Permite com que desenvolvedores construam apps e utilizem as suas APIs com funcionalidades modernas. Este também disponibiliza SDKs nativos para diversas plataformas (iOS, Android, Ruby, Node.js, etc.).
Um Motor Analítico: Muito importante para que não seja necessário criação de rotinas manuais para as análises do que trafegou pelo seu API Gateway, tanto sob o ponto de vista de negócio, como técnico operacional. Vários relatórios devem compor um bom Gerenciamento de APIs, como relatório de uso de APIs, tempo de resposta do servidor de serviços, tempo de latência do seu proxy, relatório de erros, de APIs mais utilizadas, de payload por APIs, uso por IP (e também por localização geográfica, por app, por período), entre outros relatórios que podem ser customizados pelo time de APIs através da ferramenta.
Monetização: Se for de interesse da instituição monetizar as APIs, esse item é indispensável, pois desta forma pode-se criar planos de monetização para cada segmento ou mesmo por cliente. Seus relatórios também são indispensáveis para a instituição e seus parceiros de negócio.
E quais as opções de Gerenciamento de APIs?
Alguns Gerenciadores de APIs possuem todas as funcionalidades descritas acima, outros não. Alguns dizem que fazem, mas quando você analisa mais profundamente não atendem suas expectativas, pois “fazem” através de customizações e trata-se de soluções básicas. Por isso é necessário avaliar o que cada produto oferece.
Gerenciamento de APIs na versão Open Source ou Comercial
Existem alguns produtos que podem fazer a Gestão de APIs na modalidade open source, comercial e até mesmo versões nas nuvens sem custo por um determinado tempo.
Para as instituições que procuram um produto maduro e open source, o WSO2 é a melhor opção. Se você desejar baixar e simplesmente utilizar você pode. O melhor é que não tem que pagar nada para ninguém! Se, contudo, quiser utilizar o mesmo produto nas nuvens (cloud WSO2) é necessário verificar o custo, certamente depende da quantidade de acessos que deseja utilizar.
Vantagens de utilizar o WSO2:
-
Possibilidade de contratar subscrição dos produtos para suportes 24×7 e SLAs para atendimentos;
-
Grande comunidade mundial que já utiliza com possibilidades de sanar várias dúvidas através dos seus fóruns;
-
Disponibilização de materiais para treinamentos sem custo e possibilidade de tirar certificações reconhecidas mundialmente;
-
Parceiros no Brasil para treinamentos, atendimento, apoio, consultoria e vendas de subscrições adequadas a necessidade do cliente;
-
Possiblidade de funcionamento On-premise e com alta disponibilidade (cluster).
-
Integração entre outros produtos da suíte WSO2 (Enterprise Integrator, Identity Server, Data Analytics Server, Governance Registry, IoT);
Neste cenário o WSO2 passa a ser uma excelente opção e no Brasil um dos seus maiores cases é o Serpro (Serviço Federal de Processamento de Dados).
Referências Bibliográficas
Antonio Bruce Gois, Julho 2017, Artigo Gerenciamento de APIS, Mundo API (https://mundoapi.com.br/materias/gerenciamento-de-apis/);
Portal oficial WSO2 API Management, Março 2018, (https://wso2.com/api-management/);
Portal de Documentação WSO2, Março 2018, (https://wso2.com/wso2-documentation).