I find the topic area of SDN and NFV a bit overwhelming in terms of information, particularly the NFV bit.
NFV is a really simple concept (network services packaged in VM format), what makes it complex is all the infrastructure you need around it.
However, even that’s reasonably easy to understand if you decompose the whole spaghetti mess into individual subsystems, analyze each subsystem so you understand what it does, and then see how it all fits together (for a more formal definition, see computational thinking).
I tried to go through the OPNFV Brahmaputra stuff but it leads down all sorts of alleyways, into OpenStack, Neutron, Tacker, the list appears endless.
NFV is nothing more than network services running in VMs. However, those VMs have to run on some infrastructure, and if you want to have dynamic infrastructure you need a cloud management system. If you want to have an open-source stack, you’d usually go for OpenStack on top of KVM.
The cloud infrastructure needs some underlying networking that allows you to glue together the NFV components. If you decided to use OpenStack, that would be Neutron.
Finally, you need a generic glue that will bring all the separate pieces together, and bring world peace, all the while spewing incredible amount of unicorn dust (seems like that beast is called Tacker).
I want to research SDN/NFV (and I guess by extension cloud) and see how I can apply these technologies to small ISPs.
Keep them separate. NFV is virtualized services. They usually run on some cloud infrastructure (so study how to build a cloud). SDN is mostly vaporware (apart from the automation/orchestration bit).
Well, maybe there are a few scenarios where you can use an SDN controller to implement traffic steering instead of stitching together VLANs (the traditional way of implementing traffic steering). On the other hand, I know people who successfully run large-scale NFV deployments on VLAN-based infrastructure.