13 melhores ferramentas de monitoramento de API para o seu negócio

Se há algo que as empresas não podem pagar no cenário competitivo de hoje, é o desempenho do sistema abaixo do ideal.


Pior ainda é o caso de um ou mais subsistemas falharem e a equipe técnica não estar ciente disso. Em setores críticos como bancos, negociação de ações, etc., o tempo de inatividade pode custar milhões de dólares (ou mais) a cada minuto, enquanto em outros, pode haver uma reação fatal do cliente. Quase chegou a um ponto em que conhecer um erro antes do cliente não é mais apenas inteligente; Está obrigatório.

APIs, APIs, em qualquer lugar

É um mundo dominado por APIs, e você provavelmente ouve e usa o termo várias vezes ao dia. Se você é um provedor de serviços de qualquer tipo, possui APIs nas quais outras pessoas confiam e há APIs que consome para manter a empresa funcionando (API do Google Maps, APIs de pagamento, etc.). Mas isso é apenas a ponta do iceberg. Para aqueles no mundo da programação de computadores, uma API (Application Programming Interface) é um termo amplo que abrange mais do que apenas mapas e compras.

Sem você perceber, tudo em um sistema de software (sim, literalmente tudo) é uma API ou expõe uma API.

Antes de começarmos a monitorar as APIs, reserve um momento para entender o que é uma API e qual a extensão do nosso sistema de software. Isso o ajudará a reduzir as escolhas e decidir melhor quais APIs você deseja cobrir e, portanto, quais ferramentas serão melhores para o seu caso de uso exclusivo.

O que é uma API?

Vamos começar com a definição padrão de livros didáticos antes de aprofundarmos o vocabulário comercial diário. Se perguntarmos à Wikipedia sobre APIs, ele tem o seguinte a dizer:

Na programação de computadores, uma interface de programação de aplicativos (API) é um conjunto de definições de sub-rotinas, protocolos de comunicação e ferramentas para a construção de software. Em termos gerais, é um conjunto de métodos de comunicação claramente definidos entre vários componentes. Uma boa API facilita o desenvolvimento de um programa de computador, fornecendo todos os elementos básicos, que são reunidos pelo programador.

Uma API pode ser para um sistema baseado na Web, sistema operacional, sistema de banco de dados, hardware de computador ou biblioteca de software.

A segunda linha é essencial (a ênfase é minha). Não são apenas os serviços da web que contam como APIs. Chamadas do sistema operacional, interações do sistema de banco de dados, sinais de hardware, bibliotecas de software (código que outro código pode reutilizar), todos caem no âmbito de uma API, pois todos apresentam uma interface e um conjunto de protocolos bem definidos e bem entendidos..

Agora, em qualquer dia, qualquer uma dessas APIs pode parar de funcionar. Talvez o disco rígido tenha atingido seu limite de operações de entrada / saída por segundo, ou o certificado SSL tenha expirado, ou haja um bug não detectado na versão mais recente do código em uso – todas essas situações garantem monitoramento constante e ação imediata quando (de preferência antes) o problema ocorre.

Apropriadamente, este artigo sugerirá ferramentas que podem monitorar seu aplicativo em todas as áreas, não apenas na troca de dados entre dois sistemas.

O custo do tempo de inatividade da API

É difícil quantificar quanto tempo de inatividade dói, mas o Gartner lançou um estude em 2014, que chegou a US $ 300.000 por hora. Essa é uma média modesta, é claro. Considere a perda de negócios causada por uma hora de inatividade durante, por exemplo, a temporada de descontos da Black Friday. Para mais histórias de horror sobre como APIs com mau funcionamento / inoperantes mataram o espírito dos negócios ou dos funcionários, consulte aqui e aqui.

Embora o lado comercial do tempo de inatividade da API não possa ser subestimado, também há uma perda oculta que pode ser ainda maior a longo prazo – o moral da equipe. Os desenvolvedores adoram automação e confiabilidade nos sistemas (na verdade todos nós gostamos; imagine seu servidor de e-mail caindo várias vezes ao dia!), E os tempos de inatividade quebram o código e os frustram. Se persistirem, os problemas logo começarão a afetar outras funções de negócios (vendas e marketing) que se cansarão de perder continuamente a cara na frente do cliente.

