Enable javascript in your browser for better experience. Need to know to enable it? Go here.

Ferramentas

Adote ?

  • Em nossos projetos usando Terraform, tfsec tornou-se rapidamente uma ferramenta de análise estática padrão para detectar possíveis riscos de segurança. É fácil de integrar em um pipeline de CI e possui uma biblioteca crescente de verificações para todos os principais provedores de nuvem e plataformas, como Kubernetes. Dada a sua facilidade de uso, acreditamos que tfsec pode ser uma boa adição a qualquer projeto com Terraform.

Experimente ?

  • AKHQ é uma GUI para Apache Kafka que permite gerenciar tópicos, dados de tópicos, grupos de consumidores e mais. Alguns de nossos times consideram AKHQ uma ferramenta eficaz para observar o status em tempo real de um cluster Kafka. Você pode, por exemplo, navegar por tópicos em um cluster. Para cada tópico, você pode visualizar o nome, o número de mensagens armazenadas, o tamanho utilizado do disco, o horário do último registro, o número de partições, o fator de replicação com a quantidade em sincronia e o grupo de consumidores. Com opções para desserialização Avro e Protobuf, AKHQ pode ajudar a entender o fluxo de dados em seu ambiente Kafka.

  • cert-manager é uma ferramenta para gerenciar seus certificados X.509 em seu cluster Kubernetes. O cert-manager modela certificados e emissores como tipos de recursos de primeira classe e fornece certificados como serviço com segurança para pessoas desenvolvedoras e aplicações que trabalham no cluster Kubernetes. Escolha óbvia ao usar o controlador de entrada padrão do Kubernetes, também é recomendado para outros casos e preferível em relação à rolagem manual de seu próprio gerenciamento de certificados. Vários de nossos times têm usado o cert-manager extensivamente, e também notamos que sua usabilidade melhorou muito nos últimos meses.

  • Cloud Carbon Footprint (CCF) é uma ferramenta de código aberto que usa APIs de nuvem para fornecer visualizações de emissões de carbono estimadas com base na utilização na AWS, GCP e Azure. A equipe da Thoughtworks usou a ferramenta com sucesso com várias organizações, incluindo empresas de tecnologia no setor de energia, varejo, provedores de serviços digitais e empresas que usam IA. As provedoras de plataforma em nuvem entendem que é importante ajudar clientes a entender o impacto do carbono gerado pelo uso de seus serviços, então, começaram a desenvolver funcionalidades semelhantes. Como o CCF é agnóstico de nuvem, permite que os usuários visualizem o uso de energia e as emissões de carbono de várias provedoras de nuvem em um só lugar, enquanto traduz as pegadas de carbono em impacto no mundo real, como voos ou árvores plantadas.

    Em versões recentes, o CCF começou a incluir recomendações de otimização da Google Cloud e da AWS, além de possíveis economias de energia e CO2, além de oferecer suporte a mais tipos de instância de nuvem, como instâncias de GPU. Dada a tração que a ferramenta recebeu e a adição contínua de novos recursos, nós nos sentimos confiantes em movê-la para Experimente.

  • Conftest é uma ferramenta para escrever testes para dados de configuração estruturados. Baseia-se na Rego language da Open Policy Agent para escrever testes para configurações do Kubernetes, definições de pipeline do Tekton ou mesmo planos do Terraform. Temos tido ótimas experiências com o Confitest — e sua curva de aprendizado simples. Com feedbacks rápidos dos testes, nossos times iteram com rapidez e segurança nas alterações de configuração do Kubernetes.

  • kube-score é uma ferramenta que faz análise de código estático de definições de objeto do Kubernetes. A saída é uma lista de recomendações sobre o que você pode melhorar para tornar seu aplicativo mais seguro e resiliente. Conta com uma lista de verificações predefinidas que inclui práticas recomendadas, como executar contêineres com privilégios não root e especificar corretamente os limites de recursos. Já existe há algum tempo e o usamos em alguns projetos como parte de um pipeline de CD para manifestos do Kubernetes. Uma grande desvantagem do kube-score é que você não pode adicionar políticas personalizadas. Normalmente, complementamos com outras ferramentas como Conftest nesses casos.

  • Lighthouse é uma ferramenta criada pelo Google para avaliar aplicações e páginas web, coletando métricas de desempenho e insights sobre boas práticas de desenvolvimento. Há muito tempo defendemos testes de performance como elementos de primeira classe, e as adições ao Lighthouse que mencionamos há cinco anos certamente ajudaram nisso. Nosso pensamento em torno das funções de aptidão arquitetural criou uma forte motivação para que ferramentas como o Lighthouse fossem executadas em pipelines de entrega. Com a introdução do Lighthouse CI, ficou mais fácil do que nunca incluir o Lighthouse em pipelines gerenciados por várias ferramentas.

  • Metaflow é uma biblioteca Python fácil de usar e um serviço de back-end que ajuda pessoas engenheiras e cientistas de dados a criar e gerenciar processamento de dados pronto para produção, treinamento de ML e fluxos de trabalho de inferência. O Metaflow fornece APIs Python que estruturam o código como um grafo direcionado de etapas. Cada etapa pode ser decorada com configurações flexíveis, como os recursos de computação e armazenamento necessários. Os artefatos de código e dados para a execução de cada etapa são armazenados e podem ser recuperados para execuções futuras ou para as próximas etapas do fluxo, permitindo que você recupere erros, repita execuções e rastreie versões de modelos e suas dependências em várias execuções.

    A proposta de valor do Metaflow é a simplicidade de sua biblioteca Python idiomática: integra-se totalmente à infraestrutura de compilação e tempo de execução para permitir a execução de tarefas de engenharia e ciência de dados em ambientes de produção locais e em escala. Neste momento, o Metaflow está fortemente integrado aos serviços da AWS, como o S3, para seu serviço de armazenamento de dados e funções de etapas para orquestração. Metaflow suporta R, além de Python. Seus principais recursos são de código aberto.

    Se você estiver criando e implantando pipelines de processamento de dados e ML em produção na AWS, Metaflow é uma alternativa de framework leve e completo para plataformas mais complexas, como MLflow.

  • Micrometer é uma biblioteca agnóstica de plataforma para instrumentação de métricas em JVM, que suporta Graphite, New Relic, CloudWatch e muitas outras integrações. Descobrimos que o Micrometer beneficia tanto autores de bibliotecas quanto equipes: autores podem incluir código de instrumentação de métricas em suas bibliotecas sem precisar dar suporte a todo e qualquer sistema de métricas que seus usuários estejam usando, enquanto as equipes podem oferecer suporte a muitas métricas diferentes em registros de back-end, habilitando as organizações a coletar métricas de maneira consistente.

  • NUKE é um sistema de construção para .NET e uma alternativa ao tradicional MSBuild, ou ao Cake e o Fake, que apresentamos anteriormente no Radar. NUKE representa as instruções de construção como uma DSL C#, facilitando o aprendizado e oferecendo bom suporte a IDE. Em nossa experiência, NUKE simplificou muito a construção de automação para projetos .NET. Gostamos das verificações e dicas precisas do código estático. Também gostamos do fato de podermos usar qualquer pacote NuGet de maneira fluida, e de que o código de automação pode ser compilado para evitar problemas em tempo de execução. O NUKE não é novo, mas sua abordagem inovadora — usando uma DSL C# — e nossa experiência geral positiva nos levaram a incluí-lo aqui.

  • Usamos Pact para testes de contrato por tempo suficiente para observar um pouco da complexidade que vem com a escala. Alguns de nossos times usaram com sucesso o Pactflow para reduzir esse atrito. O Pactflow é executado tanto como software como serviço quanto como implantação local, com os mesmos recursos da oferta SaaS, e adicionando usabilidade, segurança e auditoria aprimoradas sobre a oferta Pact Broker de código aberto. Nosso uso até o momento é satisfatório, e estamos felizes em ver o esforço contínuo para remover parte da sobrecarga do gerenciamento de testes de contrato em escala.

  • Uma alternativa ao Docker, Podman foi validado por muitos de nossos times. Podman apresenta um mecanismo sem daemon para gerenciar e executar contêineres, o que é uma abordagem interessante em comparação com o que o Docker faz. Além disso, Podman pode ser executado facilmente como um usuário normal sem exigir privilégios de root, o que reduz a superfície de ataque. Usando imagens da Open Container Initiative (OCI) criadas por Buildah ou imagens do Docker, Podman pode ser adaptado à maior parte dos casos de uso de contêineres. Com exceção de alguns problemas de compatibilidade com macOS, nossos times tiveram boas experiências com Podman em distribuições Linux.

  • Na edição anterior do Radar, apresentamos duas ferramentas que pesquisam e substituem código usando uma representação de árvore de sintaxe abstrata (AST), Comby e Sourcegraph. Embora compartilhem algumas semelhanças, também diferem de várias maneiras. Sourcegraph é uma ferramenta comercial (com opção de uso gratuito para até 10 usuários). É particularmente adequada para pesquisa, navegação ou referência cruzada em grandes bases de código, com ênfase em uma experiência interativa de desenvolvimento. Por outro lado, Comby é uma ferramenta de linha de comando leve e de código aberto para automatizar tarefas repetitivas. Como Sourcegraph é um serviço hospedado, também tem a capacidade de monitorar continuamente as bases de código e enviar alertas quando ocorre uma correspondência. Agora que ganhamos mais experiência com Sourcegraph, decidimos movê-lo para o anel Experimente para refletir nossa experiência positiva — o que não significa que seja melhor que Comby. Cada ferramenta tem como foco um nicho diferente.

  • Um dos elementos-chave para melhorar a "segurança da cadeia de fornecimento" é usar uma lista de materiais de software (SBOM). Por isso, publicar uma SBOM junto com o artefato de software é cada vez mais importante. Syft é uma ferramenta CLI e biblioteca Go para gerar SBOMs a partir de imagens de contêiner e sistemas de arquivos. A SBOM pode ser gerada em vários formatos, incluindo JSON, CycloneDX e SPDX. A saída SBOM do Syft pode ser usada pelo Grype para verificação de vulnerabilidades. Uma forma de publicar a SBOM gerada junto com a imagem é adicioná-la como um atestado usando Cosign. Isso permite que os consumidores da imagem verifiquem a SBOM e a usem para análise adicional.

  • Ao trabalhar com várias bases de código JavaScript ao mesmo tempo, muitas vezes é necessário usar diferentes versões do Node e de outras ferramentas JavaScript. Em máquinas de pessoas desenvolvedoras, essas ferramentas geralmente são instaladas na conta do usuário ou na própria máquina, o que significa que é necessária uma solução para alternar entre várias instalações. Para o Node em si existe o nvm, mas queremos destacar Volta como uma alternativa que estamos vendo em uso com nossos times. Volta tem várias vantagens em relação ao uso do nvm: pode gerenciar outras ferramentas JavaScript como Yarn; também conta com a noção de fixar uma versão da cadeia de ferramentas em uma base de projeto, o que significa que as pessoas desenvolvedoras podem simplesmente usar as ferramentas em um determinado diretório de código sem ter que se preocupar em alternar manualmente entre as versões da ferramenta — Volta simplesmente usa shims no caminho para selecionar a versão fixada. Escrito em Rust, Volta é rápido e vem como um único binário sem dependências.

  • Web Test Runner é um pacote dentro do projeto Modern Web, que fornece várias ferramentas de alta qualidade para desenvolvimento web moderno com suporte para padrões web como ES Modules. O Web Test Runner é um executor de testes para aplicações web. Uma de suas vantagens em comparação com executores de teste existentes é a execução de testes no navegador (que pode ser headless). Suporta vários launchers de navegação - incluindo Puppeteer, Playwright e Selenium — e usa Mocha como padrão para framework de testes. Os testes são executados com muita rapidez, e gostamos da possibilidade de abrir uma janela do navegador com devtools durante a depuração. O Web Test Runner usa internamente o Web Dev Server, que nos permite aproveitar sua excelente API de plugin para adicionar plugins personalizados para nosso conjunto de testes. As ferramentas de desenvolvimento do projeto Modern Web parecem ser um conjunto muito promissor, e já estamos usando em alguns projetos.

