Tecnologia > Aplicativos, Estratégia, Governança

Como e por que você deve planejar a depreciação das APIs

É fundamental também que os fornecedores avaliem como as mudanças nas suas APIs irão afetar seus clientes

01 de Março de 2016 - 08h30

As APIs mudaram a face do desenvolvimento de aplicações. Ao expressar componentes de software em termos de suas operações, rotinas, entradas e saídas, padrões de programação, elas fornecem aos desenvolvedores blocos de construção com os quais podem contar para criar aplicações de forma mais rápida e eficiente.

Mas a crescente adoção de APIs e seu valor de negócio acabaram por revelar novos obstáculos enfrentados por fornecedores de API e desenvolvedores. Os fornecedores estão depreciando e versionando suas APIs de acordo com as mudanças de suas necessidades e prioridades de negócios, e isso pode criar tensão com os desenvolvedores que têm de lidar com as consequências. Se uma parte fundamental do seu negócio é construída em torno de uma API fornecida por uma empresa como o Facebook ou o Google, e a oferta dessa API é interrompida, independente do motivo, isso pode ser uma grande dor de cabeça.

O versionamento de API/Serviços sempre foram motivos de preocupação em sistemas baseados em SOA. Na nuvem acontece o mesmo.

Como minimizar os riscos de uso de APIs de terceiros

Ambos, fornecedores e desenvolvedores, podem adotar estratégias para minimizar os riscos de negócio relacionados com as modificações das APIs, diz Brian Pontarelli, CEO da Inversoft , que fornece serviços de filtragem de conteúdo e de gerenciamento de usuários e de comunidades para empresas como a Disney e a NFL, todos via APIs de terceiros.

"Nós nos colocamos bem no meio da economia das APIs", diz Pontarelli. "Construímos APIs para ajudar os clientes a gerenciar e moderar as interações com seus usuários. À medida que mais e mais pessoas olhavam para essas APIs baseadas na web, percebemos que estava se tornando cada vez mais importante manter normas e também nossas APIs tão atualizadas quanto possível. "

"Nós começamos com uma API de serviço, Web basic", acrescenta Pontarelli. "Então mudamos para uma API mais RESTful, baseadas em JSON. Essa transição levou anos. Mas foi importante. Nossos clientes são empresas que não se movem tão rapidamente quanto as startups. Temos que ter cuidado para não descontinuar as ferramentas que usam. Uma mudança que quebre a compatibilidade com a versão atual terá consequências", explica o executivo.

Segundo Pontarelli, uma das práticas chave implementadas pela Inversoft é o uso de versionamento semântico (ou SemVer) para todos os seus software e APIs.

"O uso de SemVer ajuda os clientes a entenderem quando uma nova versão estará disponível e se ele será compatível com as APIs que usam", diz ele.

É fundamental que os fornecedores avaliem como mudanças nas suas APIs irão afetar os clientes. Se uma mudança quebrar a API para a maioria dos clientes, especialmente os clientes corporativos que se movem menos rapidamente do que as empresas menores, é preciosa proporcionar uma camada de compatibilidade para facilitar a transição.

"Quase todas as vezes que fizemos uma grande revisão de nossas APIs, colocamos alguma compatibilidade para evitar que grandes clientes fossem prejudicamos", diz Pontarelli. "Será que eles têm uma equipe de desenvolvimento capaz de lidar com a atualização? Eles podem continuar usando uma versão mais antiga, pelo menos até que possam remodelar seu produto? Nós podemos suportá-los no uso dessa versão mais antiga durante 16 a 18 meses?", explica.

É papel dos fornecedores das APIs tentar minimizar ao máximo o chamado inferno das dependências, e mensurar os custos para o versionamento de suas APIs. Aos CIOs, cabe planejar a depreciação das APIs que utilizam.