Vi de perto duas empresas morrerem quase por causa de sistemas de monitoramento internos ruins e não tenho coragem de vê-la novamente. ��

Agora, os períodos de inatividade não podem ser eliminados; no mundo real, qualquer coisa pode dar errado a qualquer momento. Mas, com a instalação de sistemas de monitoramento adequados, podemos conhecer os erros à medida que eles acontecem, às vezes antes mesmo do cliente.!

Com isso em mente, vamos analisar algumas das melhores ferramentas de monitoramento de API do mercado.

Tendências de alta

Uma solução completa para todos os tipos de monitoramento de API (lembra-se da nossa ampla definição de API anterior?), Tendências de alta fornece monitoramento para sites, APIs, servidores e muito mais. Apresenta uma feliz base de clientes de 25.000, com nomes como Vimeo, Microsoft, Volkswagen, Vimeo e muito mais, entre seus clientes.

Um recurso exclusivo do Uptrends é o teste baseado em navegador. O serviço gera navegadores diferentes para executar seu aplicativo / site e fornece uma métrica detalhada sobre o desempenho.

Mas os tempos de resposta e métricas são apenas metade da história. As tendências de alta também oferecem um relatório de desempenho detalhado e com base em ativos, para que você saiba exatamente o que está causando um gargalo. Quando um erro é encontrado, o serviço faz uma captura de tela e a envia para você, para que você possa ver exatamente como se sente na outra extremidade da equação. ��

Em suma, o Uptrends é um serviço confiável e agradável, confiado por muitos grandes nomes.

Dotcom-Monitor

A plataforma Dotcom-Monitor permite configurar um dispositivo de monitoração de várias tarefas usando uma tarefa HTTP / S. Com isso, você pode monitorar as APIs da Web baseadas no OAuth 2.0 quanto à disponibilidade, desempenho e respostas adequadas. Ao replicar uma ou mais solicitações do cliente final e monitorar um serviço da web SOAP, os agentes do Dotcom-Monitor verificam se os dados podem ser trocados corretamente entre a API e um aplicativo da web.

Quando um agente detecta um erro, ele o verifica no filtro do dispositivo. Se o erro não for filtrado, o dispositivo dispara um alerta. Você pode configurar vários grupos de alertas e configurar agendamentos de alertas personalizados e opções de escalação. Os relatórios estão disponíveis nos formatos CSV, PDF e TXT. Eles mostram métricas múltiplas e úteis, como tempos de resposta, tempo de inatividade e desempenho médio por local.

Os planos de preços do Dotcom-Monitor começam em US $ 1,99 por mês e oferecem monitoramento de serviços da web com suporte para HTTP / S, SOAP / REST da API da Web, verificação de certificação SSL, validação de resposta, alertas instantâneos e 30 locais de monitoramento, entre outros recursos.

Checkly

A Checkly afirma ser uma solução de monitoramento e teste de última geração que chamou muita atenção, especialmente na comunidade JavaScript de clientes como Vercel e Humio. Você pode monitorar as APIs da Web, bem como as transações do site, em um navegador real. O painel único mostra tudo o que você precisa saber sobre a correção e o desempenho do seu aplicativo a qualquer momento.

Eu realmente gosto de como o Checkly combina configuração sem esforço e facilidade de uso com ferramentas poderosas para personalizar seus cheques. Em vez de um simples ping, ele usa verificações HTTP configuráveis ​​completas para monitorar APIs. Isso também inclui scripts de configuração / desmontagem, o que é muito útil quando você, por exemplo, deseja assinar solicitações ou limpar dados de teste.

Outra coisa que se destaca é a poderosa API REST que permite orquestrar e automatizar suas verificações, por exemplo, com o Terraform. Ele também permite que os usuários configurem alertas refinados em combinação com Opsgenie, Pagerduty ou Slack. Tudo em tudo, uma ótima solução que eu acho mais interessante para as equipes modernas de DevOps.

