![Edge AI e quantização de modelos para análises em tempo real](https://optimuscloud.com.br/wp-content/uploads/2024/01/1706061629_Edge-AI-e-quantizacao-de-modelos-para-analises-em-tempo-150x150.jpg)
Edge AI e quantização de modelos para análises em tempo real
23 de janeiro de 2024![Novo padrão de código aberto traz consistência aos webhooks](https://optimuscloud.com.br/wp-content/uploads/2024/01/1706063159_Novo-padrao-de-codigo-aberto-traz-consistencia-aos-webhooks-150x150.jpg)
Novo padrão de código aberto traz consistência aos webhooks
23 de janeiro de 2024Com a aquisição do AtomicJar na segunda-feira, o Docker terá uma maneira de permitir que os desenvolvedores testem seus aplicativos para uso em produção sem enviá-los por todo um pipeline de integração contínua (CI), proporcionando uma economia potencial de custos, mão de obra e tempo, a empresa reivindicações.
AtomicJar é a empresa privada que construiu o popular Contêineres de testeuma estrutura de teste de integração de código aberto que conecta desenvolvedores a instâncias leves e descartáveis de aplicativos em contêineres — como bancos de dados, navegadores e outros aplicativos — para testes de integração.
A ferramenta facilita ver como os aplicativos seriam executados em um ambiente de produção completo, incluindo como eles interagem com as dependências de suporte, incluindo outros aplicativos.
A empresa quer construir um conjunto de ferramentas para apoiar o que o CEO da Docker, Scott Johnston, chama de “loop interno do desenvolvedor”, permitindo que eles trabalhem em seus aplicativos tanto quanto possível antes de entregá-los a processos de CI/CD muitas vezes complicados e burocráticos. que são a etapa final antes de executar no modo de produção.
“O Docker, com seu destaque no Docker Desktop, está em uma posição única para reunir o melhor do local com o melhor da nuvem”, disse Johnston ao The New Stack.
Apesar do influxo de IDEs em nuvem, a maior parte do desenvolvimento ainda é feita nos laptops dos programadores. Mas em ambientes nativos da nuvem e baseados em microsserviços, testar o funcionamento de um aplicativo em um sistema composto em grande parte por dependências remotas pode ser um pesadelo de configuração ou até mesmo impossível.
Daí a popularidade dos Testcontainers.
DoorDash, Spotify, Uber e Netflix usam a tecnologia, que viu uma duplicação de pulls do Docker Hub em 2022 (de 50 milhões para 100 milhões). Atualmente, ele é baixado mais de 10 milhões de vezes por mês, o que o torna um dos projetos mais populares do hub.
“Depois de passar algum tempo com o projeto, ficou claro que faltava um equipamento de teste genérico na minha caixa de ferramentas”, escreveu defensora do desenvolvedor Kelsey Hightower, no serviço anteriormente conhecido como Twitter.
O que os testcontainers fazem
O engenheiro digital da Deloitte, Richard North, criou o Testcontainers em 2015. Testcontainers enfrentou o desafio dos testes de integração em ambientes distribuídos. O teste de integração garante que os componentes funcionem juntos como um sistema.
No entanto, conectar um novo software a um componente real do sistema pode ser doloroso, dada toda a configuração (e sincronização entre os ambientes de produção e de desenvolvedor) que precisaria ser feita.
Como alternativa, Testcontainers oferece uma biblioteca de aplicativos e bibliotecas que podem ser criadas rapidamente para replicar as características comportamentais desses aplicativos em um ambiente de produção, embora de uma forma que utilize muito menos recursos.
![](https://optimuscloud.com.br/wp-content/uploads/2024/01/1706061861_779_Docker-compra-AtomicJar-para-estimular-testes-de-integracao-liderados-por.png)
Imagem cortesia de AtomicJar
“Testcontainers permitem que os desenvolvedores testem e desenvolvam seu código em relação às dependências reais que usarão quando o aplicativo for lançado para uso”, Eli Aleyner, cofundador da AtomicJar, explicou certa vez ao The New Stack.
“Por exemplo, um desenvolvedor poderia escrever um teste que será executado com uma instância real do Kafka, MySQL ou qualquer outra tecnologia. Quando o teste for concluído, todas as dependências serão eliminadas. Isso permite que os desenvolvedores criem testes independentes, repetíveis e idempotentes que podem ser executados localmente ou no processo de integração contínua.”
Criar um contêiner Redis envolveria adicionar este código ao aplicativo principal:
var redis = new GenericContainer("redis:5.0.3-alpine") .withExposedPorts(6379);
Ao testar o aplicativo, as dependências seriam criadas como contêineres para os testes e excluídas quando o teste fosse concluído.
Testcontainers possui bibliotecas para .Net, Golang, Node e Java, bem como para várias outras linguagens. AtomicJar tem construído as imagens base para dependências populares, e os mantenedores do projeto também têm contribuído com suas próprias imagens Testcontainer.
Além dos Testcontainers principais, o AtomicJar também colocou em campo o Testcontainers Desktop e o Testcontainers Cloud, ambos os quais também serão incorporados ao ambiente Docker.
Como Testcontainers simplifica CI
Testcontainers devem se encaixar perfeitamente com as outras ferramentas de desenvolvimento de loop interno que o Docker apresentou na Dockercon em outubro. A empresa também lançou o Docker Scout (uma ferramenta de cadeia de suprimentos de software), a próxima geração do Docker Builds – que oferece a opção de construir imagens na nuvem – e o Docker Debug, todos parte do Docker Desktop.
“Agora os desenvolvedores podem construir um contêiner. Eles podem testá-lo localmente. Eles podem depurá-lo localmente” e repetir o processo conforme necessário, disse Johnston. “Os desenvolvedores não precisam montar scripts, eles não precisam hackear a CI no pipeline. Eles podem resolver problemas e obter feedback localmente. E se você resolver um problema logo no momento da criação, será muito mais barato do que resolvê-lo em CI ou resolvê-lo posteriormente na produção.”
A equipe atual do AtomicJar se juntará ao Docker e continuará trabalhando no software, enquanto o Docker apresentará o software a seus milhões de usuários do Docker Desktop.
Esta é a sétima aquisição da Docker desde 2019. Os termos do negócio, que envolveu uma combinação de capital e dinheiro, não foram divulgados.
A postagem Docker compra AtomicJar para estimular testes de integração liderados por desenvolvedores apareceu pela primeira vez em The New Stack.