Existe algum padrão / especificação mais ou menos neutro em relação ao fornecedor para o idioma de configuração de rede? Digamos, uma VPC com redes e máquinas virtuais se tornaria um arquivo XML ou JSON.
Algo como,
<deployment>
<vpc name="Test">
<appliances>
<vm id="1" />
</appliances>
</vpc>
</deployment>
network
architecture
J. Doe
fonte
fonte
Respostas:
YANG é a resposta aqui. Para citar o RFC8345, que define o YANG:
Protocolos como o NETCONF podem usar o YANG para representações de configurações de rede.
fonte
O Terraform da Hashicorp possui uma linguagem de configuração neutra em relação ao fornecedor (mas não magnética). Os VPCs da AWS são parecidos com:
fonte
O Ansible pode ser usado para construir (parte de) uma rede como código. Ele usa a sintaxe YAML e pode ler JSON.
Existem funções ansíveis existentes para os equipamentos dos principais fornecedores, e você pode criar suas próprias funções.
Porém, as funções existentes nem sempre são atualizadas, como a escrita e a manutenção, as suas próprias podem consumir tempo.
fonte
Para os VPCs da AWS especificamente, você pode usar o CloudFormation para gerar um arquivo de "configuração", que pode ser usado para recriar o VPC e todos os componentes relacionados. Eu acredito que está no formato JSON.
Para redes em geral, não existe. Descubra como fazer isso e você pode se aposentar confortavelmente.
fonte