O preço começa em US $ 7 por mês e inclui um intervalo de verificação de 1 minuto e localizações globais do data center.

Amazon CloudWatch (para AWS)

Se você possui infraestrutura na AWS, o CloudWatch não pode ser recomendado o suficiente. Além do monitoramento de aplicativos, o CloudWatch também possui monitoramento de infraestrutura, ajudando sua equipe de DevOps a dormir tranquilamente à noite.

Fonte da imagem: aws.amazon.com

Conforme a descrição oficial, o CloudWatch oferece:

  • Monitoramento de aplicativos
  • Visibilidade em todo o sistema
  • Otimização de recursos
  • Integridade operacional unificada

Portanto, desde que você tenha uma implantação exclusiva da AWS, o CloudWatch poderá monitorar o tempo de atividade do aplicativo, desempenho, uso de recursos, largura de banda da rede, uso de disco / CPU e assim por diante, fornecendo uma solução robusta para todos os tipos de monitoramento.

Talvez a vantagem mais significativa do CloudWatch seja que você praticamente não precisa configurar nada. Os serviços da AWS geram logs relevantes e os compartilham diretamente com o CloudWatch, que termina em um painel limpo e simples de entender.

Fonte da imagem: aws.amazon.com

No painel, você pode não apenas ler métricas (enquanto os planos gratuitos oferecem precisão de até um minuto, os planos pagos podem chegar tão perto quanto a precisão de um segundo, permitindo que você monitore em tempo real, efetivamente, o monitoramento em tempo real), mas também criar regras, configure alarmes e, quando eles devem disparar, verifique o sistema registra quantos detalhes desejar e muito mais.

Claro, nem todo mundo está na AWS, mas as empresas digitais mais críticas e famosas estão, e é por isso que eu pensei que o CloudWatch deveria ser introduzido nesta lista. Eu posso começar a soar como uma buzina quebrada neste momento, mas sinceramente, se você estiver na AWS, não há maneira mais fácil de configurar o monitoramento do que o CloudWatch.

Deseja aprender sobre o AWS CloudWatch, aprenda com o especialista aqui.

Quanto aos preços, a Amazon também manteve as coisas simples por lá. Não há bloqueio mensal ou anual. Você decide quanto é a sua necessidade e paga apenas de acordo com o que usa.

Mas, acima de tudo, dê uma olhada na oferta de camada gratuita e me diga que não é possível procurar esse serviço. ��

Fonte da imagem: aws.amazon.com

Rigor

Se você vive de acordo com as métricas de desempenho e coloca a experiência do cliente acima de tudo, Rigor vale a pena dar uma olhada. O nome é bem escolhido, pois você pode ser rigoroso com a ferramenta quanto desejar. ��

Um dos recursos mais úteis do Rigor é o teste funcional. Se você não gosta do jargão dos testes, não se preocupe. teste funcional refere-se ao ato de testar todo o fluxo de uma transação, e não apenas focar em um único terminal.

De certa forma, o teste funcional é mais importante que o teste de unidade, porque cobre implicitamente o teste de unidade e fornece previsão da experiência do cliente diretamente.

Como você pode ver na imagem acima, este teste funcional possui uma série de sete regras que constituem uma transação.

A regra nº 1 é uma solicitação para procurar um determinado artista na API; então, a regra 2 é uma afirmação, o que significa que queremos reforçar que o artista que procuramos esteja disponível; se esses dois testes forem aprovados, o sistema passará para a regra 3 e assim por diante.

No exemplo acima, o teste funcional é interrompido na regra 7 e as partes interessadas são imediatamente notificadas de que não há cópias suficientes do álbum “Funky Kingston”. Fale sobre se concentrar nos negócios do que se preocupar com peças de tecnologia!

O Rigor é um serviço severo para empresas sérias que não se importa de pagar um prêmio por algo incrível, então, se você é um, definitivamente dê uma olhada.

Assertível

Assertível marca-se como a ferramenta de monitoramento de API mais fácil e é voltada principalmente para as equipes de teste e controle de qualidade. Portanto, se você acha que não possui competência técnica interna para lutar com JSON, XML e código de escrita, o Assertible vale a pena dar uma olhada.

