8 desafios dos cenários de API

8 desafios dos cenários de API

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


Uma das principais tarefas de suporte a um programa vital de API para sua empresa é lidar com as mudanças ao longo do tempo. Nos artigos anteriores, falei sobre a importância de gerenciar todo o ciclo de vida da API e como reconhecer marcos importantes na vida de uma API. Esses marcos geralmente sinalizam que uma mudança na maneira como a API é tratada, medida e gerenciada precisa mudar.

É importante observar que cada API tem seu próprio ciclo de vida – nem todas as APIs estão no mesmo estágio e ao mesmo tempo. Algumas APIs estão nos estágios iniciais de design e teste, outras já estão percebendo o valor da sua empresa há algum tempo e outras precisam ser colocadas no modo de manutenção para reduzir gastos e esforços desnecessários. APIs não são um grupo monolítico.

E isso leva a outro conceito-chave com o qual todos os sistemas de design e governança de API precisam lidar com: paisagens de API.

Seu cenário de API

O cenário da sua API é a soma total de todos os serviços existentes na sua empresa e de todas as APIs que os conectam. Você pode pensar no cenário de API da sua empresa como o portfólio de API coberto por Matt McLarty em seus “Quatro Ps de Governança de API”. Se essa API foi criada de forma personalizada por sua equipe, adquirida como um software como serviço online ou simplesmente como uma coleção de políticas de gateway, seu cenário inclui todos os pedaços que permitem conexões em sua organização. O cenário também requer gerenciamento.

Portanto, assim como suas APIs não estão todas no mesmo estágio do ciclo de vida da API, nem todos os componentes do cenário da API estão no mesmo nível. Você pode ter várias APIs “legadas”, algumas APIs de plataforma disponíveis no mercado e alguns serviços remotos que você usa regularmente. Tudo isso compõe sua paisagem. E cada bolso da tecnologia, cada conjunto de APIs sob medida, cada coleção de políticas e scripts precisam ser incluídos em seus planos de governança e gerenciamento.

Mas com toda essa variedade, como você pode planejar, medir e gerenciar consistentemente seu cenário de API? O que é necessário é um conjunto de princípios ou diretrizes que se estendam pelos detalhes da tecnologia e do projeto e cheguem ao coração do bom gerenciamento de interface.

O que você precisa acompanhar são os oito desafios dos cenários de API.

Lidar com os oito desafios

Meu colega Erik Wilde fala sobre o gerenciamento de paisagens de API há vários anos e capturou grande parte de suas pesquisas e recomendações no livro O’Reilly “Gerenciamento Contínuo de API” (2018). Nesse livro, é discutida a noção de uma abordagem de longo prazo para o gerenciamento de API e um conjunto de oito desafios (todas as palavras que começam com a letra “V”) são introduzidas. “Esses oito Vs são como os controles ou os discos do seu sistema de gerenciamento de API”, aponta o livro. “Você precisará observá-los e ajustá-los para obter os melhores resultados.”

Leia Também  10 conectores Anypoint para combater o COVID-19 com resiliência

Então, quais são esses oito “mostradores” para gerenciar seu cenário de API? Aqui está a lista com um rápido comentário sobre cada um.

Variedade

No início do seu programa, você deve limitar a variedade de estilos e formatos de API. Manter os detalhes de design e implementação de suas primeiras APIs homogêneos permitirá que as equipes se concentrem na funcionalidade e implantação sem se envolver em discussões filosóficas sobre a “melhor” maneira de atualizar um registro ou se uma ou outra biblioteca é a maneira correta de implementar um API.

No entanto, à medida que seu programa amadurece e seu alcance aumenta para abranger mais equipes e mais clientes, você encontrará mais casos de uso exclusivos, diferentes necessidades dos clientes e, com o passar do tempo, tecnologias atualizadas e mudanças de preferências. Será importante não apenas permitir, mas introduzir variedade em seu cenário de API.

Quando você encontra suas diretrizes de governança e design enfrentando oposição consistente, geralmente é um sinal de que você precisa atualizar suas diretrizes para reconhecer novas variedades importantes no cenário da API.

Vocabulário

Estabelecer um vocabulário de interface aprovado para nomes de propriedades de dados (nomeDados) e identificadores de ação (approveLoan) é a maneira mais eficaz de melhorar a interoperabilidade entre equipes. A adoção e manutenção de um rico vocabulário da API externa que mapeia os dados internos de um serviço e os modelos de objeto permitem que as equipes modifiquem os detalhes internos de um serviço sem interromper a API externa usada pelos consumidores.

Os programas que gerenciam cuidadosamente seus vocabulários de API têm a melhor chance de criar e manter sistemas interoperáveis.

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

Volume

No início da vida do seu programa de API, o número de serviços em execução e APIs publicadas é relativamente pequeno e pode ser facilmente gerenciado a partir de um local central. No entanto, à medida que o volume de seus serviços e APIs aumenta, a revisão e aprovação de fonte única não aumentam. À medida que o seu serviço e programa de API cresce, você precisa “cultivar” a responsabilidade de revisar, aprovar e gerenciar suas APIs para um grupo mais amplo de arquitetos e engenheiros de software qualificados.