Avalie ?

  • Até este momento, muitas organizações criaram amplas estruturas de serviços na nuvem. Evidentemente, isso só é possível ao usar infraestrutura como código e ferramentas maduras. Ainda gostamos do Terraform, principalmente por seu rico e crescente ecossistema. No entanto, a falta de abstrações em HCL, a linguagem de configuração padrão do Terraform, cria efetivamente um teto de vidro. Usar Terragrunt contribui um pouco mais para esse cenário, mas cada vez mais nossos times se veem ansiosos pelas abstrações oferecidas pelas linguagens de programação modernas. Cloud Development Kit for Terraform (CDKTF), que resultou de uma colaboração entre o time do CDK da AWS e a Hashicorp, possibilita que os times usem várias linguagens de programação, incluindo TypeScript e Java, para definir e provisionar infraestrutura. Essa abordagem segue o caminho liderado por Pulumi, mantendo-se no ecossistema Terraform. Tivemos boas experiências com o CDKTF, mas decidimos mantê-lo no anel Avalie até que saia da versão beta.

  • Chrome Recorder panel é um recurso de visualização do Google Chrome 97 que permite o registro e a reprodução simples das jornadas de usuário. Embora essa definitivamente não seja uma ideia nova, a maneira como o recurso é integrado ao Chrome possibilita a criação, edição e execução rápidas de scripts. Também se integra perfeitamente ao painel de desempenho, o que facilita a obtenção de feedback consistente e constante sobre o desempenho da página. Embora o teste de estilo de gravação/reprodução sempre deva ser usado com cuidado para evitar testes frágeis, achamos que vale a pena avaliar esse recurso de visualização, especialmente se você já estiver usando o painel Chrome Performance para medir o desempenho de suas páginas.

  • Excalidraw é uma ferramenta de desenho online simples, mas poderosa, que nossos times gostam de usar. Às vezes, as equipes precisam apenas de uma imagem rápida em vez de um diagrama formal. Para times remotos, o Excalidraw oferece uma maneira rápida de criar e compartilhar diagramas. Nossos times também gostam do visual "lo-fi" dos diagramas que podem produzir, que lembra a aparência dos diagramas que seriam criados em um quadro branco se o time estivesse reunido presencialmente. Uma ressalva: você precisa prestar atenção aos padrões de segurança. Atualmente, qualquer pessoa que tenha o link pode ver o diagrama. A versão paga fornece autenticação adicional.

  • GitHub Codespaces permite que pessoas desenvolvedoras criem ambientes de desenvolvimento na nuvem e os acessem por meio de um IDE como se o ambiente fosse local. O GitHub não é a primeira empresa a implementar essa ideia; já falamos anteriormente sobre o Gitpod. Gostamos do fato de o Codespaces permitir que os ambientes sejam padronizados usando a configuração de dotfiles, tornando mais rápido o onboarding de novos membros no time, além de oferecer máquinas virtuais com até 32 núcleos e 64 GB de memória. Essas VMs podem ser ativadas em menos de dez segundos, oferecendo potencialmente ambientes mais poderosos do que o laptop de uma pessoa desenvolvedora.

  • GoReleaser é uma ferramenta que automatiza o processo de construção e lançamento de um projeto Go para diferentes arquiteturas por meio de vários repositórios e canais, uma necessidade comum para projetos Go direcionados a diferentes plataformas. Você executa a ferramenta a partir de sua máquina local ou via CI, com a ferramenta disponível por meio de vários serviços CI, minimizando assim a configuração e a manutenção. O GoReleaser cuida da compilação, empacotamento, publicação e anúncio de cada lançamento, além de oferecer suporte a diferentes combinações de formato de pacotes, repositório de pacotes e controle de versão. Embora já exista há alguns anos, nos surpreende que mais times não estejam usando. Se você precisa lançar regularmente uma base de código Go, vale a pena avaliar essa ferramenta.

  • Proteger a cadeia de fornecimento de software tornou-se uma preocupação comum entre os times de entrega, o que se reflete no número crescente de novas ferramentas nesse espaço. Grype é uma nova ferramenta leve de verificação de vulnerabilidades para imagens Docker e OCI. Pode ser instalado como um binário, verificar imagens antes de serem enviadas por push para um registro e não requer que um daemon do Docker seja executado em seus agentes de compilação. Grype vem da mesma equipe por trás do Syft, que gera listas de materiais de software (SBOMs) em vários formatos a partir de imagens de contêineres. Grype pode consumir a saída SBOM do Syft para verificar vulnerabilidades.

  • Uma vantagem de migrar para a nuvem frequentemente citada é a transparência em relação aos gastos com infraestrutura. Em nossa experiência, isso muitas vezes não é o caso. Os times nem sempre pensam nas decisões que tomam em relação à infraestrutura em termos de custo financeiro, e é por isso que mencionamos anteriormente o custo de execução como função de aptidão arquitetural. O lançamento de Infracost, uma nova ferramenta que visa tornar as compensações de custo visíveis nas pull requests do Terraform, nos intrigou. É um software de código aberto e está disponível para macOS, Linux, Windows e Docker, oferecendo suporte a precificação para AWS, GCP e Microsoft Azure prontos para uso. Também fornece uma API pública que pode ser consultada para dados de custo atuais. Nossos times estão entusiasmados com seu potencial, especialmente quando se trata de obter melhor visibilidade de custos no IDE.

  • Na edição anterior do Radar, colocamos comandos modernos do Unix no anel Avalie. Um dos comandos apresentados nessa coleção de ferramentas foi jq, efetivamente um sed para JSON. jc executa uma tarefa relacionada: pega a saída de comandos Unix comuns e analisa a saída em JSON. Os dois comandos juntos fornecem uma ponte entre o mundo Unix CLI e o conjunto de bibliotecas e ferramentas que operam em JSON. Ao escrever scripts simples, por exemplo, para implantação de software ou coleta de informações de solução de problemas, ter uma infinidade de diferentes formatos de saída de comando Unix mapeados em JSON bem definido pode economizar muito tempo e esforço. Assim como acontece com jq, você precisa ter certeza de que o comando está disponível. jc pode ser instalado a partir de muitos dos repositórios de pacotes conhecidos.

  • skopeo é um utilitário de linha de comando que executa várias operações em imagens de contêiner e repositórios de imagens. Não requer um usuário root para a maioria de suas operações e não requer que um daemon esteja em execução. É uma parte útil de um pipeline de CI. Nós o usamos para copiar imagens de um registro para outro enquanto promovemos as imagens. É melhor do que fazer um pull e um push, pois não precisamos armazenar as imagens localmente. Não é uma ferramenta nova, mas é tão útil e subutilizada que achamos válido destacá-la.

  • Embora linting seja uma prática antiga no mundo do software, sua adoção é mais lenta no mundo dos dados. SQLFluff é um linter SQL de dialeto cruzado escrito em Python que vem com uma interface de linha de comando simples (CLI), facilitando a incorporação em um pipeline CI/CD. Se você estiver confortável com as convenções padrão, o SQLFluff funcionará sem nenhuma configuração adicional após instalá-lo e aplicará um conjunto de padrões de formatação fortemente opinativos. Para definir suas próprias convenções, é necessário adicionar um dotfile de configuração. A CLI pode corrigir automaticamente determinadas classes de violações que envolvem questões de formatação, como espaços em branco ou letras maiúsculas de palavras-chave. SQLFluff ainda é novo, mas estamos otimistas em ver o SQL recebendo alguma atenção no mundo do linting.

  • As organizações que adotaram infraestrutura como código e plataformas de infraestrutura de autoatendimento estão procurando maneiras de dar aos times o máximo de autonomia enquanto ainda aplicando boas práticas de segurança e políticas organizacionais. Já destacamos tfsec antes e o estamos movendo para o anel Adote nesta edição do Radar. Para times que trabalham na GCP, o Terraform Validator pode ser uma opção para criar uma biblioteca de políticas, ou seja, um conjunto de restrições que são verificadas nas configurações do Terraform.

  • Typesense é um mecanismo de pesquisa de texto rápido e tolerante a erros de digitação. Para casos de uso que envolvem grandes volumes de dados, Elasticsearch ainda pode ser uma boa opção, pois fornece uma solução de pesquisa baseada em disco escalável horizontalmente. No entanto, se você estiver criando uma aplicação de pesquisa sensível à latência com um tamanho de índice de pesquisa que caiba na memória, Typesense é uma alternativa poderosa e mais uma opção para ser avaliada ao lado de ferramentas como Meilisearch.

Evite ?

 
  • tools quadrant with radar rings Adote Experimente Avalie Evite Adote Experimente Avalie Evite
  • Novo
  • Modificado
  • Sem alteração

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 faltar um tópico específico porque o Radar reflete nossa experiência, não se baseando em uma análise abrangente do mercado.

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 faltar um tópico específico porque o Radar reflete nossa experiência, não se baseando em uma análise abrangente do mercado.

Radar

Baixar o Technology Radar Volume 26

English | Español | Português | 中文

Radar

Mantenha-se por dentro das tendências de tecnologia

 

Seja assinante

Visite nosso arquivo para acessar os volumes anteriores