Menu

Ferramentas

Adote?

  • Cypress ainda é um favorito entre nossos times nos quais as pessoas desenvolvedoras gerenciam os testes de ponta-a-ponta, como parte de uma pirâmide de testes saudável, é claro. Decidimos destacar novamente neste Radar porque as versões recentes do Cypress adicionaram suporte ao Firefox, e sugerimos fortemente testar em múltiplos navegadores. O domínio dos navegadores Chrome e baseados no Chromium levou os times a uma tendência preocupante de aparentemente testar apenas no Chrome, o que pode levar a surpresas desagradáveis.

    Histórico
  • Figma demonstrou ser a ferramenta de escolha para design colaborativo, não apenas para designers, mas também para times multidisciplinares. Ele permite que pessoas desenvolvedoras e de outros papéis visualizem e comentem projetos pelo navegador sem a versão desktop. Em comparação com seus concorrentes (Invision ou Sketch, por exemplo), que exigem mais de uma ferramenta para versionamento, colaboração e compartilhamento de design, o Figma reúne todas essas funcionalidades em uma ferramenta que facilita a descoberta de novas ideias em conjunto pelos times. Nossos times consideram o Figma muito útil, especialmente para habilitação e facilitação remotas do trabalho de design. Além de seus recursos de design e colaboração em tempo real, o Figma também oferece uma API que ajuda a melhorar o processo de DesignOps.

    Histórico