Leia Também  Por que o programa Voz do Cliente é importante para sua organização?

O crescente volume de serviços e interfaces significa que você precisa alterar seu padrão de governança de um modelo centralizado para um que seja mais distribuído.

Velocidade

Semelhante ao desafio de volume, à medida que você adiciona mais APIs e mais equipes, será necessário abordar o desafio de time-to-market. Compartilhar as práticas recomendadas e automatizar os processos de revisão e aprovação pode reduzir o tempo necessário para levar uma API da ideia à instalação. Os programas em crescimento sofrerão pressão para acelerar o processo de criação de APIs. Isso significa adicionar mais verificações de segurança e automação ao processo de implementação da API.

Aumentar a velocidade da implantação nunca deve reduzir a segurança do seu cenário de API.

Vulnerabilidade

À medida que seu cenário de API se torna mais variado e poderoso, é provável que sua organização encontre mais riscos também. Cada API que você adiciona é outra que pode falhar ou sofrer uma interrupção. Em um monólito, o risco é centralizado e limitado a problemas relacionados ao seu código e hardware de hospedagem. Mas as APIs introduzem uma dependência adicional na rede que carrega solicitações e respostas de API. Mais APIs significa mais rede, o que significa mais oportunidades para interrupções.

À medida que você adiciona chamadas a outras APIs, também implemente cenários de “fallback” que permitem continuar operando mesmo quando uma ou mais APIs das quais você depende não estão funcionando corretamente.

Visibilidade

Um grande desafio para o crescimento de programas de API é manter o nível adequado de visibilidade em todo o ecossistema. É importante acompanhar quanto tempo leva para implementar serviços (“idéia de instalar” novamente). Também é importante acompanhar quais serviços estão disponíveis no momento e como se conectar a eles quando necessário. Por fim, é vital acompanhar o desempenho e o sucesso de cada API na produção para determinar quando as APIs precisam ser atualizadas e quando precisam ser aposentadas.

No início, quando você tem poucas APIs em produção, pode acompanhar essas informações com planilhas feitas manualmente, tickets de alteração fornecidos pelo usuário e logs de gateway da API. No entanto, à medida que seu programa cresce, você precisará introduzir automação no processo de monitoramento dos detalhes da implementação, status da implantação e desempenho do serviço.

Quando você descobrir que o seu histórico de serviços e as informações de rastreamento estão desatualizadas, sua reação deve ser a de introduzir automação e relatórios em tempo real no cenário da API.

Versionamento

Quanto mais APIs você tiver em produção, mais mudanças você precisará gerenciar nesse ecossistema. A atualização de APIs é uma parte importante da manutenção de um cenário de API saudável e, à medida que sua plataforma cresce, você verá que sempre haverá alguma API em algum estado de “atualização”. As empresas que são boas no gerenciamento de seu cenário de API tornam a versão da API segura e comum.

Leia Também  Plataforma de integração de dados COVID-19 | MuleSoft Blog

A abordagem preferida para a atualização de APIs é tornar todas as alterações sem interrupções e compatíveis com as versões existentes da API. Quando isso não é possível, você precisa implementar a implantação lado a lado, onde várias versões da API podem coexistir com segurança na produção.

De qualquer forma, à medida que seu sistema cresce, você precisará gerenciar um número crescente de alterações nas APIs existentes.

Volatilidade

Por fim, à medida que seu cenário de API cresce, também aumenta sua pegada de segurança. O uso de mais APIs significa mais tráfego de rede, o que apresenta mais oportunidades para ataques relacionados à rede. No início, suas APIs poderão operar apenas na rede da empresa, mas, com o tempo, você poderá adicionar APIs para parceiros ou até usuários finais. Tudo isso acrescenta riscos ao seu ecossistema.

Além disso, à medida que sua empresa se apóia mais nas APIs para realizar o trabalho (tanto seu quanto de terceiros), você se torna mais vulnerável a problemas enfrentados por outras APIs das quais sua empresa depende. Portanto, você deve tratar qualquer API de terceiros que consome como uma ameaça em potencial, seja por falhas simples na rede ou como um vetor de ataque.

Um cenário crescente da API também requer atenção adicional à segurança.

Assim como gerenciar um único ciclo de vida da API significa prestar atenção a várias coisas ao mesmo tempo e se concentrar em diferentes desafios ao longo do caminho, o gerenciamento de centenas ou milhares de APIs tem seu próprio conjunto de desafios. Os “Oito Vs de gerenciamento do cenário da API” de Erik Wilde oferecem um conjunto de comportamentos no nível do sistema a serem observados à medida que a plataforma da API cresce e você adiciona mais equipes ao seu ecossistema. Observar esses oito aspectos da sua plataforma permitirá reconhecer desafios típicos e começar a obter os melhores resultados possíveis no cenário da API.

Para saber mais sobre as práticas de gerenciamento de produtos das APIs, consulte o “Workshop de API como produto”, um dos workshops de programa de API da MuleSoft.


cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
Luiz Presso
Luiz Presso