Sejamos honestos. Existem inúmeras ferramentas de monitoramento disponíveis, mas, ainda assim, os períodos de inatividade e erros continuam sendo uma grande preocupação para as empresas.
Será que o Monitoramento Sintético oferece uma solução?
O monitoramento é uma atividade essencial e indispensável para qualquer negócio digital moderno.
Não se pode depender da descoberta acidental de problemas ou esperar que um cliente insatisfeito entre em contato, pois o custo para a empresa é muito alto.
Gostaria de poder divulgar detalhes (mas restrições contratuais me impedem), mas testemunhei de perto uma empresa cair da posição #2 para a #20 ou menos no mercado, simplesmente porque as queixas dos clientes se acumulavam. E isso era um negócio B2B, lembre-se. Se você acha que uma boa equipe de atendimento ao cliente (ou de “sucesso” do cliente, como preferir) poderia tê-los salvado, engana-se – eram simplesmente muitos erros inesperados no sistema que surgiam aleatoriamente, mesmo após as correções terem sido aplicadas.
Por que o monitoramento tradicional não é suficiente?
A solução para esses problemas empresariais é – o monitoramento! Sim, todos sabem disso, e sua empresa provavelmente já possui alguns sistemas de monitoramento.
No entanto, o desafio com os aplicativos do mundo real é que os pings e os tempos de atividade da API não abrangem a complexidade do aplicativo. Os aplicativos modernos são construídos sobre transações, funis, logins e vários serviços de terceiros, e todos esses elementos precisam operar em conjunto, em vez de funcionar isoladamente.
Com os sistemas de monitoramento convencionais, você pode ter certeza de que seu servidor de e-mail e seu servidor de pagamento estão funcionando, mas como saber se o servidor de pagamento pode enviar e-mails transacionais através do servidor de e-mail?
Apresentando o Monitoramento Sintético 👋
Se você busca alcançar aquele estado ideal em que encontra problemas antes dos seus clientes, o Monitoramento Sintético é a resposta. Apesar do nome um tanto técnico (e da complexidade que pode envolver a implementação manual), o conceito do Monitoramento Sintético é bem simples de entender.
Ele envolve a simulação de usuários de aplicativos por meio de scripts, que percorrem fluxos de páginas pré-definidos para verificar se tudo está funcionando corretamente. Para o seu aplicativo, não há diferença real – as solicitações se comportam como se viessem de um usuário real, interagindo com botões e preenchendo formulários nas páginas da mesma forma que um usuário faria.
Manter um conjunto desses testes configurados e executados regularmente permite que você responda às seguintes perguntas essenciais o tempo todo:
- O sistema está operacional?
- Todos os subsistemas importantes estão funcionando?
- Os clientes conseguem fazer login?
- Os clientes conseguem encontrar o que procuram, no lugar certo?
- Alguma alteração recente no código quebrou alguma parte da experiência do cliente?
- Os clientes podem filtrar resultados e baixar relatórios?
- Os clientes conseguem fazer pagamentos?
- Os clientes podem entrar em contato com o suporte dentro do aplicativo?
Sua lista pode variar, mas, após implementar o Monitoramento Sintético, você terá 100% de confiança no seu sistema o tempo todo. É difícil superestimar a importância do Monitoramento Sintético; depois de usá-lo, você se perguntará como conseguiu viver sem ele!
Quais são algumas das melhores ferramentas de monitoramento sintético disponíveis?
Agora que você está pronto para assumir o controle total (ou “sintético”, se preferir 😛) do seu aplicativo, aqui estão algumas das melhores ferramentas que você pode implementar e começar a se beneficiar imediatamente.
Uptrends
Uptrends é um serviço de Monitoramento Sintético completo e elegante que vale a pena explorar. Dentre os recursos que impressionam, destacam-se os snapshots de erros (visualizar exatamente onde ocorreu a falha no navegador), a limitação da largura de banda (analisar o comportamento do seu site/aplicativo em condições de rede ruins) e muito mais.
Empresas como Microsoft e Vimeo utilizam o Uptrends, então você estará em boa companhia!
Checkly
Checkly se apresenta como uma solução de monitoramento e teste de ponta, que tem chamado atenção, especialmente na comunidade JavaScript, com clientes como Vercel e Humio. É possível monitorar os fluxos de transações do site em um navegador real, bem como verificar seus endpoints de API. Um painel único exibe tudo o que você precisa saber sobre a precisão e o desempenho do seu aplicativo em qualquer momento.
O que me agrada muito é como o Checkly combina uma configuração simples e fácil de usar com ferramentas poderosas que os desenvolvedores irão apreciar. O Checkly utiliza a estrutura Chrome Puppeteer para simular interações com um navegador Chrome de forma precisa. Para criar as verificações, você pode usar código ou o Puppeteer Recorder, uma extensão Chrome de código aberto do Checkly com quase 7.000 estrelas no Github.
O Checkly oferece uma API REST potente que permite orquestrar e automatizar suas verificações, por exemplo, com o Terraform. Também permite configurar alertas refinados para Opsgenie, Pagerduty ou Slack. Em geral, é uma excelente solução, que considero mais atraente para as equipes modernas de DevOps.
Você pode começar com um plano gratuito que inclui um intervalo de verificação de 1 minuto a partir de locais de data centers globais.
Monitoramento Sintético Dotcom-Monitor A solução monitora APIs (REST, SOAP, sockets), páginas web (em navegadores reais), aplicativos web (incluindo transações em várias etapas) e infraestrutura da Internet (FTP, VoIP e muito mais).
Totalmente externas e gerenciadas, as ferramentas de monitoramento sintético do Dotcom-Monitor permitem que você se concentre nos dados, em vez de configurações e instalações demoradas. Além disso, a equipe de suporte premiada está disponível para ajudar na configuração e gerenciamento de tarefas complexas de monitoramento de nível empresarial, 24 horas por dia, 7 dias por semana, 365 dias por ano.
Sematext
Sematext Sintético é uma ferramenta de monitoramento sintético repleta de funcionalidades úteis e fáceis de usar. Ela permite monitorar a disponibilidade do seu site e aplicativos a partir de diversos locais ao redor do mundo.
O Sematext fornece estatísticas sobre taxas de erro, velocidade da página e tempos de carregamento, além de outras métricas essenciais para os negócios. Também é possível usá-lo para comparar com concorrentes e identificar áreas onde é preciso otimizar para melhorar o desempenho do site.
Você pode experimentar o Sematext gratuitamente e testar todos os seus recursos antes de se comprometer com algum plano. Quando estiver pronto, você pode escolher entre três planos. Um plano de pagamento conforme o uso, muito flexível, que oferece um controle preciso sobre seus monitores. Um plano de US$ 29/mês oferece 40 monitores HTTP e 5 monitores de navegador com retenção de dados de 30 dias. O plano Pro oferece 100 monitores HTTP e 15 monitores de navegador por US$ 99.
Uptime.com
Uptime.com é um software de monitoramento web corporativo que inclui monitoramento sintético.
Seu editor integrado exclusivo, equipado com sugestões de campo, cria uma abordagem sem código para verificações de transações. O editor inclui um recurso de AutoCompletar que identifica elementos específicos sem a necessidade de procurá-los manualmente.
As verificações de transações do Uptime são uma maneira rápida e simples de obter informações essenciais sobre o que não está funcionando no seu site e por quê. Recomendo experimentar.
AlertBotName
AlertBotName é outra ótima opção para Monitoramento Sintético. O AlertBot se destaca por oferecer recursos avançados que são fáceis de usar, enviando relatórios úteis sobre o status diretamente para sua caixa de entrada e alertando você no instante em que seu site apresentar algum problema.
O grande diferencial é o gerenciamento proativo de seus monitores sintéticos de várias etapas (que eles chamam de “Proactive ScriptAssist”). Os sites estão em constante mudança, e este recurso garante que seus scripts sintéticos estejam sempre funcionando. Eles também oferecem um gravador web fácil de usar para auxiliar na criação dos seus scripts.
Pingdom
Para a maioria das empresas de pequeno e médio porte, as necessidades são simples e diretas. Geralmente, há apenas um aplicativo e alguns endpoints para monitorar, além de algumas experiências críticas do cliente.
Para esses casos, as principais ofertas existentes são excessivas, o que torna o Pingdom o meu favorito para monitoramento geral e Monitoramento Sintético semelhante.
Como pode ver, criar um teste de monitoramento sintético é muito simples no Pingdom, e você certamente irá desfrutar da experiência rápida e eficiente. Se você ainda não começou a monitorar, recomendo experimentar toda a gama de recursos oferecida pelo Pingdom – você certamente ficará satisfeito!
Apica
Apica é uma excelente opção de monitoramento sintético oferecida por uma empresa de confiança. Seu serviço de Monitoramento Sintético inclui monitoramento de tempo de atividade, monitoramento de concorrentes, monitoramento global (simular usuários de diferentes localizações geográficas) e muito mais.
Uma das principais vantagens que a Apica oferece é a implantação no local para empresas que prezam pela privacidade ou que estão sujeitas a regulamentos.
Site24x7
Assim como o Pingdom, o Site24x7 é mais conhecido como um serviço simples de ping para monitorar o tempo de atividade do aplicativo, mas fiquei satisfeito ao ver suas ofertas de Monitoramento Sintético.
O serviço é compatível com os casos de teste do Selenium, o que é um bônus se você já usa o Selenium para testar o navegador.
Fiquei impressionado com o sistema de notificação, que oferece webhooks programáveis e compatibilidade plug-and-play com Microsoft Teams, Slack, Stride, HipChat, Zapier, etc.
AppDynamics
Atualmente propriedade da Cisco, a AppDynamics é uma opção popular em serviços de monitoramento de sites e APIs, com um subconjunto importante de monitoramento sintético baseado em navegador Serviços.
Embora as ofertas sejam padrão, existem alguns recursos que se destacaram para mim.
O primeiro é o reteste de erros – assim que um erro é corrigido, a AppDynamics testa novamente para garantir que não seja um falso positivo; somente então uma notificação é enviada a você.
Em segundo lugar estão os agentes sintéticos privados, que permitem implantar agentes sintéticos personalizados em sua infraestrutura para cobrir casos extremos ou evitar problemas de latência. Definitivamente vale a pena explorar!
Catchpoint
Catchpoint é um serviço de Monitoramento Sintético incrivelmente abrangente, com mais de 700 locais de teste globais (mais do que qualquer outro que encontrei ao pesquisar este artigo).
Ele tenta cobrir todo o espectro de monitoramento, verificando mais de 20 tipos de monitoramento e identificando a causa real da falha.
Por exemplo, o upload do arquivo falhou devido à falta de resposta do servidor FTP, do ISP do cliente ou do ISP da sua empresa? Seja qual for o protocolo, tipo de navegador ou conectividade da última milha, o Catchpoint se esforça para fornecer uma imagem real e completa.
New Relic
O último desta lista é o New Relic, outro serviço de Monitoramento Sintético interessante para explorar.
Ele oferece todos os recursos esperados em um serviço de Monitoramento Sintético competente, embora com apenas 18 locais globais no momento. Portanto, se a disponibilidade global for sua principal preocupação, essa pode não ser a melhor opção para você.
No entanto, ele se encaixa perfeitamente caso você já utilize outros produtos da New Relic, especialmente o Insights.
Conclusão
O complemento do Monitoramento Sintético é o Monitoramento Real, que envolve o registro em tempo real de erros e a observação atenta dos mesmos. Assim como o primeiro, o Monitoramento Real tem seu lugar essencial – as simulações nunca poderão reproduzir completamente o caos de um sistema ativo e sob carga.
Principalmente quando se trata de descobrir os pontos ideais para otimização, o Monitoramento Real é a melhor opção. No entanto, como já mencionado, o Monitoramento Real depende do cliente. É uma forma reativa de lidar com erros (que, na minha opinião, ainda está muito à frente do padrão praticado pelas empresas – ignorar os erros 😀).