A USP do Assertible é envolvente e direta: suas equipes de QA e Teste podem criar testes e verificar / monitorá-los usando a interface Assertible. Ele se integra perfeitamente ao GitHub, para que sua base de conhecimento fique com você, além de trabalhar perfeitamente com o Slack.

A integração completa e a funcionalidade de revisão permitem que praticamente qualquer pessoa da sua equipe (até mesmo os gerentes de projeto) crie testes e analise as métricas de desempenho.

Ok, a situação na captura de tela acima pode parecer um pouco irreal (resolução de problema de um minuto), mas é possível quando o feedback é claro e imediato. A ausência zero de codificação necessária significa que os testes podem ser criados tão rapidamente quanto as equipes de controle de qualidade podem digitar e, uma vez concluídos, podem ser aplicados repetidamente. Isso contrasta fortemente com a prática de “testes manuais” seguidos na maioria das empresas, onde um único testador pode levar vários dias para cobrir o aplicativo e, no entanto, perde mais detalhes excelentes simplesmente devido à supervisão ou ao esforço..

Por apenas US $ 100 por mês (que é o melhor plano, a propósito), o Assertible permite monitorar até 50 serviços da Web, um total de 50.000 testes e 20 membros da equipe. Considere o custo de ter um controle de qualidade trabalhando em tempo integral para criar e executar manualmente os testes, e é óbvio que o Assertible oferece eficiência exponencial.

BlazeMeter

Quando se trata de teste e monitoramento de ponta a ponta de aplicativos, BlazeMeter é o gigante que come todo o resto no almoço. Ao mesmo tempo, porém, não é para os fracos de coração ou aqueles que procuram uma solução simples de monitoramento de API que não exija muito.

O BlazeMeter é algo com que você se casa e continua pagando ao longo da vida útil do aplicativo.

O maior ponto positivo do BlazeMeter é a integração com Apache JMeter, indiscutivelmente a ferramenta de medição de desempenho padrão para grandes aplicativos da web. Sim, com o BlazeMeter, você pode escolher estruturas de teste de código aberto e analisá-las facilmente através de painéis simples.

Os planos são caros e, se seu aplicativo puder receber até 5.000 usuários simultâneos, custará US $ 649 por mês para usar o BlazeMeter. Estão disponíveis planos de custos fixos para cargas de trabalho ainda maiores, conforme a norma dada ao tipo de clientes que a BlazeMeter possui: Pfizer, Adobe, GAP, NFL, Atlassian, entre outras..

Não é como se o BlazeMeter não pudesse ser usado de maneiras mais simples. Como a maioria das outras ferramentas de monitoramento de API, ele fornece testes funcionais (eles os chamam de “cenários”), que podem ser feitos usando um front-end da GUI intuitiva.

Dito isto, o BlazeMeter foi desenvolvido para desenvolvedores. Através da sua ferramenta de teste dedicada Touro, O BlazeMeter expõe uma DSL (Domain Specific Language) que pode ser usada para escrever testes genéricos que podem ser executados no JMeter, Selenium e outras ferramentas populares de código aberto. E não deixe que a menção de uma DSL o preocupe; nada mais é do que um arquivo YAML glorificado (extensão .yml):

execução:
– simultaneidade: 100
aceleração: 1m
retenção: 1m30s
cenário: simples

cenários:
simples:
tempo de reflexão: 0,75
solicitações de:
– http://blazedemo.com/

Passe algum tempo com o Taurus e seus desenvolvedores ficarão agradecidos por poder escrever testes intricados e reutilizáveis!

Em suma, o BlazeMeter é um peso pesado para os pesos pesados.

AppDynamics

Agora parte da Cisco, o AppDynamics está no jogo de monitoramento de aplicativos da web há muito tempo e é bem conhecido. No momento, o AppDynamics é um conjunto de ferramentas para resolver uma ampla variedade de requisitos de desempenho e monitoramento de uma equipe SaaS moderna.

