O que é Infraestrutura como Código?

Infraestrutura como Código é:

A infraestrutura como código (IaC) permite que uma empresa automatize seus métodos de provisionamento para dimensionar a nuvem de maneira eficiente, economizando tempo e dinheiro.

IaC

Infraestrutura como Código permite que as empresas controlem com mais eficiência as mudanças e configurações em um ambiente de nuvem. A ideia por trás do IaC é trazer práticas encontradas no DevOps que permitem que desenvolvedores e operações trabalhem mais de perto na implantação de máquinas virtuais, nas redes virtuais que são construídas em torno delas e na aplicação dentro delas.

Imperativo vs. declarativo

Uma das decisões sobre como alavancar IaC é esta: Você deseja fazer alterações em seu ambiente com automação imperativa ou declarativa? A maior parte do IaC é de natureza declarativa. Aqui está uma maneira simples de olhar para isso: imperativo vs. declarativo é a diferença entre como o programa deve operar e o que o programa precisa realizar.

Para fazer alterações imperativas de automação em sua infraestrutura, você pode usar uma Interface de Linha de Comando (CLI), que direciona as alterações para a nuvem primeiro dentro de um contêiner, depois máquina virtual (VM) e, em seguida, nuvem privada virtual, fazendo essas alterações listadas em ordem por meio de um script. Esta é uma lista de verificação detalhada, mas se a configuração precisar ser alterada após o envio para várias máquinas, as etapas e o script deverão ser refeitos.

Uma abordagem de automação declarativa requer metas de criação. Por exemplo, em vez de usar a CLI e listar passo a passo a configuração exata para uma VM, você simplesmente declararia que deseja uma VM com, digamos, um domínio anexado e, em seguida, deixe a automação assumir o controle. A abordagem declarativa permite definir mais facilmente o que precisa ser realizado pelas ferramentas de automação.

Mutável vs. imutável

O desvio de configuração é um grande problema em relação à configuração de toda e qualquer parte da infraestrutura. Isso ocorre quando a infraestrutura mutável está em vigor. Mutável significa que está sujeito a mudanças. Como uma parte da infraestrutura muda, ela fica fora de sincronia com o resto. O que é decididamente importante em relação à segurança é que uma aplicação consistente de configurações deve ser implementada em toda a infraestrutura.

Uma infraestrutura imutável significa, por definição, que não pode ser alterada depois de implantada. Isso não significa que as mudanças não ocorrerão. Em vez disso, as alterações são feitas nas declarações declarativas originais. Assim que as alterações estiverem prontas, todos os dispositivos ou configurações semelhantes podem ser alterados de forma consistente. A consistência é necessária do ponto de vista da segurança, porque os hackers precisam apenas de uma porta aberta para entrar. Fechar todas as portas da mesma forma complica as coisas para o hacker.

Devops

O desenvolvimento, o teste e a implantação de aplicações em um ambiente de produção geralmente requerem que os desenvolvedores aguardem a produção ou vice-versa. Se os desenvolvedores puderem solicitar contêineres ou máquinas virtuais com o mesmo nível de estabilidade que é aplicado ao código por meio de uma solicitação automatizada, então será possível um deploy mais tranquilo e rápido, sabendo que a configuração da rede e da máquina virtual é feita por meio de um sistema controlado. Melhor ainda: versionamentos são mais fáceis de rastrear.

Tópicos de Segurança em Nuvem