Infra as Code e DevOps

Recentemente durante uma reunião em um cliente, me veio uma importante questão sobre Infra-structure as Code: de quem é a responsabilidade de criar/editar o código da infra-estrutura? Desenvolvedores? Operadores?

No cenário deste cliente ainda existe uma particularidade: toda a parte de serviços é terceirizada, da gestão da infra ao desenvolvimento de software, tudo terceirizado.
Então surgiu a seguinte pergunta: “Quem irá ser o responsável por “codificar” a infraestrutura?”

De imediato o gerente da área de qualidade, que não é terceirizada, disse que a responsabilidade seria deles. Contudo era uma decisão precipitada, porque existem aspectos que os desenvolvedores que definem. Todos entenderam o problema e ficaram na dúvida, mas a princípio resolveram que os desenvolvedores irão descrever o que precisam e área de qualidade irá “codificar” a infra.

Eu realmente não sei se vai funcionar. Se for de uma maneira colaborativa, aí tudo bem. Mas se for um processo burocrático de requisição/requisito de um lado, e implementação do outro, não vai dar certo. O cenário atual deles é de muita desconfiança deles com os terceiros. O nível de qualidade das entregas é baixo, e processo é totalmente caótico. Uma das metas do projeto atual é conseguir colocar o processo de entregas sobre controle. Esse cenário influencia nessa decisão. Contudo é um início, é preciso experimentar e adaptar.

Eu acredito que quando existe uma separação muito forte entre dev e ops, é impossível escrever de maneira confiável a infra-estrutura em código. Se ficar na mão somente do dev vai faltar alguma configuração de infra, se ficar na mão somente do ops, é bem provável que a aplicação não vai implantar corretamente.

Infra as Code é realmente uma disciplina para ser realizada com DevOps, tem que ser um trabalho colaborativo entre as duas áreas, ou então existir um Dev que sabe muito de Ops, ou um Ops que sabe muito de Dev rsss :-)

Enfim, qual a opinião de vocês??

PS.: DevOps vai muito além do Dev e do Ops. Minha tese é que para implantar Infra as Code, DevOps é um pre-req, se não obrigatório, muito desejável.