Virtual Private Network (VPN) is, basically, building your own private network on a common infrastructure or platforms such as Internet, MPLS, or any other common infrastructure. VPN is a cost effective build of your own network to connect to your two or more sites to have interconnection for data, voice, and multimedia requirements.
Virtual Private Network (VPN) could be achieved in many ways depending on underlying platforms. If you are using IP/MPLS to build your VPN, then you can use VRF (Virtual Routing and Forwarding) functionality to separate your network in a common core network. You may use multiple access technologies to connect to the core from your site like GE (Gigabit Ethernet, Fast Ethernet, DSL, VDSL, XDSL, and Private Leased Lines etc).
At the same time, you can use the public internet too to create VPN to connect your sites by establishing an end to end encrypted secure tunnel between them. This is basically encrypting your communication with secure keys in the public internet so that it won’t be read or understood by public users without knowing the encryption keys. This is the cheapest way of establishing a VPN while giving a quality of service (QoS) and also, the class of service (CoS) for your services are best effort whereas, in MPLS, you can control your QoS and CoS.