One of the most interesting solutions I have been working on recently is a vCD project where the customer has decided to use an alternative to vCNS (vCloud Networking and security). I can not name the product they want to use as an alternative but for the discussion inside this blog I think the principle applies to most third party products.
The first thing I asked the customer was why do you not want to use vCNS? The answer was quite simply that there security department doesn't see the vCNS firewall as secure. When asking for a bit more detail we were not provided with anything credible in my view. One of the main problems they communicated as an issue is that the appliances are deployed on demand and are all applied with the same default password. (this can be changed after the appliance is deployed) Anyhow this is not the aim of my blog, to detail my customer problems, and so we were asked to use an virtual firewall that they already use.
Now the first thing I needed to comunicate to the customer we that we HAVE to install vCNS manager, this is a requirement of vCD and all network related instructions are sent to vCNS. This includes port group creations for vCD networks. I also needed to point out to the customer we will be using VXLAN and vCNS is used in securing multitenancy within the VXLAN.
So once we had cleared all the above and it was agreed that there was no way we could push the customer back to using vCNS we looked at the use cases and the limitations that would be imposed.
First lets break down what not using vCNS removed from vCD.
- Limits the use of OrgvDC networks, we can't create a routed or an isolated OrgvDC network with IP addressing ranges specified. - When creating a network with an IP range a vCNS appliance is applied to the networks corresponding dVportGroup. This is to assign DHCP.
- We can't create any vApp networks with routed connections.
- Networks and network services configuration is no longer made visible to vCD. This restricts what we can do for network service creation when using vCD.
- No vCO plugin for any third party software defined networking service.
- No Charge Back monitoring for any Network elements, usage of bandwidth, IP addresses and network services such as firewall rules and NAT rules.
So how did I design around this?
- The customer was given two options of how to manage IP addressing inside the vCD networks. a) Was to use there third party firewall appliance, b) Was to use a vCO workflow to populate the IP address of the VM's in the vApp from there IPAM system.
- We had to place an extra VM in the vApp. This extra VM is the firewall VM and because vCD just thinks this is another VM it creates it in the users OrgvDC and uses the resource provisioned to the user/Organization. If this was vCNS the appliances are provisioned in the SYSTEM resource pool and do not impact the users resource allocation.
- The IPAM system and the firewall VM has no integration with vCD and this particular firewall vendors API is not very good. So using vCO to talk to it is a challange. This gives the customer another system to monitor and manage as we cant pull any information from either of these systems.
- We can try and develop a vCO plugin, most of the plugin's are developed by VMware but the limitation of this firewall vendors API presents a big challenge and my customer is not going to pay for a plugin development.
- We can add a fixed cost for the VM in CBM and charge a fixed amount each month. We can monitor bandwidth but not in the same way we can with a vCNS appliance.
With the release of NSX in the not so distant future I hope people start to see VMware network virtualization as a more credible technology.
So if you get asked this question I hope this post can give you some food for thought on the impact and the design considerations/constraints it will impose.