No atual mercado de TI tem se escutado muito em entrega contínua (continuous delivery), metodologias ágeis, PaaS, IaaS, DevOps e etc.
Quando se trabalha em infraestrutura o paradigma é muito grande referente a essas metodologias, já que normalmente o cara de TI (infra) é o “roda presa”, pois ele sempre é cobrado por manter os sistemas seguros, disponíveis, com alto desempenho, etc, etc e etc.
Com isso, no final das contas, é o cara que fala sempre “não” e, além disso, gosta de ter o “controle” da situação.
Se adaptando ao cenário atual:
Hoje, os desenvolvedores falam que o PaaS é o ideal para desenvolvimento de software e eu acho que realmente é. Pois além de ter a infraestrutura pronta para desenvolver o software, os sistemas de automação estão prontos no mercado e o custo para “implantação” é praticamente 0.
Mas e na produção, será que é? Será que as estruturas de PaaS estão prontas para suportar grandes sistemas e suprir os pilares da Governança de TI (disponibilidade / desempenho / segurança / etc)? E se meu cliente não querer o PaaS?
Acabou a agilidade? Assim eu não vendo?
Com isso, vem a necessidade da mudar forma de entrega do setor de TI, buscando agilizar o seu processo e tornando menos trabalhoso o as questões de instalações, configurações, atualização e gestão do ambiente.
A TI deve ter o poder de prover uma infraesutrutra parecida com as ferramentas disponíveis no PaaS, onde o desenvolvedor consiga “deployar” seus softwares de forma contínua em uma infraestrutura tradicional ou em algum IaaS.
Com isso, conseguiríamos suprir a necessidade tanto da Governança de TI como das metodologias ágeis.
Legal né! Mas como fazer isso?
Pense em um ambiente onde temos um cluster 50 de servidores para responder a sua aplicação. Imagina agora que você tem que atualizar a versão do software ou então adicionar um parâmetro de configuração nesses 50 servidores tudo ao mesmo tempo para não ter a disparidade entre máquinas.
Usar ferramentas como Puppet e CHEF são essênciais para a continuidade e controle do ambiente através da estabilidade dos processos configuração, instalação, deploy contínuo, entre outros. A utilização dessas ferramentas devem manter o seu parque de servidores configurados de forma homogênea para a produção.
Muitos podem falar, da para fazer um SHELL SCRIPT para isso, porém esse tipo de solução não escala devido a diversidade de plataformas/kernels que podem estar presentes em um ambiente/cluster.
A grande sacada é: eu consigo ter uma infraestrutura ágil em qualquer ambiente, seja ela Pass, IaaS ou servidores físicos e independente do fornecedor que você esta utilizando.
Postado originalmente aqui.