Para quem desenvolve softwares conhece o desafio de portar aplicativos em diferentes sabores de Linux e ambientes de provedores de Cloud Computing. A virtualização de servidores atende as necessidades do pessoal da operação, porém não facilita a vida dos desenvolvedores que precisam conviver com diferentes padrões. A tecnologia de containers, que não é nova, está resolvendo o problema e aumentando a produtividade das equipes de desenvolvimento e operações. Permite melhores soluções de DRP (Disaster Recovery Plan) e migrações de provedores de Cloud Computing. Facilita, inclusive a contratação de desenvolvedores com experiência em diferentes instalações.
A Google usa maciçamente containers, em 2014 criavam mais de 2 bilhões de containers por semana. A Google desenvolveu sua versão para container, um open source chamado lmctfy. Um player importante no mercado de container é o Docker, disponíveis nos provedores de Cloud Computing, inclusive no Azure Linux.
Um desafio dos containers é a segurança. Entretanto, pode ser contornado com o uso de virtualização que pode proteger os ambientes operacionais de acesso direto por falha de segurança do container. Outro desafio que deve ser ultrapassado é a escalabilidade.
Por essas razões podemos considerar que as tecnologias de containers e virtualização são complementares e não concorrentes, pelo menos nesse momento. A Red Hat e Ubuntu já possuem soluções de segurança implementadas.
O Ubuntu suporta o Puppet, ferramenta open source de gerenciamento de configuração de ambientes, no Docker, facilitando a criação e gerenciamento de novos containers.
A adoção de um software pelo mercado cria um padrão de fato que permite mais produtividade e flexibilidade para selecionar provedores de Cloud Computing e ambientes de software para instalações on-premise.