This document provides an overview of the key components of network virtualization solutions. It begins with an introduction and agenda. The main body then discusses the following key components: decoupled control and data planes using SDN protocols like OpenFlow; a centralized network controller that maintains topology information; northbound programmatic APIs; virtualized network services like firewalls and load balancers; and the use of encapsulation protocols to provide network traffic isolation. It concludes with a brief introduction to VMware NSX as an example implementation of network virtualization.