A 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 taxi 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.
A importância de um Gerenciamento de APIs em um mundo de microserviços e APIs.
Agora digamos 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. Mas, deseja mudar aos poucos para 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 empresa. 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).
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:
Percebeu? 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. Abaixo exploraremos.
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?
Funcionalidades existentes em um Gerenciamento 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 aposentadoria.
Backend as a Service (BaaS): Permite com que desenvolvedores construam apps e utilizem as suas APIs com funcionalidades modernas como notificação por push, armazenamento de dados, monitoramento de desempenho, atividades sociais e gerenciamento de usuários. Este também disponibiliza SDKs nativos para diversas plataformas (iOS, Android, Ruby, Node.js, etc.).
Um motor analítico: Este é muito importante para que você não tenha que fazer na mão as análises do que passou 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 de 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 você pensar em monetizar a sua API, como falei em posts anteriores, esse item é indispensável, pois assim você poderá criar planos de monetizar para cada segmento ou mesmo cliente. Seus relatórios também são indispensáveis para você e seu parceiro 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 de perto é uma grande decepção, pois “fazem” através de customizações e no fundo são soluções básicas. Por isso é bom estudar direitinho o que cada um oferece. Para avaliá-los disponibilizo um formulário com mais de 130 perguntas que espero seja útil nesta hora. Utilize-o, mande para o fabricante do Gerenciador de APIs ou você mesmo poderá pontuar.
Além do formulário acima, um item que todos esquecem na hora de aquisição de um produto de software é o total cost of ownership (TCO). O TCO responsável em dizer qual será o seu gasto para que o produto que você deseja comprar faça tudo aquilo que você realmente espera que este faça, inclusive para mantê-lo funcionando após a compra.
Exemplificando o TCO: Imagine que o Produto A não tenha um relatório que combina dimensões de análise e você o deseja para o dia-a-dia. Nesta hora vem a questão: Quanto custará a mais se eu fizer este relatório? Ou, em outro exemplo de funcionalidade, se você desejar uma transformação que seja feita durante a mediação do Gateway, quando a mais será o investimento?
Para responder essa pergunta o TCO deve ser pensado, mesmo que através de uma simples lista onde você comparará o que Produto A tem, seu concorrente não tem, que neste caso é o Produto B. Feito a lista de funcionalidades você deve das valores a cada item faltante, só assim você poderá chegar ao valor real do Produto B.
Gerenciamento de APIs na versão Open Source ou Comercial
Mas, e se você não quiser comprar um Gerenciador de API? Tudo bem! Apenas tome cuidado em relação ao TCO, pois se escolher errado este será alto, neste caso o máximo que você gastará é tempo. Contudo, de uma forma geral os open sources são ideais para startups na fase de MVP. Já as versões comerciais são mais completas e melhor aceita em empresas maiores, devido a gama de funcionalidades e ao suporte ao produto fornecido pelos fabricantes.
Abaixo abordarei rapidamente apenas duas empresas que eu escolhi como referência de Gerenciamento de APIs, sendo que uma é comercial e outra open source. Para uma análise mais completa, você pode consultar o Gartner -Q4-2016 ou Forrester -Q4-2016.
Comercial: Apigee (representada no Brasil pela SeedTS) – Simplesmente o melhor!
O líder absoluto em quantidade de clientes e APIs publicadas e que processa cerca de 2 bilhão de transações dia é a Apigee apenas na versão cloud, comprada no ano passado pela Google. Suas funcionalidades e facilidade de uso são incomparáveis e anos luz a frente da concorrência. Eu mesmo utilizo Apigee em projetos e a cada dia acho mais sensacional, principalmente após a compra da Google, pois ficou mais barato e extremamente convidativo, pois você possui um produto completo sem se preocupar com a escalabilidade e confiabilidade da infraestrutura, com a garantia da maturidade do produto e por fim com cases globais de alto volume, seja em bancos, telecons ou nas 20 das 100 maiores da Fortune que utilizam Apigee.
Aqui no Brasil o maior case da Apigee é com o Magazine Luiza, que processa 1,1 bilhão de transações mês, através de mais de 100 APIs.
Open source: WSO2 – Dos gratuitos o melhor!
Para aqueles 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 hosteado na cloud WSO2 aí não tem mágica, tem que desembolsar um dinheirinho. Mas, de olho no TCO!
Um ponto forte do WSO2 é quando se deseja uma solução de produtos integrados com outras linhas de softwares da WSO2, como o WSO2 Enterprise Service Bus e WSO2 Identity Server. Neste cenário o WSO2 passa a ser uma excelente opção e no Brasil seu o maior case é o Serpro.
Bem, agora que você sabe que a sua estratégia digital não pode ser completa sem um Gerenciamento de APIs corra para utilizar um, seja open source ou não. O fato é que esta ferramenta veio para economizar um bom tempo seu e acelerar a estratégia de transformação digital de sua empresa.
Inté,
Antonio Bruce Gois (Linkedin) – Fundador e CEO do Portal Mundo API e da consultoria SeedTS, com mais de dez anos de experiência na definição e implantação de soluções com SOA e nos últimos anos com API e Microserviços. Entusiasta de Marketing e palestrante nacional e internacional.
Obs.: Abaixo inseri uma lista não exaustiva, de outros player de Gerenciamento de APIs open source e comercias.
Gerenciamento de APIs Comerciais
Gerenciamento de APIs Open Souce