Em um projeto de desenvolvimento de software, a equipe de análise de sistemas está debatendo a utilização de containers para a implantação da aplicação. Quais as duas principais vantagens da utilização de containers nesse contexto?
- A)Simplificação do processo de desenvolvimento e aumento do consumo de recursos.
Errada, porque containers não aumentam o consumo de recursos; ao contrário, tendem a economizá-los.
- B)Melhoria da portabilidade da aplicação e aumento da eficiência no uso de recursos.
Certa, pois containers melhoram a portabilidade da aplicação e usam os recursos de forma mais eficiente.
- C)Aumento da dependência de plataformas específicas e facilitação da gestão de dependências.
Errada, porque containers reduzem a dependência de plataformas específicas e facilitam, em vez de complicar, a gestão de dependências.
- D)Redução do tempo de desenvolvimento e aumento da complexidade da infraestrutura.
Errada, pois containers geralmente reduzem a complexidade operacional da implantação, não aumentam.
- E)Redução da necessidade de testes e aumento do acoplamento entre os componentes da aplicação.
Errada, porque containers não dispensam testes e também não aumentam o acoplamento entre componentes; a tendência é isolar melhor os serviços.
Gabarito: B
Containers são uma forma de empacotar uma aplicação com tudo o que ela precisa para rodar: código, bibliotecas e configurações. A grande sacada é que o container compartilha o kernel do sistema operacional, então ele é mais leve que uma máquina virtual e costuma subir bem rápido. Isso ajuda muito em desenvolvimento, testes e implantação, porque o ambiente fica mais previsível e menos sujeito ao famoso "na minha máquina funciona". No contexto da questão, as duas vantagens centrais são a portabilidade e a eficiência no uso de recursos. A portabilidade existe porque o mesmo container pode ser executado em diferentes ambientes que suportem a tecnologia, reduzindo diferenças entre desenvolvimento, homologação e produção. Já a eficiência vem do consumo menor de CPU, memória e armazenamento, justamente por não precisar de um sistema operacional completo para cada instância. Em termos doutrinários, essa é a lógica clássica da virtualização por conteinerização: isolamento de processos com menor overhead. Não há uma lei específica sobre isso, porque estamos falando de tecnologia de infraestrutura, mas o conceito é amplamente aceito na literatura de sistemas operacionais e computação em nuvem. Por isso, o gabarito é a letra B. Ela traduz exatamente o que se espera de containers em projetos de software: aplicação mais portátil e melhor aproveitamento dos recursos disponíveis. É o combo que agrada tanto a equipe de desenvolvimento quanto a infraestrutura.