APIs e Microsserviços

17 dez, 2013

Cinco passos essenciais para uma API de sucesso

Publicidade

O assunto APIs (do inglês, Application Programming Interfaces) tem ganhado destaque na mídia de tecnologia nos últimos tempos. Isso graças principalmente ao “boom” dos smartphones e seus “apps”, que nos conectam a praticamente tudo, o tempo todo.

Há diversas razões que podem levar uma empresa a expor APIs. Alguns exemplos:

  • Aumentar o alcance de suas parcerias: O Marketplace Extra.com.br expõe APIs para que lojistas se conectem com mais velocidade e vendam seus produtos utilizando a bandeira Extra;
  • Facilitar a integração “mobile-cloud”: A Netflix expõe um conjunto de APIs que permitem que mais de mil dispositivos diferentes possam se conectar ao seu acervo de filmes;
  • Posicionar-se como uma plataforma: O Twitter criou, assim como muitos outros provedores de soluções de SaaS, um verdadeiro ecossistema de aplicativos integrados às suas APIs;
  • Inovar “abertamente”: Empresas como ESPN, Google, Facebook, Evernote e Foursquare vêm realizando Hackathons (maratonas de programação) e concursos de aplicativos que premiam o uso das APIs de formas inovadoras;
  • Aumentar a governança e reduzir custos: A Amazon trata todos os seus serviços internos como APIs, promovendo o reuso e o controle de operações já existentes, evitando gastos desnecessários e economizando recursos.

Mas para que suas APIs tragam os resultados esperados é fundamental que a equipe que irá desenvolvê-las tenha algumas precauções. Tendo em vista esses cuidados, separamos o que chamamos de “cinco passos essenciais para uma API de sucesso”, cinco pontos que deixarão sua estratégia de APIs mais alinhada ao negócio e muito mais próxima do resultado esperado.

1) Entenda o valor

O primeiro passo para se ter uma API de sucesso é saber qual o potencial valor que será gerado por ela para o seu público – parceiros restritos, desenvolvedores internos ou externos – e para o negócio. Sua API deve ser encarada como um produto novo, e o que fará diferença é o quanto ela será desejada pelo público que irá utilizá-la (esse fator também é comumente chamado de “desirability”). Ou seja, precisa trazer informações ou transações úteis que possam atacar necessidades existentes e atrair outras empresas e seus desenvolvedores. Nesta etapa, além de definir para qual público será direcionado o uso da API, algumas outras decisões são importantes, tais como: definir se o acesso será irrestrito ou cobrado e dimensionar possíveis reflexos que a API poderá trazer para o seu modelo de negócios, entre outros.

2) Capriche no Design

Invista em um design atraente e, ao mesmo tempo, simples. Isto é, uma API precisa ser bem projetada e desenvolvida. A opção por tecnologias modernas e leves como REST e JSON é um ótimo ponto de partida. Existem diversas decisões de design como nomenclatura, formação dos recursos, versionamento, paginação, caching, entre vários outros, que influenciam de forma decisiva na facilidade de entendimento e de uso da API. Mesmo que as regras de negócio sejam complexas, as APIs devem ser modeladas tendo como mote a simplicidade.

3) Facilite o “onboarding”

Peço licença para gastar um pouco mais de tempo neste ponto.

Uma API só pode ter sucesso se for consumida por um desenvolvedor – parceiro ou cliente. O acesso a tudo o que ele precisa deve ser rápido e descomplicado. O tempo gasto até que um aplicativo de parceiros esteja integrado à API deveria ser medido em horas ou dias, e não em meses, como acontece com os métodos “tradicionais” de integração de informações.

Uma boa dica aqui é: crie um site para facilitar a integração com os desenvolvedores e desmistificar o processo para a audiência.

Empresas como Facebook, Netflix, Crédit Agricole (um dos maiores bancos franceses), Evernote, Ford e Extra.com (Marketplace, do Grupo Pão de Açúcar) adotaram essa estratégia. Em seus sites para desenvolvedores (geralmente disponíveis em “http://developers.[nome_da_empresa].com”), todo conteúdo necessário para que um desenvolvedor utilize as APIs fica disponível: desde tutoriais práticos e exemplos de como os aplicativos devem interagir com a API, até valores de acesso, caso seja cobrado.

Facilitar a obtenção das chaves de acesso aos desenvolvedores também é uma boa dica. Elas devem ser dadas imediatamente e sem burocracia – “don’t be evil”, já dizia o lema do Google.

Disponibilize uma documentação interativa, deixe claro como o desenvolvedor fará para testar a invocação das APIs e, se for possível, disponibilize uma área de teste em um ambiente de “sandbox”.

4) Adicione controle e segurança

Já dizia uma antiga propaganda de uma famosa marca de pneus: “potência não é nada sem controle”. Algumas precauções devem ser levadas em conta ao liberar, mesmo que automaticamente, o acesso a um desenvolvedor que você não conhece.

Adicionar políticas que limitam o uso indevido das APIs é uma excelente estratégia. Soluções de “API Management” são capazes de aplicar políticas de “Rate Limiting” e “Throttling” que auxiliam muito na proteção do seu backend.

Para expor as APIs com segurança, você deve escolher usar canais seguros (SSL) e padrões de autenticação. O padrão mais famoso (e recomendado por mim) é o OAuth 2.0. Lembre-se de que suas APIs devem evoluir e precisam manter o ambiente operacional saudável. Para isso, as ferramentas também devem ser capazes de fazer o rastreamento das chamadas, monitorar o ambiente e saber como os aplicativos estão utilizando as APIs.

5) Amplie o alcance

Sua API já está disponível, agora é hora de atrair o maior número possível de desenvolvedores para trabalhar com ela (de acordo com a sua estratégia, é claro). Se o número de desenvolvedores interessados estiver aquém do previsto, revise os passos anteriores, principalmente o primeiro. Uma forma de ampliar o alcance e promover o uso de suas APIs é organizando eventos como os Hackathons, uma verdadeira maratona de programação para que a comunidade de desenvolvedores possa conhecer e utilizar sua API “on-the-job”. Organizar competições entre desenvolvedores e premiar os melhores é uma excelente receita para que os Hackathons tragam melhores resultados.

Adotar APIs faz com que o ecossistema em torno da sua plataforma ou marca se torne mais abrangente. A rede de desenvolvedores e parceiros cresce com mais rapidez e possibilita processos de cocriação de novos serviços e produtos e promove a inovação.

Espero que essas dicas ajudem e direcionem você e sua empresa a estudarem a possibilidade de adotar uma estratégia de APIs, pois essa estratégia tem se mostrado quase que um caminho sem volta para o futuro de empresas que estão conectadas. E todas estão.