Using IPSEC tunnels over the internet is the most cost effective and simple option and can be a good solution in use cases where:
1) You have an application that is not latency sensitive.
2)You are not transferring large amounts of data over the VPN tunnel.
3)You are only connecting 1Data Centre to 1 or 2 Public Cloud Data Centres.