No que diz respeito ao monitoramento puro de API / microsserviço, o pacote oferece Microservice IQ. Com esse serviço, você pode monitorar e analisar um cluster de microsserviço de praticamente qualquer escala, preservando o histórico e permitindo correlacioná-lo com as alterações no cluster. De qualquer forma, isso pelo menos permite simular o impacto da adição / remoção de nós do cluster.

O mesmo vale para o monitoramento de métricas em tempo real, o que pode ser feito no nível do cluster ou do nó, apresentando a visão geral e os detalhes extremos, conforme necessário.

Como você pode ver na captura de tela, o monitoramento do Docker é integrado, o que será apreciado pelas equipes que têm sua infraestrutura em execução no Docker (quase todo mundo, ou seja).

Além disso, também estão disponíveis o monitoramento em nuvem e o monitoramento de DevOps, que funcionam em uma variedade de fornecedores de IaaS, como Amazon AWS, Azure, Pivotal, etc. O feedback contínuo está disponível em todo o pipeline de entrega, fornecendo confiança e uma base sólida para seus DevOps equipe.

A cereja no topo do bolo é a integração do Machine Learning no coração do sistema. Por exemplo, às vezes você não conhece a linha de base ideal para seu aplicativo, mas, como a empresa está funcionando sem problemas, você pode aceitar as métricas atuais como linha de base..

Então, como você calcula a linha de base? É difícil quando você tem milhares de pontos de dados transmitidos a cada hora, mas não se houver um sistema capaz de aprendizado de máquina em execução.

Como isso ajuda as empresas? Aqui está um exemplo. Se você sabe que sua linha de base para o tempo de atividade é de 98,5% e atualmente está com 98,6%, pode ter uma tranqüilidade real. Além disso, ter acesso a linhas de base reais e rígidas evita migrações caras demais de engenharia e caras que alguns consultores podem recomendar para “seis noves” (99,9999% de tempo de atividade).

O sistema ML também é inteligente o suficiente para descobrir e relatar a causa única de falha entre um cluster de microsserviços de dentro do código (essa é a parte mais impressionante!), Para que suas equipes saibam exatamente o que corrigir. A captura de tela abaixo mostra como o sistema pode detalhar um serviço REST baseado em Java Spring e apontar para o Bean que falhou.

Não é possível abordar todos os recursos de cair o queixo aqui, fique à vontade para conferir o documentos oficiais.

New Relic

De acordo com muitos, New Relic é líder de mercado em ferramentas de monitoramento de desempenho de aplicativos e por um bom motivo. É usado por grandes e pequenas empresas – de gigantes da Fortune 500 a startups pequenas e ágeis – e oferece uma ótima combinação de precisão e detalhes.

A equipe da New Relic se orgulha de seu profundo conhecimento do DevOps e, portanto, essa oferta foi criada para fornecer uma visão completa e em tempo real da sua infraestrutura.

A maior USP da New Relic é o layout intuitivo de todo o sistema, que permite ver instantaneamente como tudo está fluindo e exatamente onde está o gargalo. É difícil descrever a interface do usuário em palavras, então aqui está uma captura de tela:

Como você pode ver, é muito fácil rastrear visualmente como os dados estão fluindo de sistema para sistema e as métricas de desempenho resultantes. Lentidão e tempo de inatividade acionam alertas instantâneos, permitindo corrigir os problemas antes que os negócios sofram.

Não é apenas o lado do DevOps que é coberto pela New Relic. Também é possível definir metas e regras para a experiência do cliente e obter relatórios detalhados para descobrir onde é necessário mais trabalho. Como qualquer profissional de marketing digital que se preze sabe, essa informação é ouro sólido.

Não há fim para o engenhoso painel da New Relic. Veja este, por exemplo, que mapeia todo o cluster de aplicativos por nós e fornece feedback ao vivo sobre o que está acontecendo em cada nó.

Portanto, se seu aplicativo é simples ou complexo, a New Relic pode oferecer muitas informações interessantes.

API Fortress

O próximo na fila é API Fortress, que visa ser um canivete suíço de monitoramento de API para várias equipes de uma organização, e faz isso muito bem.

