This document discusses software defined networks and network function virtualization. It begins by outlining types of network traffic such as elastic and inelastic traffic. It then discusses increasing demands for data from big data, cloud computing and mobile traffic. It introduces quality of service and quality of experience metrics for networks. The document then describes software defined networking which separates the control plane and data plane to better manage traffic flows. Finally, it outlines network function virtualization which decouples network functions from hardware to allow them to run as software on standard servers.