Experimente?

  • Alguns anos atrás, o Docker — e contêineres em geral — mudaram radicalmente a forma como pensamos sobre empacotar, implantar e executar nossas aplicações. Mas, apesar dessa melhoria na produção, as pessoas desenvolvedores ainda gastam muito tempo configurando ambientes de desenvolvimento e frequentemente enfrentam problemas do tipo "funciona na minha máquina". Dojo visa corrigir isso criando ambientes de desenvolvimento padrão, com versões, e implantados como imagens do Docker. Vários de nossos times usam o Dojo para otimizar o desenvolvimento, teste e construção de código, do desenvolvimento local aos pipelines de produção.

    Histórico
  • Em 2018, mencionamos DVC em conjunto com dados versionados para análises reproduzíveis. Desde então, ele se tornou a ferramenta preferida para gerenciar experimentos em projetos de aprendizado de máquina (ML). Baseado em Git, o DVC é um ambiente familiar para pessoas desenvolvedoras de software levarem suas práticas de engenharia à prática de ML. Como ele libera o código que processa os dados junto com os próprios dados e rastreia os estágios em um pipeline, ajuda a ordenar as atividades de modelagem sem interromper o fluxo de analistas.

    Histórico
  • O trabalho diário de aprendizado de máquina geralmente se resume a uma série de experimentos na seleção de uma abordagem de modelagem e topologia de rede, treinamento de dados e otimização ou aprimoramento do modelo. Cientistas de dados devem usar a experiência e a intuição para criar hipóteses de mudanças e depois medir o impacto dessas mudanças no desempenho geral do modelo. À medida que essa prática amadureceu, nossos times descobriram uma demanda crescente de ferramentas de rastreamento de experimentos para aprendizado de máquina. Essas ferramentas ajudam as pessoas investigadoras a acompanhar os experimentos e trabalhar com eles de forma metódica. Embora nenhuma vencedora incontestável tenha surgido, ferramentas como MLflow e plataformas como Comet ou Neptune introduziram rigor e repetibilidade em todo o fluxo de trabalho de aprendizado de máquina.

    Histórico
  • Mencionamos Goss, uma ferramenta para testes de provisionamento, em Radares anteriores, por exemplo, ao descrever a técnica de TDD em contêineres. Embora Goss nem sempre seja uma alternativa ao Serverspec, simplesmente por não oferecer a mesma quantidade de recursos, vale considerá-lo quando seus recursos atenderem às suas necessidades, principalmente por se tratar de um binário pequeno e independente (em vez de exigir um ambiente Ruby). Um antipadrão comum com o uso de ferramentas como Goss é a contabilidade de entrada dupla, na qual cada alteração nos arquivos de infraestrutura como código requer uma alteração correspondente nas asserções de teste. Esses testes exigem muita manutenção e, devido à estreita correspondência entre código e teste, as falhas ocorrem principalmente quando uma pessoa engenheira atualiza um lado e esquece o outro. E esses testes raramente detectam problemas genuínos.

    Histórico
  • Jaeger é um sistema de rastreamento distribuído de código aberto. Semelhante ao Zipkin, foi inspirado pelo artigo do Google Dapper e está em conformidade com OpenTelemetry. Usamos Jaeger com sucesso com o Istio e o Envoy no Kubernetes e gostamos de sua UI. Jaeger expõe métricas de rastreamento no formato Prometheus, para que possam ser disponibilizadas para outras ferramentas. No entanto, uma nova geração de ferramentas como Honeycomb integra traces e métricas em um único fluxo de observabilidade para uma análise agregada mais simples. Jaeger ingressou na CNCF em 2017 e foi recentemente elevado ao mais alto nível de maturidade da CNCF, indicando sua ampla implantação em sistemas de produção.

    Histórico
  • Continuamos apoiando fervorosamente a infraestrutura como código, e continuamos a acreditar que uma solução robusta de monitoramento é um pré-requisito para operação de aplicativos distribuídos. Às vezes, uma ferramenta interativa, como o console web da AWS, pode ser uma adição útil. Ele nos permite explorar todos os tipos de recursos de maneira ad-hoc, sem precisar lembrar todos os comandos obscuros. Entretanto, usar uma ferramenta interativa para fazer modificações manuais em tempo real ainda é uma prática questionável. Para Kubernetes, agora temos k9s, que fornece uma interface interativa para basicamente tudo o que o kubectl pode fazer. E, para inicializar, não é um aplicativo web, mas roda dentro de uma janela de terminal, evocando boas lembranças do Midnight Commander para algumas de nós.

    Histórico
  • kind é uma ferramenta para executar clusters locais do Kubernetes usando nós de contêiner do Docker. Com integração ao kubetest, kind facilita o teste de ponta-a-ponta no Kubernetes. Usamos o kind para criar clusters efêmeros do Kubernetes para testar recursos como Operadores e Definições de Recursos Personalizadas (CRDs) em nossos pipelines de CI.

    Histórico
  • mkcert é uma ferramenta conveniente para criar certificados de desenvolvimento confiáveis localmente. O uso de certificados de autoridades de certificação reais (CAs) para desenvolvimento local pode ser desafiador, se não impossível, para hosts como example.test, localhost ou 127.0.0.1. Em tais situações, certificados autoassinados podem ser sua única opção. O mkcert permite gerar certificados autoassinados e instala CA local no armazenamento raiz do sistema. Para qualquer coisa que não seja desenvolvimento e testes locais, é altamente recomendável usar certificados de autoridades de certificação reais para evitar problemas de confiança.

    Histórico
  • O MURAL se descreve como um "workspace digital para colaboração visual" e permite que os times interajam em um espaço de trabalho compartilhado baseado na metáfora do quadro branco com post-its. Suas funcionalidades incluem votação, comentários, notas e modo "siga o cursor de quem está apresentando". Gostamos particularmente da funcionalidade de template, que permite que uma pessoa facilitadora crie e reutilize sessões guiadas com um time. Todos os principais conjuntos de ferramentas de colaboração possuem uma ferramenta com essa finalidade (por exemplo, Google Jamboard e Microsoft Whiteboard) e vale a pena explorá-las, mas consideramos o MURAL simples, eficiente e flexível.

    Histórico
  • Open Policy Agent (OPA) rapidamente se tornou um componente favorável de muitas soluções nativas de nuvem distribuídas que criamos para nossas clientes. A OPA fornece uma estrutura uniforme e linguagem para declarar, aplicar e controlar políticas para vários componentes de uma solução nativa de nuvem. É um ótimo exemplo de ferramenta que implementa política de segurança como código. Tivemos uma experiência tranquila usando OPA em vários cenários, incluindo a implantação de recursos nos clusters do K8s, impondo o controle de acesso entre serviços em uma malha de serviço e controles de segurança refinados como código para acessar os recursos da aplicação. Uma oferta comercial recente, o Serviço de Autorização Declarativa (DAS) da Styra facilita a adoção da OPA para empresas, adicionando uma ferramenta de gerenciamento ou plano de controle à OPA para K8s com uma biblioteca pré-construída de políticas, análise de impacto das políticas e recursos de log. Esperamos a maturidade e a extensão da OPA além dos serviços operacionais para (grandes) soluções centradas em dados.

    Histórico
  • A pesquisa de UX exige coleta e análise de dados para que sejam tomadas melhores decisões sobre os produtos que precisamos construir. Nossos times consideram o Optimal Workshop útil, pois ele facilita a validação de protótipos e a configuração de testes para coleta de dados e, portanto, a tomada de decisões melhores. Recursos como primeiro clique, classificação de cartão ou mapa de calor da interação do usuário ajudam a validar protótipos e melhoram a navegação no site e a exibição de informações. É uma ferramenta ideal para times distribuídos, pois permite realizar pesquisas remotas.

    Histórico
  • Conforme mencionado em nossa descrição do Crowdin, agora você tem uma opção de plataformas para gerenciar a tradução de um produto para vários idiomas, em vez de enviar grandes planilhas por email. Nossos times relatam experiências positivas com Phrase, enfatizando que é fácil de usar para todos os principais grupos de usuários. As pessoas tradutoras usam uma interface de usuário conveniente, baseada em navegador. Gerentes podem adicionar novos campos e sincronizar traduções com outros times na mesma interface de usuário. Pessoas desenvolvedoras podem acessar o Phrase localmente e a partir de um pipeline de compilação. Um recurso que merece uma menção específica é a capacidade de aplicar o controle de versão às traduções por meio de tags, o que possibilita comparar o visual de diferentes traduções no produto real.

    Histórico
  • ScoutSuite é uma ferramenta expandida e atualizada baseada em Scout2 (destacado no Radar em 2018) que fornece avaliação de postura de segurança na AWS, Azure, GCP e outros provedores de nuvem. Ela funciona agregando automaticamente dados de configuração para um ambiente e aplicando regras para auditar o ambiente. Nós achamos isso muito útil em projetos para fazer avaliações de segurança pontuais.

    Histórico
  • Desde que mencionamos as ferramentas de teste de regressão visual em 2014, o uso da técnica cresceu e o cenário das ferramentas evoluiu. BackstopJS continua sendo uma excelente opção, com novos recursos sendo adicionados regularmente, incluindo suporte para execução em contêineres do Docker. Loki foi destaque em nosso último Radar. Applitools, CrossBrowserTesting e Percy são soluções SaaS. Outra menção notável é Resemble.js, uma biblioteca que diferencia imagens. Embora a maioria dos times usam indiretamente como parte do BackstopJS, alguns de nossos times a usam para analisar e comparar imagens diretamente de páginas da web. Em geral, nossa experiência mostra que as ferramentas de regressão visual são menos úteis nos estágios iniciais, quando a interface passa por mudanças significativas, mas certamente provam seu valor à medida que o produto amadurece e a interface se estabiliza.

    Histórico
  • Visual Studio Live Share é um conjunto de extensões para Visual Studio Code e Visual Studio. Em um momento em que os times estão buscando boas opções para colaboração remota, queremos chamar atenção para essa excelente ferramenta. O Live Share fornece uma boa experiência de pareamento remoto de baixa latência e requer significativamente menos largura de banda do que a abordagem de força bruta ao compartilhar toda a área de trabalho. É importante ressaltar que as pessoas desenvolvedoras podem trabalhar com suas próprias configurações, extensões e mapeamentos de teclas preferidos durante as sessões de pareamento. Além da colaboração em tempo real para edição e depuração de código, o Live Share permite chamadas de voz e compartilhamento de terminais e servidores.

    Histórico

