Linguagem abstrata para descrever implantações de rede?


8

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>

Não, na verdade não. O problema é que nem todo fornecedor suporta tudo, e todos eles fazem isso de maneira diferente. Esse é um objetivo há muito tempo, mas provou ser muito difícil. De qualquer forma, VPCs e VMs estão fora de tópico aqui.
Ron Maupin

Deseja documentar a rede ou usá-la como fonte de dados para automatizar a configuração da rede?
JFL

@JFL idealmente, ambos
J. Doe

Respostas:


10

YANG é a resposta aqui. Para citar o RFC8345, que define o YANG:

Este documento define um modelo de dados YANG abstrato (genérico ou básico) para topologias e inventários de rede / serviço. O modelo de dados serve como um modelo base que é aumentado com detalhes específicos da tecnologia em outros modelos de dados de inventário e topologia mais específicos.

Protocolos como o NETCONF podem usar o YANG para representações de configurações de rede.


4

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:

resource "aws_vpc" "Test" {
  cidr_block       = "10.0.0.0/16"
  instance_tenancy = "dedicated"

  tags = {
    Name = "Test"
  }
}

3

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.


3

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.