Capacidade de composição para Jamstack: detalhamento dos termos de front-end
10 de maio de 2024Guia para iniciantes na configuração de replicação Proxmox
10 de maio de 2024PARIS — Os Testcontainers do Docker agora estão diretamente no OpenShift da Red Hat. Isso significa que muitas soluções alternativas para usar esses contêineres para testes e conformidade e outros aspectos do CD agora estão disponíveis diretamente no cluster OpenShift. Isso também é uma vantagem para a comunidade Java, para a qual os Testcontainers são populares, ao mesmo tempo que acomoda diferentes linguagens além do Java.
Mas antes de tudo, por que você deveria se preocupar com CI com Testcontainers? Isso ocorre porque os Testcontainers – que a Docker adquiriu para comprar o AtomicJar em dezembro – oferecem aos desenvolvedores uma maneira de superar seu ambiente de desenvolvimento, muitas vezes isolado. Sem certas plataformas e ferramentas de CI, um desenvolvedor pode não ter acesso ao shell externo ou ao cluster diretamente além do processo de desenvolvimento do aplicativo. Assim, uma vez carregado, utilizado ou integrado ao cluster como o Amazon AWS ECS, por exemplo, ele pode ser devolvido ao desenvolvedor para mais trabalho.
Já com os Docker Testcontainers, ele pode ser reconfigurado ou testado diretamente durante o processo de CI, evitando assim muitas dores de cabeça. Agora, o fato de estar disponível para testes e outros aspectos, seja política e conformidade, governança, etc., significa que os desenvolvedores podem iterar localmente. Eles podem se beneficiar da execução segura de cargas de trabalho em clusters OpenShift.
Testcontainers é descrito como uma estrutura de código aberto para fornecer instâncias leves “descartáveis” de dependências de teste, de acordo com a documentação dos contêineres Docker. Ao definir dependências como código diretamente em seus testes, os testes repetíveis ficam mais fáceis. Existem bibliotecas Testcontainers para todas as linguagens populares além de Java, incluindo Golang .NET, Node.js, Rust e Python. Os testes unitários permitem que os testes sejam executados localmente e no CI.
Novamente, o código é verificado e avaliado quanto a CI durante o processo de desenvolvimento. A transparência foi adicionada durante esse desenvolvimento para que eles não apenas joguem código por cima da cerca no cluster e, em seguida, sejam potencialmente rejeitados, o que acontece com muita frequência, minando o tempo do desenvolvedor, do SRE e de outras partes interessadas.
Agora, Testcontainers são integrados diretamente sob a égide do Docker e acessíveis no Docker Hub e integrados diretamente ao OpenShift. Como Justin Cormack, CTO da Docker, disse ao The New Stack durante a KubeCon + CloudNativeCon Europe em Paris: “Há uma grande sobreposição entre usuários de contêineres de teste e usuários da Red Hat. Esta é uma comunidade Java.”
Além disso, “Java é onde o Testcontainers começou, embora agora também esteja disponível para outras linguagens. Mas Java ainda é a comunidade central mais forte”, disse Cormack. “E obviamente a Red Hat também tem uma grande presença em Java. Portanto, há muitas pessoas fazendo isso.”
Cormack observou que Testcontainers representa o Docker oferecendo uma oferta de nuvem local com o plano de controle de nuvem e plano de dados e tudo permanece em seu cluster, disse Cormack. “Portanto, trata-se de desenvolvedores e pessoas que não são apenas desenvolvedores, apelando aos usuários REHL e ao pessoal do OpenShift, que também usam contêineres Docker”, disse Cormack “Antes, quando você tinha que tentar construir algo assim sozinho, era. realmente difícil por vários motivos técnicos e muito confuso. Você estava girando contêineres enquanto já estava dentro de um contêiner. Coisas assim eram simplesmente confusas.”
Reduzindo a carga cognitiva
Como o Red Hat Thomas Qvarnstrom, gerente de produto, e Sergei Egorov, vice-presidente de produto e engenharia da Docker, que co-criou o Testcontainers, escreveram em uma postagem no blog que reduzir a carga cognitiva dos desenvolvedores é a chave para aumentar sua produtividade. Eles fizeram referência a estatísticas de uma força de vendas que relatou que 76% das organizações em uma pesquisa relataram que a carga cognitiva dos desenvolvedores é tão alta que é uma fonte de baixa produtividade. Os contêineres de teste podem ser vistos como uma forma de reduzir a sobrecarga cognitiva e aumentar a produtividade, integrando o suporte de CI com a engenharia da plataforma, escreveram Qvarnström, e Qvarnström e Egorov. De acordo com o Gartner, até 2026, 80% das organizações de engenharia de software estabelecerão equipes de plataforma como fornecedores internos de serviços, componentes e ferramentas reutilizáveis para entrega de aplicativos.
“A Red Hat e a equipe Testcontainers da Docker formaram uma parceria para fornecer todo o poder dos Testcontainers no OpenShift, ao mesmo tempo em que aproveitam ao máximo a governança corporativa, segurança e conformidade, e a flexibilidade geral da plataforma”, escreveram Qvarnström e Egorov.
A postagem Docker Testcontainers agora disponíveis no OpenShift da Red Hat apareceu pela primeira vez em The New Stack.