Destinado a testadores e desenvolvedores, o API Fortress permite a criação de testes visuais e colaborativos, como qualquer outra ferramenta moderna de monitoramento de API existente, e depois percorre um pouco mais a conveniência e os recursos. Os dois que mais gosto são: Load Testing e Mocking.

Para desenvolvedores, o API Fortress pode criar um conjunto de testes a partir de uma determinada especificação de API. Portanto, se você seguir Swagger, OpenAPI ou RAML, metade do trabalho já estará concluída. A zombaria da API permite que as equipes de desenvolvimento definam a interface da nova API como um serviço simulado, no qual as equipes de controle de qualidade podem começar a criar os conjuntos de testes imediatamente. Chega de cansativas, longas esperas até que a API real termine antes que o controle de qualidade possa começar!

O API Fortress também trabalha com todos os principais sistemas de CI / CD, aliviando mais um ponto problemático de integração. Por fim, testes e monitoramento de carga sólidos também são integrados, tornando o API Fortress um pacote completo para equipes de desenvolvimento e teste para testar e monitorar APIs rapidamente.

Traceview

Se o monitoramento no nível da interface não serve para sua equipe e você está procurando uma ferramenta poderosa de monitoramento no nível do código, há Traceview. Até o momento, todas as principais linguagens e ambientes de programação são suportados: Java, Scala, Net, Node, PHP, Python, Ruby e Go.

Como você pode ver nas capturas de tela acima, as métricas em nível de componente e de função estão disponíveis, fornecendo informações instantâneas e nítidas a laser sobre por que o aplicativo está se comportando da maneira que está..

Como configurá-lo? Não poderia ser mais simples! Para a maioria dos idiomas listados anteriormente, o Traceview possui agentes de software que podem simplesmente ser inseridos no seu projeto sem atrapalhar nada. Comece a coletar informações em tempo real rapidamente. ��

RapidSpike

RapidSpike é uma solução enxuta, focada nos elementos principais de tempo de atividade e monitoramento, sem muitos dos sinos e assobios extras que alguns acham que vêm com a maioria das ferramentas de monitoramento de API. O rastreamento de caminhos predefinidos (jornadas do usuário) é suportado, assim como a conversação com a API em várias etapas.

Tudo isso são padrões e praticamente o que você esperaria de qualquer sistema moderno de monitoramento de API, mas o que diferencia o RapidSpike, na minha opinião, são seus sistemas de alerta.

Há uma escalação interna no sistema. Portanto, se o primeiro nível de contato não resolver ou responder à “crise”, a notificação aumentará a cadeia. Ai! “Bem, talvez seja melhor não precisarmos de um chefe de verdade para nos manter sempre atentos.

API Science

Com API Science, você pode testar suas APIs com uma API. Embora isso pareça uma maneira elegante de dizer a mesma coisa, a API Science vem com alguns recursos novos que provavelmente atrairão muitos. O primeiro é o monitoramento de pilha completa de sua pilha de APIs, o que significa também cobrir APIs externas.

Acontece muitas vezes que suas APIs têm desempenho e capacidade de resposta, mas as de que sua empresa depende estão inoperantes. Além disso, em alguns casos, não há nenhuma alegação objetiva de que a API estava inativa naquele momento, uma luta que pode se transformar em uma espécie de guerra fria entre dois fornecedores de API..

Nesses casos, a API Science funciona como um meio termo indiscutível que pode mostrar a disponibilidade histórica das APIs.

O segundo recurso interessante é o teste distribuído de APIs. A API Science monitora suas APIs de vários locais em todo o mundo e permite que você saiba como a API está se comportando em diferentes locais. Combine todo esse JavaScript personalizado em seu sistema de monitoramento e você terá uma ferramenta de monitoramento de API quase ideal. ��

Com isso, minhas principais recomendações para o monitoramento da API chegaram ao fim. Fiz o possível para não restringir as APIs à definição restrita que elas costumam rotular na maioria das vezes. Desde proprietários de empresas a desenvolvedores, testadores, controle de qualidade e gerentes de projeto, existem ferramentas nesta lista que funcionam para todos.

TAG:

  • API

  • Monitoramento

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map