Gerenciamento de riscos envolvendo API´s

Estou trabalhando em um projeto onde será desenvolvido um sistema que utiliza diversas API´s como Google Maps, Facebook e Correios. O sistema só funciona se as API´s estiverem integradas, funcionando certinho. Devo me preocupar com o risco de algum dia uma destas API´s deixarem de existir ou ficarem indisponíveis?

alexandrebpsjc
Reposta curta: deve.

Resposta menos curta:

  • indisponibilidade: embora eu suponha que, quando você diz indisponível, se refere à extinção do serviço correspondente (tipo: facebook falir e fechar as portas), mesmo a indisponibilidade temporária (timeout, por exemplo) deve ser levada em consideração;
  • se o sistema é parcialmente dependente desses serviços, creio que vale a pena já considerar que eles podem ou não estar indisponíveis (por exemplo, a consulta de CEP dos correios);
  • se o sistema é totalmente dependente desses serviços, a coisa complica, já que a queda (qualquer que seja o motivo) de um deles inutiliza seu sistema. Se há serviços substitutos (para os exemplos citados eu duvido um pouco, mas tudo bem) para esses, considere a possibilidade de ter suporte a eles como “segunda alternativa”. Se não há, precisa ficar claro no seu produto (entenda: deve fazer parte do contrato ou da licença) que há essa dependência.

Abraço.

Obrigado pelas informações.

Não existe total dependência de todas as APIS simultaneamente, a princípio somente do Google Maps (este sim, deve estar disponível o tempo todo, caso contrário a principal funcionalidade do produto ficará indisponível ao usuário). Existe alguma alternativa?

Partindo do princípio que não há alternativa para o serviço do Google em questão, o que você pode fazer é permitir que a aplicação seja aberta mas, caso o serviços não esteja disponível, você informa o usuário. O que não resolve, é claro, o problema de o Google Maps deixar de existir. Nesse caso, se ocorrer, as possibilidades são:

  • alterar a aplicação, migrando para algum outro serviço similar;
  • criar um serviço equivalente para que seu use (com isso, ele passa a depende só de você);
  • abandonar a aplicação;

Se já estiver disponível algum outro serviço similar, veja se vale a pena ampliar o alcance da sua api, permitindo adicionar e remover serviços sempre que necessário. Se você quer que o sistema funcione sem preocupações, só mesmo se ele não dependesse de nada nem de ninguém.

Abraço.