Network Fabric Management Overview
MetalSoft is capable of of automatically deploying complex network configurations on a multitude of switch brands including Cisco, Juniper, Dell, Cumulus, HP and others.
Intent-based approach
Section titled “Intent-based approach”The approach that MetalSoft Fabric Manager takes is “intent-based” in the sense that the “consumer” fully describes the desired network “services” and topology and the system then translates those into actual switch and OS configurations, based on “admin” or “provider”-defined “policies”. This approach helps network admins offload some of the day-to-day operational changes to other users or systems and enables cloud-like consumption of physical infrastructure.
The user defines the “intent” via the Infrastructure Designer, the CLI, Terraform, Ansible or the API.
Vendor abstraction
Section titled “Vendor abstraction”Another important concept in MetalSoft is vendor and sometimes technology abstraction. We operate largely with cross-vendor concepts such as a “distributed link aggregation” instead of vendor specific terms such as MLAG or VLT.
The advantage of this approach is that the network operators can safely use multiple vendors at the same time, make transitions between them etc, ultimately improving the cost-effectiveness of the data center.
Concepts
Section titled “Concepts”MetalSoft uses several important concepts:
-
Fabrics These capture the behaviour and settings of a group of endpoints. Fabrics typically configure the switches and other devices it “manages” but may also be “unmanaged” in the sense that they track IP and VLAN allocation to endpoints but do not actually configure anything on network equipments such as switches. There are multiple types of fabrics: Ethernet, Infiniband, Fiberchannel.
-
Infrastructures
This is a multi-tenancy construct similar to a “VPC” in which a tenant-specific network blueprint is defined. It defines a security boundary and informs the system not just about endpoint and logical network ownership but also about when to allocate separate VLANS or VNIs and when not.
-
Logical Networks
Logical Networks are an abstract concept on top of a Fabric that reflects the intent of connecting
endpoints,servers,VMs,storage drivesetc. to each other or with outside world.The implementation of a
logical networkdepends on the underlying Fabric and other configurations. For example, in the case of Ethernet fabrics it typically maps to a separate OSI Layer 2 network, usually implemented with a different VLAN ID and one or more IPv4 and IPv6subnetsout of which IPs are allocated to the connected endpoints.Logical networksare typically created fromLogical Network Profiles. -
Logical Network Profiles
Logicla Network Profilesact as templates for creatingLogical Networks. Instead of creating a logical network for each user, admins simply define a Logical Network Profile and then users create networks based on this template, without admin’s intervention. Anetwork profileis created on a specificfabric. Differentfabrictypes will have differentnetwork profiles.An ethernet
network profilecan have:- a VLAN entry for which a VLAN ID can be manually or automatically allocated from the range speficied on the underlying fabric’s settings.
- a VNI can also be specified which can be either manually or automatically allocated from the range specified in the fabric settings.
- a set of IPv4 subnets from which IPs are allocated to endponts (if multiple subnets are specified an IP from each will be allocated)
- a set of IPv6 subnets from which IPs are allocated to endpoints (if multiple subnets are specified an IP from each will be allocated)
- An external connection. If specified the logical network will be connected to the external connection.
An infiniband network profile can have:
- A pkey that can be either manually or automatically set from the range of PKEYS configured on the Fabric.
A fibrechannel network profile can have:
- A FCID that can be either manually or automatically set from the range of FCIDs configured on the Fabric
-
Subnets
Subnets are Ipv4 or IPv6 prefixes from which either individual IPs or other smaller subnets are allocated to satisfy the need for IPs of a particular
logical networkin the context of aninfrastructure. Multiple subnets will be allocated if the subnet pools are listed in the network profiles VLAN/VNI entries. -
Endpoints
We use endpoints to define a network device connected to one or more ports in the network
-
Connection A connection between an endpoint and a logical network is customized via the settings on a
connection. This defines:- Tagged/untagged
- Link aggregation type: single device link aggregation, distributed link aggregation (MLAG, MCLAG, VLT etc.)
- MTU
-
Sites
A site is basically a physical location, usually a single datacenter. A site can have one or more
Fabrics.