Avalie?

  • Apache Superset é uma excelente ferramenta de business intelligence (BI) para exploração e visualização de dados e para trabalhar com grandes configurações de lagos de dados e armazenamento de dados. Funciona, por exemplo, com Presto, Amazon Athena e Amazon Redshift e se integra bem à autenticação corporativa. Além disso, você não precisa ser especialista em engenharia de dados para usar, já que a ferramenta é feita para beneficiar todas as pessoas que trabalham com exploração de dados no dia-a-dia. Vale ressaltar que o Apache Superset está atualmente em período de incubação na Apache Software Foundation (ASF), o que significa que ainda não foi inteiramente endossado pela ASF.

    Histórico
  • Os padrões abertos são um dos pilares fundamentais da construção de sistemas distribuídos. Por exemplo, a especificação OpenAPI (anteriormente Swagger), como padrão do setor para definir APIs RESTful, foi fundamental para o sucesso de arquiteturas distribuídas, como microsserviços. Ela permitiu uma proliferação de ferramentas para oferecer suporte à criação, teste e monitoramento de APIs RESTful. No entanto, essas padronizações têm estado ausentes em sistemas distribuídos para APIs orientadas a eventos.

    AsyncAPI é uma iniciativa de código aberto para criar uma ferramenta muito necessária de padronização e desenvolvimento de API assíncrona e orientada a eventos. A especificação AsyncAPI, inspirada na especificação OpenAPI, descreve e documenta APIs controladas por eventos em um formato legível por máquinas. É independente de protocolo, por isso pode ser usada para APIs que funcionam em muitos protocolos, incluindo MQTT, WebSockets e Kafka. Esperamos ansiosamente ver as melhorias contínuas do AsyncAPI e uma maior maturidade de seu ecossistema de ferramentas.

    Histórico
  • Se você está procurando um serviço para suportar feature toggles dinâmicas (vale lembrar que feature toggles simples também funcionam bem), confira o ConfigCat. Nós o descreveríamos como "similar ao LaunchDarkly, mas mais barato e um pouco menos sofisticado", e consideramos que ele faz a maior parte do que precisamos. O ConfigCat suporta feature toggles simples, segmentação de usuários e teste A/B, e possui um nível gratuito generoso para casos de uso de baixo volume ou para quem está começando.

    Histórico
  • Você pode criar a maioria dos softwares seguindo um processo simples de duas etapas: fazer check-out de um repositório e executar um único script de compilação. O processo de configuração de um ambiente de código completo ainda pode ser complicado. Gitpod aborda essa questão fornecendo ambientes prontos para código, baseados em nuvem, para repositórios GitHub ou GitLab. Ele oferece um IDE baseado em Visual Studio Code que roda dentro do navegador web. Por padrão, esses ambientes são lançados no Google Cloud Platform, embora você também possa implantar soluções no local. Vemos um apelo para uso imediato, especialmente para software de código aberto, onde essa abordagem pode reduzir o nível de exigência para quem colabora de maneira casual. No entanto, ainda resta ver o quanto essa abordagem será viável em ambientes corporativos.

    Histórico
  • Com a crescente adoção de Kubernetes e malha de serviços, os gateways de API estão enfrentando uma crise existencial nos sistemas distribuídos nativos de nuvem. Afinal, muitos de seus recursos (como controle de tráfego, segurança, roteamento e observabilidade) agora são fornecidos pelo controlador de entrada do cluster e pelo gateway de malha. Gloo é um gateway de API leve que abraça essa alteração. Ele usa Envoy como sua tecnologia de gateway, além de fornecer um valor agregado, como uma visão coesa das APIs para usuários e aplicações externas. Ele também fornece uma interface administrativa para controlar gateways Envoy e executa e integra-se a várias implementações de malha de serviço, como Linkerd, Istio e AWS App Mesh. Embora sua implementação de código aberto forneça os recursos básicos esperados de um gateway de API, sua edição corporativa possui um conjunto mais maduro de controles de segurança, como gerenciamento de chave de API ou integração com OPA. Gloo é um gateway de API leve e promissor que funciona bem com o ecossistema de tecnologia e arquitetura nativas da nuvem, evitando a armadilha do gateway de API ao permitir que a lógica de negócios cole APIs para o usuário final.

    Histórico
  • Um dos pontos fortes do Kubernetes é sua flexibilidade e variedade de possibilidades de configuração, juntamente com os mecanismos de configuração programáveis controlados por API e a visibilidade da linha de comando e controle usando arquivos de manifesto. No entanto, essa força também pode ser uma fraqueza: quando as implantações são complexas, ou ao gerenciar vários clusters, pode ser difícil obter uma imagem nítida do status geral por meio de argumentos e manifestos da linha de comando. Lens tenta resolver esse problema com um ambiente integrado para visualizar o estado atual do cluster e suas cargas de trabalho, visualizar métricas do cluster e alterar configurações através de um editor de texto incorporado . Em vez de uma interface simples de apontar e clicar, Lens reúne as ferramentas que um administrador executaria pela linha de comando em uma única interface navegável. Essa ferramenta é uma das várias abordagens que estão tentando domar a complexidade do gerenciamento do Kubernetes. Ainda temos não temos uma vencedor indiscutível neste espaço, mas Lens encontra um equilíbrio interessante entre uma UI gráfica e ferramentas apenas de linha de comando.

    Histórico
  • Manifold é um depurador visual independente de modelo para aprendizado de máquina (ML). Pessoas desenvolvedores de modelos gastam uma quantidade significativa de tempo iterando e aprimorando modelos existentes, em vez de criar novos. Ao mudar o foco do espaço do modelo para o espaço dos dados, Manifold complementa as métricas de desempenho existentes com características visuais do conjunto de dados que influencia o desempenho do modelo. Acreditamos que Manifold será uma ferramenta útil para avaliar no ecossistema de ML.

    Histórico
  • Criar aplicações web que parecem exatamente como era esperado em um grande número de dispositivos e tamanhos de tela pode ser complicado. Sizzy é uma solução SaaS que mostra muitas viewports em uma única janela do navegador. A aplicação é renderizada em todas as viewports simultaneamente e as interações com a aplicação também são sincronizadas nas viewports. Em nossa experiência, a interação com uma aplicação dessa maneira pode facilitar a identificação de possíveis problemas cedo, antes de uma ferramenta de testes de regressão visual sinalizar o problema no pipeline de compilação. Devemos mencionar, no entanto, que algumas de nossas pessoas desenvolvedores que experimentaram Sizzy por um tempo, de forma geral, preferem trabalhar com as ferramentas fornecidas pelo Chrome.

    Histórico
  • Snowpack é um novato interessante no campo das ferramentas de construção em JavaScript. O principal aprimoramento em relação a outras soluções é que o Snowpack possibilita a criação de aplicativos com estruturas modernas como React.js, Vue.js e Angular sem a necessidade de um empacotador. Cortar a etapa de agrupamento melhora drasticamente o ciclo de feedback durante o desenvolvimento, porque as alterações ficam disponíveis no navegador quase imediatamente. Para que essa mágica funcione, o Snowpack transforma as dependências em node_modules em arquivos JavaScript únicos em um novo diretório web_modules, de onde eles podem ser importados como módulos ECMAScript (ESM). Para o IE11 e outros navegadores que não suportam ESM, é disponibilizada uma solução alternativa. Infelizmente, como hoje em dia nenhum navegador pode importar CSS do JavaScript, o uso de módulos CSS não é direto.

    Histórico
  • A segurança é uma preocupação geral e capturar riscos cedo é sempre melhor do que enfrentar problemas mais tarde. No espaço de infraestrutura como código, no qual Terraform é uma escolha óbvia para gerenciar ambientes em nuvem, agora também temos tfsec, uma ferramenta de análise estática que ajuda a digitalizar templates do Terraform e encontrar possíveis problemas de segurança. Ele vem com regras predefinidas para diferentes provedores de nuvem, incluindo AWS e Azure. Sempre gostamos de ferramentas que ajudam a mitigar os riscos à segurança, e tfsec não apenas se destaca na identificação de riscos à segurança, como também é fácil de instalar e usar.

    Histórico

Evite?

    Não encontrou algo que você esperava achar?

    Cada edição do radar inclui blips que refletem nossas experiências nos seis meses anteriores. Talvez já tenhamos falado sobre o que você procura em um radar anterior. Às vezes, deixamos coisas de fora simplesmente porque há muitas a serem abordadas. Também pode estar faltando um tópico específico porque o radar reflete nossa experiência, não se baseando em uma análise abrangente do mercado.

    Novo,Modificado,Sem alteração